Hi Pulsar Community,

In talking with Zike Yang on
https://github.com/apache/pulsar/pull/19540, we identified that it
would be helpful for the proxy to forward its own version when
connecting to the broker. Here is a related PIP to improve the
connection information available to operators.

Issue: https://github.com/apache/pulsar/issues/19623
Implementation: https://github.com/apache/pulsar/pull/19618

I look forward to your feedback!

Thanks,
Michael

Text of PIP copied below:

### Motivation

When clients connect through the proxy, it is valuable to know which
version of the proxy connected to the broker. That information isn't
currently logged or reported in any easily identifiable way. The only
way to get information about the connection is to infer which proxy
forwarded a connection based on matching up the IP address in the
logs.

An additional change proposed in the implementation is to log this new
information along with the `clientVersion`, `clientProtocolVersion`,
and relevant authentication role information. This information will
improve debug-ability and could also serve as a form of audit logging.

### Goal

Improve the value of the broker's logs and metrics about connections
to simplify debugging and to make it easier for Pulsar operators to
understand how clients are connecting to their clusters.

### API Changes

Add the following:

```proto
message CommandConnect {
     // Other fields omitted
    optional string proxy_version = 11; // Version of the proxy.
Should only be forwarded by a proxy.
}
```

### Implementation

Initial implementation: https://github.com/apache/pulsar/pull/19618

### Alternatives

The `CommandAuthResponse` has a `client_version` field. It's possible
that someone would want this `proxy_version` field on that message.
However, I think we should not continue down the path of duplicating
fields in the connection handshake protocol.

### Anything else?

Future work could include exposing this `proxyVersion` and
`clientVersion` information via Prometheus metrics.

Reply via email to