Skip to content
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

Unknown node version should be a lower bound #6894

Closed
s1monw opened this issue Jul 16, 2014 · 1 comment · Fixed by #6905
Closed

Unknown node version should be a lower bound #6894

s1monw opened this issue Jul 16, 2014 · 1 comment · Fixed by #6905

Comments

@s1monw
Copy link
Contributor

s1monw commented Jul 16, 2014

Today when we start a TransportClient we use the given transport addresses and create a DiscoveryNode from it without knowing the actual nodes version. We just use the Version.CURRENT which is an upper bound. Yet, the other node might be a version less than the currently running and serialisation of the nodes info might break. We should rather use a lower bound here which is the version of the first release with the same major version as Version.CURRENT since this is what we officially support.

We changed the format of the NodesInfo serialisation today and BWC tests broken on that. Yet we found a away to work around changing it but in the future we should be able to change transport protocol even if it's NodesInfo

Note: this is not a problem until today but in the future this might prevent us from enhancing the protocol here.

@s1monw s1monw self-assigned this Jul 16, 2014
@uboness
Copy link
Contributor

uboness commented Jul 16, 2014

FYI, @javanna did some work around this one

@s1monw s1monw removed the blocker label Jul 17, 2014
s1monw added a commit to s1monw/elasticsearch that referenced this issue Jul 18, 2014
Today when we start a `TransportClient` we use the given transport
addresses and create a `DiscoveryNode` from it without knowing the
actual nodes version. We just use the `Version.CURRENT` which is an
upper bound. Yet, the other node might be a version less than the
currently running and serialisation of the nodes info might break. We
should rather use a lower bound here which is the version of the first
release with the same major version as `Version.CURRENT` since this is
what we officially support.

This commit moves to use the minimum major version or an RC / Snapshot
if the current version is a snapshot.

Closes elastic#6894
s1monw added a commit that referenced this issue Jul 18, 2014
Today when we start a `TransportClient` we use the given transport
addresses and create a `DiscoveryNode` from it without knowing the
actual nodes version. We just use the `Version.CURRENT` which is an
upper bound. Yet, the other node might be a version less than the
currently running and serialisation of the nodes info might break. We
should rather use a lower bound here which is the version of the first
release with the same major version as `Version.CURRENT` since this is
what we officially support.

This commit moves to use the minimum major version or an RC / Snapshot
if the current version is a snapshot.

Closes #6894
@s1monw s1monw added v1.4.0 and removed v1.3.0 labels Jul 18, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants