https://github.com/apache/bookkeeper/pull/1132
This should go into 4.6.2 also. On Mon, Feb 12, 2018 at 5:17 PM, Enrico Olivelli <eolive...@gmail.com> wrote: > 2018-02-12 17:15 GMT+01:00 Sijie Guo <guosi...@gmail.com>: > >> On Mon, Feb 12, 2018 at 11:34 PM, Enrico Olivelli <eolive...@gmail.com> >> wrote: >> >> > (moving to dev). >> > >> > I am going to change only BookKeeper and not DL, in order to ccherry pick >> > easily the commit, I think we should change DL only if needed and >> problems >> > are reported by users >> > >> >> I am not sure I understand what you are saying here. >> >> If you change the `maven-shade-plugin` in the root pom file, it will >> automatically apply to all the modules under `shaded` module, no? >> >> Also since "dlog" is already merged as part of bookkeeper, we shouldn't >> have two different modules using two different type of maven shade plugin. >> > > see here > > https://github.com/apache/bookkeeper/blob/e2b93f28813556c1971a04c1ffe4b65cbe40c427/stream/distributedlog/pom.xml#L76 > > Enrico > > > >> >> - Sijie >> >> >> > >> > Enrico >> > >> > 2018-02-12 16:32 GMT+01:00 Ivan Kelly <iv...@apache.org>: >> > >> > > +1 >> > > >> > > Go for it. >> > > >> > > On Mon, Feb 12, 2018 at 4:26 PM, Enrico Olivelli <eolive...@gmail.com> >> > > wrote: >> > > > Self explained, it is a bug in Maven Shade Plugin, need to upgrade to >> > > 3.1.0 >> > > > >> > > > This is the patch >> > > > >> > > > https://github.com/apache/bookkeeper/pull/1144 >> > > > >> > > > I volunteer for releasing 4.6.2, this is a bad bug over Java 9 >> > compliance >> > > > for me (it is blocking some downstream projects in my company) >> > > > >> > > > Enrico >> > > > >> > > > >> > > > 2018-02-12 16:10 GMT+01:00 Enrico Olivelli <eolive...@gmail.com>: >> > > >> >> > > >> Hi guys, >> > > >> did you ever see this error ? >> > > >> It is very strange, I am investigating. >> > > >> I am using 4.6.1 bookkeeper-server-shaded, I get this only in some >> > unit >> > > >> tests, not in "real" environments on Java 9 >> > > >> >> > > >> >> > > >> java.lang.RuntimeException: java.lang.IncompatibleClassChangeError: >> > > >> Inconsistent constant >> > > >> pool data in classfile for class org/apache/bookkeeper/ >> > > versioning/Version. >> > > >> Method >> > > >> lambda$static$0(Lorg/apache/bookkeeper/versioning/Version; >> > > )Lorg/apache/bookkeeper/versioning/Version$Occurred; >> > > >> at index 51 is CONSTANT_MethodRef and should be >> > > CONSTANT_InterfaceMethodRef >> > > >> at xxxxx.tasklog.TaskLoggerTest.test(TaskLoggerTest.java:75) >> > > >> at >> > > >> java.base/jdk.internal.reflect.NativeMethodAccessorImpl. >> > invoke0(Native >> > > >> Method) >> > > >> at >> > > >> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( >> > > NativeMethodAccessorImpl.java:62) >> > > >> at >> > > >> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( >> > > DelegatingMethodAccessorImpl.java:43) >> > > >> at java.base/java.lang.reflect.Method.invoke(Method.java:564) >> > > >> at >> > > >> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( >> > > FrameworkMethod.java:47) >> > > >> at >> > > >> org.junit.internal.runners.model.ReflectiveCallable.run( >> > > ReflectiveCallable.java:12) >> > > >> at >> > > >> org.junit.runners.model.FrameworkMethod.invokeExplosively( >> > > FrameworkMethod.java:44) >> > > >> at >> > > >> org.junit.internal.runners.statements.InvokeMethod. >> > > evaluate(InvokeMethod.java:17) >> > > >> at >> > > >> org.junit.rules.ExternalResource$1.evaluate( >> ExternalResource.java:48) >> > > >> at org.junit.rules.RunRules.evaluate(RunRules.java:20) >> > > >> at org.junit.runners.ParentRunner.runLeaf( >> ParentRunner.java:271) >> > > >> at >> > > >> org.junit.runners.BlockJUnit4ClassRunner.runChild( >> > > BlockJUnit4ClassRunner.java:70) >> > > >> at >> > > >> org.junit.runners.BlockJUnit4ClassRunner.runChild( >> > > BlockJUnit4ClassRunner.java:50) >> > > >> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) >> > > >> at org.junit.runners.ParentRunner$1.schedule( >> > ParentRunner.java:63) >> > > >> at org.junit.runners.ParentRunner.runChildren( >> > > ParentRunner.java:236) >> > > >> at org.junit.runners.ParentRunner.access$000( >> > ParentRunner.java:53) >> > > >> at org.junit.runners.ParentRunner$2.evaluate( >> > ParentRunner.java:229) >> > > >> at >> > > >> org.junit.internal.runners.statements.RunBefores. >> > > evaluate(RunBefores.java:26) >> > > >> at org.junit.runners.ParentRunner.run(ParentRunner.java:309) >> > > >> at >> > > >> org.apache.maven.surefire.junit4.JUnit4Provider.execute( >> > > JUnit4Provider.java:369) >> > > >> at >> > > >> org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun( >> > > JUnit4Provider.java:275) >> > > >> at >> > > >> org.apache.maven.surefire.junit4.JUnit4Provider. >> > > executeTestSet(JUnit4Provider.java:239) >> > > >> at >> > > >> org.apache.maven.surefire.junit4.JUnit4Provider.invoke( >> > > JUnit4Provider.java:160) >> > > >> at >> > > >> org.apache.maven.surefire.booter.ForkedBooter. >> > > invokeProviderInSameClassLoader(ForkedBooter.java:373) >> > > >> at >> > > >> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess( >> > > ForkedBooter.java:334) >> > > >> at >> > > >> org.apache.maven.surefire.booter.ForkedBooter.execute( >> > > ForkedBooter.java:119) >> > > >> at >> > > >> org.apache.maven.surefire.booter.ForkedBooter.main( >> > > ForkedBooter.java:407) >> > > >> Caused by: java.lang.IncompatibleClassChangeError: Inconsistent >> > > constant >> > > >> pool data in classfile for class org/apache/bookkeeper/ >> > > versioning/Version. >> > > >> Method >> > > >> lambda$static$0(Lorg/apache/bookkeeper/versioning/Version; >> > > )Lorg/apache/bookkeeper/versioning/Version$Occurred; >> > > >> at index 51 is CONSTANT_MethodRef and should be >> > > CONSTANT_InterfaceMethodRef >> > > >> at org.apache.bookkeeper.versioning.Version.<clinit>( >> > > Version.java:47) >> > > >> at >> > > >> org.apache.bookkeeper.discover.ZKRegistrationClient$ >> WatchTask.<init>( >> > > ZKRegistrationClient.java:79) >> > > >> at >> > > >> org.apache.bookkeeper.discover.ZKRegistrationClient. >> > > watchWritableBookies(ZKRegistrationClient.java:287) >> > > >> at >> > > >> org.apache.bookkeeper.client.BookieWatcher. >> initialBlockingBookieRead( >> > > BookieWatcher.java:152) >> > > >> at org.apache.bookkeeper.client.BookKeeper.<init>(BookKeeper. >> > > java:506) >> > > >> at org.apache.bookkeeper.client.BookKeeper.<init>(BookKeeper. >> > > java:365) >> > > >> at >> > > >> org.apache.bookkeeper.client.BookKeeperAdmin.format( >> > > BookKeeperAdmin.java:1181) >> > > >> at ...... >> > > >> >> > > >> Enrico >> > > > >> > > > >> > > >> > >>