Sure, we should maintain wire compatibility whenever possible.

Below is a commented about ratis 2.0.0 copied from
https://github.com/apache/ozone/pull/1763#issuecomment-756092110

- ratis-1.0.0 was released on Wed Jul 8 15:09:29 2020:
- The first incompatible change after ratis-1.0.0 was committed on Wed Sep
16 13:31:28 2020 (07543a4)

For compatibility, create branch-1.1 to include everything up to 07543a4,
exclusively. We can release ratis-1.1.0 from branch-1.1 in the future.
Applications using ratis-1.0.0 can upgrade to ratis-1.1.0 without any
compatibility issues.

Then, change the ratis version in master to 2.0.0-SNAPSHOT. We will release
ratis-2.0.0 from the master. Applications (such as Ozone) like to change
their code to address the incompatible changes can move to ratis-2.0.0.

Also, Ozone can keep using the ratis snapshots (i.e. this pull request)
from master as before.

Thanks
Tsz-Wo

On Fri, Jan 15, 2021 at 1:51 AM Arpit Agarwal <[email protected]>
wrote:

> Do we have a list of incompatible changes? Ratis is used as a dependency,
> so we cannot break compatibility in a minor release.
>
> It is especially troublesome if there is wire incompatibility i.e. older
> client cannot talk to newer server or vice versa. Wire compatibility should
> be preserved even across major versions.
>
> On Fri, Jan 8, 2021 at 1:03 AM Elek, Marton <[email protected]> wrote:
>
> >
> > If Ozone is updated to the latest master, I am not interested to cut the
> > 1.1 and do 1.1 release.
> >
> > We need Ratis 2.0 release in this case for Ozone 1.1.
> >
> > Is there anything pending to the master which should be merged before
> > the first 2.0 RC based on the master?
> >
> > Anybody volunteering to create RC / do RM work?
> >
> > Thanks,
> > Marton
> >
>

Reply via email to