+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 <eolive...@gmail.com> wrote: > 2017-12-15 10:19 GMT+01:00 Sijie Guo <guosi...@gmail.com>: > >> On Fri, Dec 15, 2017 at 12:45 AM, Enrico Olivelli <eolive...@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 >> > >>