-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Stable interfaces #3858
Stable interfaces #3858
Conversation
Can you explain in the PR on
An example of the PR explanation is #3856. A good PR description can help people to better understand the implementation. |
I can follow up with more design details. For now this is a work in progress draft PR |
…table_interfaces
27c5d4d
to
6d3813d
Compare
@fdb-build test this please |
Implements "stable interface" idea Andrew began here to allow processes with differing protocol versions to communicate their protocol versions with each other. This commit adds a stable
ProtocolInfoRequest
endpoint that can be used to get a processes' protocol version across protocol versions. Later, this endpoint can be used in the Multi-version client, for example, to only run clients which are compatible with the server.This commit also adds/modifies simulator code necessary to test the stable endpoint idea. This involves adding a new mapping in
Sim2
which maps process to protocol version, modifying calls tosimulatedFDBDRebooter
to start one process with a specified protocol version, and adding an option in test files to modify the protocol version.Currently, this commit only supports testing one process with a different protocol version.
#3966