You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by Enrico Olivelli <eo...@apache.org> on 2017/12/15 08:45:50 UTC

Compat Tests for 4.5 and 4.6 and EOL of old releases

Hi guys,
we need to address this issue, that is to introduce compat test for 4.5 and
4.6 and possibly drop legacy versions.

This is very important for us and for our time based release plan.


Does anyone have cycles for this ?

I have some idea but not enough time to implement the full stack, I will be
happy to help.

The best thing would be to drop the shaded/relocated dependencies and run
old code in separate classloaders, this in turn will require some tricks to
download the jars will all the needed dependencies. Even the "current code"
will need to be loaded in a separate classloader.

An alternative approach would be to start bookies in a different process
but for the client side part it won't work so simply, in fact it won't be
simple to run the old client, or at least we will have to create separate
modules with different classpath for each client version.


It is a blocker for BP-14 (and BP-18) as well, as we need to introduce BC
compat tests against latest versions.
It is a blocker for any other improvement on protocol and metadata

Enrico

Re: Compat Tests for 4.5 and 4.6 and EOL of old releases

Posted by Ivan Kelly <iv...@apache.org>.
+1 for getting rid of that shading stuff. Those tests are unreadable
at the best of times.

+1 for arquillian, looks awesome.

On Fri, Dec 15, 2017 at 10:21 AM, Enrico Olivelli <eo...@gmail.com> wrote:
> 2017-12-15 10:19 GMT+01:00 Sijie Guo <gu...@gmail.com>:
>
>> On Fri, Dec 15, 2017 at 12:45 AM, Enrico Olivelli <eo...@apache.org>
>> wrote:
>>
>> > Hi guys,
>> > we need to address this issue, that is to introduce compat test for 4.5
>> and
>> > 4.6 and possibly drop legacy versions.
>> >
>> > This is very important for us and for our time based release plan.
>> >
>> >
>> > Does anyone have cycles for this ?
>> >
>> > I have some idea but not enough time to implement the full stack, I will
>> be
>> > happy to help.
>> >
>> > The best thing would be to drop the shaded/relocated dependencies and run
>> > old code in separate classloaders, this in turn will require some tricks
>> to
>> > download the jars will all the needed dependencies. Even the "current
>> code"
>> > will need to be loaded in a separate classloader.
>> >
>> > An alternative approach would be to start bookies in a different process
>> > but for the client side part it won't work so simply, in fact it won't be
>> > simple to run the old client, or at least we will have to create separate
>> > modules with different classpath for each client version.
>> >
>>
>> Another alternative approach is to use arquilian testing framework (
>> http://arquillian.org/arquillian-cube/) to write BC tests with docker
>> containers.
>>
>> Here is one example on how the test would look like:
>>
>> https://github.com/streamlio/arquillian-sample/blob/master/
>> kubernetes/src/test/java/bookkeeper/BookkeeperKubernetesTest.java
>
>
>
> Really interesting !
>
> Enrico
>
>
>>
>>
>> >
>> >
>> > It is a blocker for BP-14 (and BP-18) as well, as we need to introduce BC
>> > compat tests against latest versions.
>> > It is a blocker for any other improvement on protocol and metadata
>> >
>> > Enrico
>> >
>>

Re: Compat Tests for 4.5 and 4.6 and EOL of old releases

Posted by Enrico Olivelli <eo...@gmail.com>.
2017-12-15 10:19 GMT+01:00 Sijie Guo <gu...@gmail.com>:

> On Fri, Dec 15, 2017 at 12:45 AM, Enrico Olivelli <eo...@apache.org>
> wrote:
>
> > Hi guys,
> > we need to address this issue, that is to introduce compat test for 4.5
> and
> > 4.6 and possibly drop legacy versions.
> >
> > This is very important for us and for our time based release plan.
> >
> >
> > Does anyone have cycles for this ?
> >
> > I have some idea but not enough time to implement the full stack, I will
> be
> > happy to help.
> >
> > The best thing would be to drop the shaded/relocated dependencies and run
> > old code in separate classloaders, this in turn will require some tricks
> to
> > download the jars will all the needed dependencies. Even the "current
> code"
> > will need to be loaded in a separate classloader.
> >
> > An alternative approach would be to start bookies in a different process
> > but for the client side part it won't work so simply, in fact it won't be
> > simple to run the old client, or at least we will have to create separate
> > modules with different classpath for each client version.
> >
>
> Another alternative approach is to use arquilian testing framework (
> http://arquillian.org/arquillian-cube/) to write BC tests with docker
> containers.
>
> Here is one example on how the test would look like:
>
> https://github.com/streamlio/arquillian-sample/blob/master/
> kubernetes/src/test/java/bookkeeper/BookkeeperKubernetesTest.java



Really interesting !

Enrico


>
>
> >
> >
> > It is a blocker for BP-14 (and BP-18) as well, as we need to introduce BC
> > compat tests against latest versions.
> > It is a blocker for any other improvement on protocol and metadata
> >
> > Enrico
> >
>

Re: Compat Tests for 4.5 and 4.6 and EOL of old releases

Posted by Sijie Guo <gu...@gmail.com>.
On Fri, Dec 15, 2017 at 12:45 AM, Enrico Olivelli <eo...@apache.org>
wrote:

> Hi guys,
> we need to address this issue, that is to introduce compat test for 4.5 and
> 4.6 and possibly drop legacy versions.
>
> This is very important for us and for our time based release plan.
>
>
> Does anyone have cycles for this ?
>
> I have some idea but not enough time to implement the full stack, I will be
> happy to help.
>
> The best thing would be to drop the shaded/relocated dependencies and run
> old code in separate classloaders, this in turn will require some tricks to
> download the jars will all the needed dependencies. Even the "current code"
> will need to be loaded in a separate classloader.
>
> An alternative approach would be to start bookies in a different process
> but for the client side part it won't work so simply, in fact it won't be
> simple to run the old client, or at least we will have to create separate
> modules with different classpath for each client version.
>

Another alternative approach is to use arquilian testing framework (
http://arquillian.org/arquillian-cube/) to write BC tests with docker
containers.

Here is one example on how the test would look like:

https://github.com/streamlio/arquillian-sample/blob/master/kubernetes/src/test/java/bookkeeper/BookkeeperKubernetesTest.java

>
>
> It is a blocker for BP-14 (and BP-18) as well, as we need to introduce BC
> compat tests against latest versions.
> It is a blocker for any other improvement on protocol and metadata
>
> Enrico
>