teabot opened a new issue, #17260: URL: https://github.com/apache/pulsar/issues/17260
### Search before asking - [X] I searched in the [issues](https://github.com/apache/pulsar/issues) and found nothing similar. ### What issue do you find in Pulsar docs? Pulsar, like many other distributed systems, is able to achieve scalability by off-loading some responsibilities to clients. This means that many features will include some client component, often non-trivial. For example, in the case of delayed delivery, or DLQs, it is the client's responsibility for handing off messages to the appropriate topic. This results in complex client behaviours. Each time a new client is implemented, these behaviours must be implemented faithfully, to ensure a consistent feature experience in the Pulsar ecosystem irrespective of client language. However, no single resource exists that describes these client responsibilities in an accessible manner and so client implementation, or even understanding features, requires delving through the Java client code. This problem is compounded by [incomplete protocol documentation](#17258). ### What is your suggestion? We should write a **client specification** document that is a companion to the [binary protocol specification](https://pulsar.apache.org/docs/next/developing-binary-protocol/). This should capture any non-trivial client-side behaviours that form a component of a Pulsar feature. ### Any reference? _No response_ ### Are you willing to submit a PR? - [X] I'm willing to submit a PR! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
