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 > > >
