We found this issue previous.

In our case where leak thread comes from is tracked as
https://issues.apache.org/jira/browse/FLINK-14565

Best,
tison.


vino yang <yanghua1...@gmail.com> 于2019年11月14日周四 上午10:15写道:

> Hi Theo,
>
> If you think there is a thread leakage problem. You can create a JIRA
> issue and write a detailed description.
>
> Ping @Gary Yao <g...@data-artisans.com>  and @Zhu Zhu <reed...@gmail.com> to
> help to locate and analyze this problem?
>
> Best,
> Vino
>
> Theo Diefenthal <theo.diefent...@scoop-software.de> 于2019年11月14日周四
> 上午3:16写道:
>
>> I included a Solr End2End test in my project, inheriting from Junit 4
>> SolrCloudTestCase.
>>
>> The solr-test-framework for junit 4 makes use of 
>> com.carrotsearch.randomizedtesting
>> which automatically tests for thread leakages on test end. In my other
>> projects, that tool doesn't produce any problems.
>> When used in a test together with a Flink LocalExecutionEnvironment, it
>> will prevent the test from suceeding due the following error at shutdown
>> phase:
>>
>> com.carrotsearch.randomizedtesting.ThreadLeakError: 3 threads leaked from
>> SUITE scope at somepackage.E2ETest:
>>    1) Thread[id=170, name=FlinkCompletableFutureDelayScheduler-thread-1,
>> state=TIMED_WAITING, group=TGRP-E2ETest]
>>         at sun.misc.Unsafe.park(Native Method)
>>         at
>> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
>>         at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
>>         at
>> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
>>         at
>> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
>>         at
>> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>         at java.lang.Thread.run(Thread.java:748)
>>    2) Thread[id=29, name=metrics-meter-tick-thread-2, state=WAITING,
>> group=TGRP-E2ETest]
>>         at sun.misc.Unsafe.park(Native Method)
>>         at
>> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>>         at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>>         at
>> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
>>         at
>> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
>>         at
>> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>         at java.lang.Thread.run(Thread.java:748)
>>    3) Thread[id=28, name=metrics-meter-tick-thread-1,
>> state=TIMED_WAITING, group=TGRP-E2ETest]
>>         at sun.misc.Unsafe.park(Native Method)
>>         at
>> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
>>         at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
>>         at
>> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
>>         at
>> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
>>         at
>> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>         at java.lang.Thread.run(Thread.java:748)
>>
>>     at __randomizedtesting.SeedInfo.seed([CC6ED531AFECBAF6]:0)
>>
>> Note that I can suppress the errors easily via setting
>> @ThreadLeakScope(ThreadLeakScope.Scope.NONE) in my tests, but I just want
>> to point out possible thread leaks in the mailing list here. As the
>> first thread is named FlinkCompletableFutureDelayScheduler, I suggest that
>> Flink doesn't shut down some of its multitude of threads nicely in a local
>> execution environment. My question: Is that some kind of problem / thread
>> leakage in Flink or is it just a false warning?
>>
>>
>>
>>

Reply via email to