apache / incubator-heron

Apache Heron (Incubating) is a realtime, distributed, fault-tolerant stream processing engine from Twitter
https://heron.apache.org/
Apache License 2.0
3.65k stars 598 forks source link

guice-4.0 does not support jdk17 #3790

Closed thinker0 closed 2 years ago

thinker0 commented 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