For me "compatibility level" looks like a complex and dangerous concept.

It really must be enough to have versioned protocol, when newer protocol
fully understands older ones. And there is no need to store the protocol
version
with each object, because it must be enough to send it on handshake
and store it to persistent storage metadata.

The only issue here is that we are trying to marshal messages only once
during a broadcast while with this approach we must make sure that
such a reuse of bytes happens only when protocol is the same for all nodes
or we must group receiver nodes by protocol version.

Sergi


2015-09-30 12:03 GMT+03:00 Yakov Zhdanov <yzhda...@apache.org>:

> >> 6) Node A restarts and meets unknown B-protocol.
>
> 6.1 Node A throws exception on start
> 6.2 Or node A invalidates persistent store (ignores the prev state)
> 6.3 Or user should have ability to specify converter somehow. Converter
> logic should be provided with release of new protocol (with more recent
> versions) so user can plug it in to older versions.
>
> Thoughts?
>
> --Yakov
>

Reply via email to