Closed thinker0 closed 2 years ago
Is your feature request related to a problem? Please describe. Problem with google-guice-4.0 in JDK17.
Describe the solution you'd like From guice-5.1.0, jdk17 is supported.
Describe alternatives you've considered I tested Runtime with jdk17. It does not work because only the health manager is using guice-4.0.
Additional context https://github.com/google/guice/issues/1536
[2022-03-11 23:41:35 +0900] [INFO]: heron-healthmgr stdout: -XX:ConcGCThreads=1 -XX:G1ConcRefinementThreads=4 -XX:GCDrainStackTargetSize=64 -XX:InitialHeapSize=79265792 -XX:InitiatingHeapOccupancyPercent=30 -XX:MarkStackSize=4194304 -XX:MaxGCPauseMillis=100 -XX:MaxHeapSize=1073741824 -XX:MinHeapSize=6815736 -XX:ParallelGCThreads=4 -XX:+ParallelRefProcEnabled -XX:+PrintCommandLineFlags -XX:ReservedCodeCacheSize=251658240 -XX:+SegmentedCodeCache -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseG1GC -XX:+UseStringDeduplication [2022-03-11 23:41:35 +0900] [INFO]: heron-healthmgr stdout: WARNING: An illegal reflective access operation has occurred [2022-03-11 23:41:35 +0900] [INFO]: heron-healthmgr stdout: WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$2 (file:/var/lib/mesos/slaves/a4329d02-fbfd-437a-a4ca-29846c3eaeb7-S457/frameworks/c663397e-a472-43bd-92dd-d97027fcf6ce-0000/executors/thermos-www-release-heron-system-access-es-others-0-11a13f34-33a1-4e58-b0cf-b9c02fd578b2/runs/73b2d266-b8b2-4a3f-abfd-689202eae027/sandbox/heron-core/lib/healthmgr/heron-healthmgr.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) [2022-03-11 23:41:35 +0900] [INFO]: heron-healthmgr stdout: WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$2 [2022-03-11 23:41:35 +0900] [INFO]: heron-healthmgr stdout: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations [2022-03-11 23:41:35 +0900] [INFO]: heron-healthmgr stdout: WARNING: All illegal access operations will be denied in a future release
[2022-03-11 22:07:07 +0900] [STDERR] stderr: SLF4J: Class path contains multiple SLF4J bindings. [2022-03-11 22:07:07 +0900] [STDERR] stderr: SLF4J: Found binding in [jar:file:/var/lib/mesos/slaves/a4329d02-fbfd-437a-a4ca-29846c3eaeb7-S451/frameworks/c663397e-a472-43bd-92dd-d97027fcf6ce-0000/executors/thermos-www-release-heron-system-access-es-lads-ad-ranker-0-e918f795-aefd-43d7-a43d-cf6487897f48/runs/12ead59e-550f-4a34-b93e-a89fc414f3ca/sandbox/heron-core/lib/scheduler/heron-mesos-scheduler.jar!/org/slf4j/impl/StaticLoggerBinder.class] [2022-03-11 22:07:07 +0900] [STDERR] stderr: SLF4J: Found binding in [jar:file:/var/lib/mesos/slaves/a4329d02-fbfd-437a-a4ca-29846c3eaeb7-S451/frameworks/c663397e-a472-43bd-92dd-d97027fcf6ce-0000/executors/thermos-www-release-heron-system-access-es-lads-ad-ranker-0-e918f795-aefd-43d7-a43d-cf6487897f48/runs/12ead59e-550f-4a34-b93e-a89fc414f3ca/sandbox/heron-core/lib/statemgr/heron-zookeeper-statemgr.jar!/org/slf4j/impl/StaticLoggerBinder.class] [2022-03-11 22:07:07 +0900] [STDERR] stderr: SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. [2022-03-11 22:07:07 +0900] [STDERR] stderr: SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] [2022-03-11 22:07:07 +0900] [INFO] org.apache.heron.statemgr.zookeeper.curator.CuratorStateManager: Starting Curator client connecting to: lad-aurora-zk.line-apps.com:2181[2022-03-11 22:07:07 +0900] [STDERR] stderr: log4j:WARN No appenders could be found for logger (org.apache.curator.framework.imps.CuratorFrameworkImpl). [2022-03-11 22:07:07 +0900] [STDERR] stderr: log4j:WARN Please initialize the log4j system properly. [2022-03-11 22:07:07 +0900] [STDERR] stderr: log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. [2022-03-11 22:07:07 +0900] [INFO] org.apache.heron.statemgr.zookeeper.curator.CuratorStateManager: Directory tree initialized.[2022-03-11 22:07:07 +0900] [STDERR] stderr: Exception in thread "main" [2022-03-11 22:07:07 +0900] [STDERR] stderr: com.google.common.util.concurrent.ExecutionError: java.lang.ExceptionInInitializerError [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.common.cache.LocalCache.get(LocalCache.java:3962) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3966) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4951) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4957) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.FailableCache.get(FailableCache.java:48) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:136) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:533) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:160) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:123) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:226) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:233) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at org.apache.heron.healthmgr.HealthManager.initialize(HealthManager.java:301) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at org.apache.heron.healthmgr.HealthManager.main(HealthManager.java:232) [2022-03-11 22:07:07 +0900] [STDERR] stderr: Caused by: java.lang.ExceptionInInitializerError [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:67) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:72) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:216) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:64) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.BytecodeGen.newFastClass(BytecodeGen.java:204) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:54) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:159) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3523) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2249) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2132) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) [2022-03-11 22:07:07 +0900] [STDERR] stderr: ... 16 more [2022-03-11 22:07:07 +0900] [STDERR] stderr: 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 @6c38726a [2022-03-11 22:07:07 +0900] [STDERR] stderr: at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at java.base/java.lang.reflect.Method.setAccessible(Method.java:193) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.cglib.core.$ReflectUtils$2.run(ReflectUtils.java:56) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) [2022-03-11 22:07:07 +0900] [STDERR] stderr: at com.google.inject.internal.cglib.core.$ReflectUtils.<clinit>(ReflectUtils.java:46) [2022-03-11 22:07:07 +0900] [STDERR] stderr: ... 33 more [2022-03-11 22:07:18 +0900] [INFO] org.apache.heron.healthmgr.HealthManager: Logging setup done. [2022-03-11 22:07:18 +0900] [INFO] org.apache.heron.healthmgr.HealthManager: Static Heron config loaded successfully [2022-03-11 22:07:18 +0900] [INFO] org.apache.heron.healthmgr.HealthManager: Initializing health manager
Is your feature request related to a problem? Please describe. Problem with google-guice-4.0 in JDK17.
Describe the solution you'd like From guice-5.1.0, jdk17 is supported.
Describe alternatives you've considered I tested Runtime with jdk17. It does not work because only the health manager is using guice-4.0.
Additional context https://github.com/google/guice/issues/1536