bookkeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Enrico Olivelli <eolive...@gmail.com>
Subject Re: Problem with BookKeeper 4.6.1 on Java 9
Date Mon, 12 Feb 2018 15:26:43 GMT
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 <eolivelli@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
>

Mime
View raw message