Hi Murali Pusala, Thanks for reporting this issue.
Looks like JavaGcCleanerWrapper should use getDeclaredMethod instead of getMethod to find Reference.tryHandlePending. @Andrey, can you confirm this? Regards, Roman On Mon, Jul 13, 2020 at 4:42 AM Murali Krishna Pusala < muralipus...@icloud.com> wrote: > > Hi All, > > I have written simple java code that read data using Hive and transform > using Table API (Blink Planner) and Flink 1.11.0 on HDP cluster. I am > encountering "java.lang.Error: Failed to find GC Cleaner among available > providers” error. Full error stack is at end of the email. > > Do anyone encounter the same issue or any solutions/suggestions ? > > Cluster Config: > > * Hadoop Version: 2.7.3 > * Java Version: 1.8.0_40 > * Flink 1.11.0 ( built from source) > * Hive 1.2.1 > > Thanks > Murali Pusala > > > Caused by: java.lang.Error: Failed to find GC Cleaner among available > providers: [Legacy (before Java 9) cleaner provider, New Java 9+ cleaner > provider] > at > org.apache.flink.util.JavaGcCleanerWrapper.findGcCleanerManager(JavaGcCleanerWrapper.java:149) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper.<clinit>(JavaGcCleanerWrapper.java:56) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.core.memory.MemoryUtils.createMemoryGcCleaner(MemoryUtils.java:111) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.core.memory.MemorySegmentFactory.allocateOffHeapUnsafeMemory(MemorySegmentFactory.java:175) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.memory.MemoryManager.lambda$allocatePages$0(MemoryManager.java:237) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.memory.MemoryManager$$Lambda$188/978816879.apply(Unknown > Source) ~[?:?] > at > java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853) > ~[?:1.8.0_40] > at > org.apache.flink.runtime.memory.MemoryManager.allocatePages(MemoryManager.java:233) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.util.LazyMemorySegmentPool.nextSegment(LazyMemorySegmentPool.java:82) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.io.disk.SimpleCollectingOutputView.<init>(SimpleCollectingOutputView.java:49) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap$RecordArea.<init>(BytesHashMap.java:522) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap.<init>(BytesHashMap.java:184) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap.<init>(BytesHashMap.java:148) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at LocalHashAggregateWithKeys$100.open(Unknown Source) ~[?:?] > at > org.apache.flink.streaming.runtime.tasks.OperatorChain.initializeStateAndOpenOperators(OperatorChain.java:291) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$beforeInvoke$0(StreamTask.java:473) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask$$Lambda$176/1800425807.run(Unknown > Source) ~[?:?] > at > org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$SynchronizedStreamTaskActionExecutor.runThrowing(StreamTaskActionExecutor.java:92) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:469) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:522) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:721) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at org.apache.flink.runtime.taskmanager.Task.run(Task.java:546) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at java.lang.Thread.run(Thread.java:745) ~[?:1.8.0_40] > Caused by: org.apache.flink.util.FlinkRuntimeException: Legacy (before > Java 9) cleaner provider: Failed to find Reference#tryHandlePending method > at > org.apache.flink.util.JavaGcCleanerWrapper$ReflectionUtils.findMethod(JavaGcCleanerWrapper.java:398) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$ReflectionUtils.access$1300(JavaGcCleanerWrapper.java:376) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$PendingCleanersRunnerProvider.createPendingCleanersRunner(JavaGcCleanerWrapper.java:326) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$PendingCleanersRunnerProvider.access$800(JavaGcCleanerWrapper.java:303) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$CleanerProvider.createCleanerManager(JavaGcCleanerWrapper.java:180) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$CleanerProvider.access$400(JavaGcCleanerWrapper.java:162) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper.findGcCleanerManager(JavaGcCleanerWrapper.java:140) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper.<clinit>(JavaGcCleanerWrapper.java:56) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.core.memory.MemoryUtils.createMemoryGcCleaner(MemoryUtils.java:111) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.core.memory.MemorySegmentFactory.allocateOffHeapUnsafeMemory(MemorySegmentFactory.java:175) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.memory.MemoryManager.lambda$allocatePages$0(MemoryManager.java:237) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.memory.MemoryManager$$Lambda$188/978816879.apply(Unknown > Source) ~[?:?] > at > java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853) > ~[?:1.8.0_40] > at > org.apache.flink.runtime.memory.MemoryManager.allocatePages(MemoryManager.java:233) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.util.LazyMemorySegmentPool.nextSegment(LazyMemorySegmentPool.java:82) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.io.disk.SimpleCollectingOutputView.<init>(SimpleCollectingOutputView.java:49) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap$RecordArea.<init>(BytesHashMap.java:522) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap.<init>(BytesHashMap.java:184) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap.<init>(BytesHashMap.java:148) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at LocalHashAggregateWithKeys$100.open(Unknown Source) ~[?:?] > at > org.apache.flink.streaming.runtime.tasks.OperatorChain.initializeStateAndOpenOperators(OperatorChain.java:291) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$beforeInvoke$0(StreamTask.java:473) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask$$Lambda$176/1800425807.run(Unknown > Source) ~[?:?] > at > org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$SynchronizedStreamTaskActionExecutor.runThrowing(StreamTaskActionExecutor.java:92) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:469) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:522) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:721) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at org.apache.flink.runtime.taskmanager.Task.run(Task.java:546) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at java.lang.Thread.run(Thread.java:745) ~[?:1.8.0_40] > Suppressed: org.apache.flink.util.FlinkRuntimeException: New Java > 9+ cleaner provider: Failed to find java class > at > org.apache.flink.util.JavaGcCleanerWrapper$ReflectionUtils.findClass(JavaGcCleanerWrapper.java:388) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$ReflectionUtils.access$1200(JavaGcCleanerWrapper.java:376) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$CleanerFactoryProvider.createCleanerFactory(JavaGcCleanerWrapper.java:244) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$CleanerFactoryProvider.access$700(JavaGcCleanerWrapper.java:217) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$CleanerProvider.createCleanerManager(JavaGcCleanerWrapper.java:179) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$CleanerProvider.access$400(JavaGcCleanerWrapper.java:162) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper.findGcCleanerManager(JavaGcCleanerWrapper.java:140) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper.<clinit>(JavaGcCleanerWrapper.java:56) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.core.memory.MemoryUtils.createMemoryGcCleaner(MemoryUtils.java:111) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.core.memory.MemorySegmentFactory.allocateOffHeapUnsafeMemory(MemorySegmentFactory.java:175) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.memory.MemoryManager.lambda$allocatePages$0(MemoryManager.java:237) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.memory.MemoryManager$$Lambda$188/978816879.apply(Unknown > Source) ~[?:?] > at > java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853) > ~[?:1.8.0_40] > at > org.apache.flink.runtime.memory.MemoryManager.allocatePages(MemoryManager.java:233) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.util.LazyMemorySegmentPool.nextSegment(LazyMemorySegmentPool.java:82) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.io.disk.SimpleCollectingOutputView.<init>(SimpleCollectingOutputView.java:49) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap$RecordArea.<init>(BytesHashMap.java:522) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap.<init>(BytesHashMap.java:184) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap.<init>(BytesHashMap.java:148) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at LocalHashAggregateWithKeys$100.open(Unknown Source) > ~[?:?] > at > org.apache.flink.streaming.runtime.tasks.OperatorChain.initializeStateAndOpenOperators(OperatorChain.java:291) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$beforeInvoke$0(StreamTask.java:473) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask$$Lambda$176/1800425807.run(Unknown > Source) ~[?:?] > at > org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$SynchronizedStreamTaskActionExecutor.runThrowing(StreamTaskActionExecutor.java:92) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:469) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:522) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:721) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.taskmanager.Task.run(Task.java:546) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at java.lang.Thread.run(Thread.java:745) ~[?:1.8.0_40] > Caused by: java.lang.ClassNotFoundException: java.lang.ref.Cleaner > at > java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_40] > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > ~[?:1.8.0_40] > at > sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[?:1.8.0_40] > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > ~[?:1.8.0_40] > at java.lang.Class.forName0(Native Method) ~[?:1.8.0_40] > at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_40] > at > org.apache.flink.util.JavaGcCleanerWrapper$ReflectionUtils.findClass(JavaGcCleanerWrapper.java:385) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > ... 28 more > Caused by: java.lang.NoSuchMethodException: > java.lang.ref.Reference.tryHandlePending(boolean) > at java.lang.Class.getDeclaredMethod(Class.java:2130) ~[?:1.8.0_40] > at > org.apache.flink.util.JavaGcCleanerWrapper$ReflectionUtils.findMethod(JavaGcCleanerWrapper.java:395) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$ReflectionUtils.access$1300(JavaGcCleanerWrapper.java:376) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$PendingCleanersRunnerProvider.createPendingCleanersRunner(JavaGcCleanerWrapper.java:326) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$PendingCleanersRunnerProvider.access$800(JavaGcCleanerWrapper.java:303) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$CleanerProvider.createCleanerManager(JavaGcCleanerWrapper.java:180) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper$CleanerProvider.access$400(JavaGcCleanerWrapper.java:162) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper.findGcCleanerManager(JavaGcCleanerWrapper.java:140) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.util.JavaGcCleanerWrapper.<clinit>(JavaGcCleanerWrapper.java:56) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.core.memory.MemoryUtils.createMemoryGcCleaner(MemoryUtils.java:111) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.core.memory.MemorySegmentFactory.allocateOffHeapUnsafeMemory(MemorySegmentFactory.java:175) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.memory.MemoryManager.lambda$allocatePages$0(MemoryManager.java:237) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.memory.MemoryManager$$Lambda$188/978816879.apply(Unknown > Source) ~[?:?] > at > java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853) > ~[?:1.8.0_40] > at > org.apache.flink.runtime.memory.MemoryManager.allocatePages(MemoryManager.java:233) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.util.LazyMemorySegmentPool.nextSegment(LazyMemorySegmentPool.java:82) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.runtime.io.disk.SimpleCollectingOutputView.<init>(SimpleCollectingOutputView.java:49) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap$RecordArea.<init>(BytesHashMap.java:522) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap.<init>(BytesHashMap.java:184) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.table.runtime.operators.aggregate.BytesHashMap.<init>(BytesHashMap.java:148) > ~[flink-table-uber-blink_2.11-1.11.0.jar:1.11.0] > at LocalHashAggregateWithKeys$100.open(Unknown Source) ~[?:?] > at > org.apache.flink.streaming.runtime.tasks.OperatorChain.initializeStateAndOpenOperators(OperatorChain.java:291) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$beforeInvoke$0(StreamTask.java:473) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask$$Lambda$176/1800425807.run(Unknown > Source) ~[?:?] > at > org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$SynchronizedStreamTaskActionExecutor.runThrowing(StreamTaskActionExecutor.java:92) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:469) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:522) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:721) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at org.apache.flink.runtime.taskmanager.Task.run(Task.java:546) > ~[flink-dist_2.11-1.11.0.jar:1.11.0] > at java.lang.Thread.run(Thread.java:745) ~[?:1.8.0_40]