nicoloboschi opened a new pull request #13810:
URL: https://github.com/apache/pulsar/pull/13810


   
   ### Motivation
   
   In a few components there is the Google Guice transitive dependency to Guice 
4.x. This library does not support JDK16+ modules encapsulation.
   The components affected are:
   * Data Generator Source
   * JClouds offloader
   
   When running the Data Generator source with jdk16+ this fatal error comes out
   ```
   2022-01-18T08:50:27,941+0000 [public/default/data-generator-source-0] ERROR 
org.apache.pulsar.functions.instance.JavaInstanceRunnable - 
[public/default/data-generator-source:0] Uncaught exception in Java Instance
   com.google.common.util.concurrent.ExecutionError: 
com.google.common.util.concurrent.ExecutionError: 
java.lang.ExceptionInInitializerError
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049) 
~[java-instance.jar:?]
        at com.google.common.cache.LocalCache.get(LocalCache.java:3951) 
~[java-instance.jar:?]
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4935) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4941)
 ~[java-instance.jar:?]
        at com.google.inject.internal.FailableCache.get(FailableCache.java:48) 
~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:138)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:550)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:887)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:808)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:285)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:217)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:1009)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1041) 
~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1004) 
~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054) 
~[?:?]
        at 
io.codearte.jfairy.Bootstrap$Builder.getDefaultDataMaster(Bootstrap.java:164) 
~[?:?]
        at io.codearte.jfairy.Bootstrap$Builder.build(Bootstrap.java:224) ~[?:?]
        at io.codearte.jfairy.Bootstrap.create(Bootstrap.java:82) ~[?:?]
        at io.codearte.jfairy.Fairy.create(Fairy.java:48) ~[?:?]
        at 
org.apache.pulsar.io.datagenerator.DataGeneratorSource.open(DataGeneratorSource.java:36)
 ~[?:?]
        at 
org.apache.pulsar.functions.instance.JavaInstanceRunnable.setupInput(JavaInstanceRunnable.java:752)
 
~[org.apache.pulsar-pulsar-functions-instance-2.10.0-SNAPSHOT.jar:2.10.0-SNAPSHOT]
        at 
org.apache.pulsar.functions.instance.JavaInstanceRunnable.setup(JavaInstanceRunnable.java:227)
 
~[org.apache.pulsar-pulsar-functions-instance-2.10.0-SNAPSHOT.jar:2.10.0-SNAPSHOT]
        at 
org.apache.pulsar.functions.instance.JavaInstanceRunnable.run(JavaInstanceRunnable.java:255)
 
[org.apache.pulsar-pulsar-functions-instance-2.10.0-SNAPSHOT.jar:2.10.0-SNAPSHOT]
        at java.lang.Thread.run(Thread.java:833) [?:?]
   Caused by: com.google.common.util.concurrent.ExecutionError: 
java.lang.ExceptionInInitializerError
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049) 
~[java-instance.jar:?]
        at com.google.common.cache.LocalCache.get(LocalCache.java:3951) 
~[java-instance.jar:?]
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4935) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4941)
 ~[java-instance.jar:?]
        at com.google.inject.internal.FailableCache.get(FailableCache.java:48) 
~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:138)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:550)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:887)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:808)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:285)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:217)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:965)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:953)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:71)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
 ~[?:?]
        at 
com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) ~[?:?]
        at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
 ~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155)
 ~[java-instance.jar:?]
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) 
~[java-instance.jar:?]
        ... 25 more
   Caused by: java.lang.ExceptionInInitializerError
        at 
com.google.inject.internal.cglib.reflect.$FastClass$Generator.getProtectionDomain(FastClass.java:73)
 ~[?:?]
        at 
com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:206)
 ~[?:?]
        at 
com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65)
 ~[?:?]
        at 
com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:252)
 ~[?:?]
        at 
com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:203)
 ~[?:?]
        at 
com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:53)
 ~[?:?]
        at 
com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:158) ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
 ~[?:?]
        at 
com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) ~[?:?]
        at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
 ~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155)
 ~[java-instance.jar:?]
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) 
~[java-instance.jar:?]
        at com.google.common.cache.LocalCache.get(LocalCache.java:3951) 
~[java-instance.jar:?]
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4935) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4941)
 ~[java-instance.jar:?]
        at com.google.inject.internal.FailableCache.get(FailableCache.java:48) 
~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:138)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:550)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:887)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:808)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:285)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:217)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:965)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:953)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:71)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
 ~[?:?]
        at 
com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) ~[?:?]
        at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
 ~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155)
 ~[java-instance.jar:?]
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) 
~[java-instance.jar:?]
        ... 25 more
   Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
protected final java.lang.Class 
java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
 throws java.lang.ClassFormatError accessible: module java.base does not "opens 
java.lang" to unnamed module @313642e1
        at 
java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
 ~[?:?]
        at 
java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
 ~[?:?]
        at java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) 
~[?:?]
        at java.lang.reflect.Method.setAccessible(Method.java:193) ~[?:?]
        at 
com.google.inject.internal.cglib.core.$ReflectUtils$1.run(ReflectUtils.java:52) 
~[?:?]
        at 
java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]
        at 
com.google.inject.internal.cglib.core.$ReflectUtils.<clinit>(ReflectUtils.java:42)
 ~[?:?]
        at 
com.google.inject.internal.cglib.reflect.$FastClass$Generator.getProtectionDomain(FastClass.java:73)
 ~[?:?]
        at 
com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:206)
 ~[?:?]
        at 
com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65)
 ~[?:?]
        at 
com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:252)
 ~[?:?]
        at 
com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:203)
 ~[?:?]
        at 
com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:53)
 ~[?:?]
        at 
com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:158) ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
 ~[?:?]
        at 
com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) ~[?:?]
        at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
 ~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155)
 ~[java-instance.jar:?]
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) 
~[java-instance.jar:?]
        at com.google.common.cache.LocalCache.get(LocalCache.java:3951) 
~[java-instance.jar:?]
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4935) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4941)
 ~[java-instance.jar:?]
        at com.google.inject.internal.FailableCache.get(FailableCache.java:48) 
~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:138)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:550)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:887)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:808)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:285)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:217)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:965)
 ~[?:?]
        at 
com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:953)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:71)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
 ~[?:?]
        at 
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
 ~[?:?]
        at 
com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) ~[?:?]
        at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
 ~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) 
~[java-instance.jar:?]
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155)
 ~[java-instance.jar:?]
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) 
~[java-instance.jar:?]
        ... 25 more
   
   ```
   
   
   As stated [here](https://github.com/google/guice/wiki/Guice501) Guice 5.x 
supports JDK16+ environments
    
   ### Modifications
   * Upgrade Google Guice to 5.0.1 for JClouds offloader and Data Generator 
connector
   
   
   ### Documentation
   
   - [x] `no-need-doc` 
    


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to