-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Management protocol incompatibilites due to version numbers #447
Comments
Self assigning to myself, if someone else wants to work on this, please advice. |
I'm slowly working on this, here are some thought. If a message comes from an incompatible protocol version, the reply is assumed to be an error. In order to distinguish if the error comes from a low level problem (e.g., a network error) or a protocol version mismatch, a new exit code must be introduced. In other words, When |
I don't think we should spend too much time on this, as we know that the next version will be 2.0 which will break everything in I/O layer and management layer as well. 2.0 will use a JSON based message format, where the header will have the client side version, and the response will have the server side version. Then we can look at what we can do for each message type. Having a simple JSON format as the core of the management layer will allow us to make changes quicker even though there is a larger overhead compared to the existing binary protocol |
Ok, I'll postpone this work to the new JSON infrastructure. |
Now that the
pgagroal-cli
and friends send the application version andpgagroal
answer with its version number (see work in #392 ), it is possible to make the management protocol to raise an error if the version numbers between sides are incompatible.Surely incompatibilities must be raised between major versions, while it can also be added for minor versions as well.
The text was updated successfully, but these errors were encountered: