[ https://issues.apache.org/jira/browse/FLUME-2786?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16079080#comment-16079080 ]
ASF GitHub Bot commented on FLUME-2786: --------------------------------------- GitHub user gangken opened a pull request: https://github.com/apache/flume/pull/144 Flume-2786. Alter application's synchronized to Lock. This issue was discussed at [FLUME-2786](https://issues.apache.org/jira/browse/FLUME-2786), and I'd uploaded a patch for 1.6.0. Now I tried to apply the patch to trunk. You can merge this pull request into a Git repository by running: $ git pull https://github.com/watera/flume FLUME-2786 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flume/pull/144.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #144 ---- commit 1074c86ce349f034d886c165e392e2e3a237e7cc Author: Yan Jian <yanjian...@163.com> Date: 2017-07-08T05:45:00Z Flume-2786. Alter application's synchronized to Lock. ---- > It will enter a deadlock state when modify the conf file before I stop > flume-ng > -------------------------------------------------------------------------------- > > Key: FLUME-2786 > URL: https://issues.apache.org/jira/browse/FLUME-2786 > Project: Flume > Issue Type: Bug > Components: Master > Affects Versions: 1.6.0 > Reporter: godfrey he > Priority: Blocker > Attachments: flume-2786-v1.6.0.patch, flume-2786-v1.6.0.patch.1, > flume-2786-v1.6.0.test.patch > > > When modify the conf fileļ¼and then I stop the flume-ng, It will enter a > deadlock state. > jstack result: > "agent-shutdown-hook" prio=10 tid=0x00007f2e26419800 nid=0x333ae waiting on > condition [0x0000000042c16000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000eaff3df8> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at > java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) > at > java.util.concurrent.ThreadPoolExecutor.awaitTermination(ThreadPoolExecutor.java:1468) > at > java.util.concurrent.Executors$DelegatedExecutorService.awaitTermination(Executors.java:635) > at > org.apache.flume.node.PollingPropertiesFileConfigurationProvider.stop(PollingPropertiesFileConfigurationProvider.java:87) > at > org.apache.flume.lifecycle.LifecycleSupervisor.stop(LifecycleSupervisor.java:106) > - locked <0x00000000eaf2daa0> (a > org.apache.flume.lifecycle.LifecycleSupervisor) > at org.apache.flume.node.Application.stop(Application.java:93) > - locked <0x00000000eaf3c580> (a org.apache.flume.node.Application) > at org.apache.flume.node.Application$1.run(Application.java:348) > "conf-file-poller-0" prio=10 tid=0x00007f2e2e8cd000 nid=0x21819 waiting for > monitor entry [0x0000000041e3f000] > java.lang.Thread.State: BLOCKED (on object monitor) > at > org.apache.flume.node.Application.handleConfigurationEvent(Application.java:88) > - waiting to lock <0x00000000eaf3c580> (a > org.apache.flume.node.Application) -- This message was sent by Atlassian JIRA (v6.4.14#64029)