After some offline discussion with Piotr we discovered two issues: 1. The gradle avro plugin we use needs a specific version of Avro in each of his versions, so we would need to use different versions of the plugin to generate the Avro objects for our tests with each version, because the generated objects are not compatible if they have dates on it (because of the removal of joda-time).
2. There is an Avro test class we depend on to generate random data in our tests that it is in a different package in recent versions of Avro so we will probably need to detect this or move the class into Beam (maintenance should not be hard for that class). Both annoyances happen also with Avro 1.9, at least it seems that once we have compatibility with 1.9 we will get 1.10 'for free'. On Thu, Dec 3, 2020 at 6:29 PM Brian Hulette <[email protected]> wrote: > > > > On Thu, Dec 3, 2020 at 1:02 AM Piotr Szuberski <[email protected]> > wrote: >> >> > A softer approach would be to let it as it is (1.8) and document >> > explicitly that we check upwards compatibility with 1.9 and suggest >> > users to explicitly override the version if required. >> >> Ok, thanks! I think it's the better option. >> >> >> > I have not followed your work on the compatibility tests but I am >> > curious what is the issue with Avro 1.10? >> >> AFAIR Avro 1.10 completely removes the support for joda time and for now >> Beam makes use of both Avro time interfaces (one of which is removed in 1.10) > > > Could you file a jira for this (if we don't have one already)?
