[ 
https://issues.apache.org/jira/browse/FLUME-1481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brock Noland updated FLUME-1481:
--------------------------------

    Fix Version/s:     (was: v1.3.0)
                   v1.4.0
    
> Custom component may not support dynamic configuration
> ------------------------------------------------------
>
>                 Key: FLUME-1481
>                 URL: https://issues.apache.org/jira/browse/FLUME-1481
>             Project: Flume
>          Issue Type: Bug
>          Components: Channel, Sinks+Sources
>    Affects Versions: v1.2.0
>            Reporter: Denny Ye
>             Fix For: v1.4.0
>
>
> Flume NG provides more flexible extension at primary component. It's very 
> useful for users. Each custom component should implement LifecycleAware 
> interface in different ways.
> If the startup thread blocked at 'start()' method, the component will be runs 
> normally. Meanwhile, dynamic configuration function will be disable with 
> unreachable 'synchronized' lock.
> Example in my environment. Others also may meet this problem with custom 
> component.
> {quote}
> "lifecycleSupervisor-1-3" prio=10 tid=0x000000005d562000 nid=0x2a53 in 
> Object.wait() [0x0000000042a6b000]
>   java.lang.Thread.State: WAITING (on object monitor)
>     at java.lang.Object.wait(Native Method)
>     - waiting on <0x00002aaacc740d30> (a 
> org.apache.thrift.server.TNonblockingServer$SelectThread)
>     at java.lang.Thread.join(Thread.java:1143)
>     - locked <0x00002aaacc740d30> (a 
> org.apache.thrift.server.TNonblockingServer$SelectThread)
>     at java.lang.Thread.join(Thread.java:1196)
>     at 
> org.apache.thrift.server.TNonblockingServer.joinSelector(TNonblockingServer.java:170)
>     at 
> org.apache.thrift.server.TNonblockingServer.serve(TNonblockingServer.java:114)
>     at org.apache.flume.source.scribe.ScribeSource.start(ScribeSource.java:88)
>     at 
> org.apache.flume.source.EventDrivenSourceRunner.start(EventDrivenSourceRunner.java:44)
>     at 
> org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:237)
>     - locked {color:red}<0x00002aaacc755d78>{color} (a 
> org.apache.flume.source.EventDrivenSourceRunner)
>     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>       
>       
> "conf-file-poller-0" prio=10 tid=0x000000005d4de000 nid=0x2a50 waiting for 
> monitor entry [0x0000000042869000]
>   java.lang.Thread.State: BLOCKED (on object monitor)
>     at 
> org.apache.flume.lifecycle.LifecycleSupervisor.unsupervise(LifecycleSupervisor.java:153)
>     - waiting to lock {color:red}<0x00002aaacc755d78>{color} (a 
> org.apache.flume.source.EventDrivenSourceRunner)
>     - locked <0x00002aaacc755c30> (a 
> org.apache.flume.lifecycle.LifecycleSupervisor)
>     at 
> org.apache.flume.node.nodemanager.DefaultLogicalNodeManager.stopAllComponents(DefaultLogicalNodeManager.java:73)
>     at 
> org.apache.flume.conf.properties.PropertiesFileConfigurationProvider.load(PropertiesFileConfigurationProvider.java:219)
>     at 
> org.apache.flume.conf.file.AbstractFileConfigurationProvider.doLoad(AbstractFileConfigurationProvider.java:123)
>     - locked <0x00002aaacc75bfd0> (a 
> org.apache.flume.conf.properties.PropertiesFileConfigurationProvider)
>     at 
> org.apache.flume.conf.file.AbstractFileConfigurationProvider.access$300(AbstractFileConfigurationProvider.java:38)
>     at 
> org.apache.flume.conf.file.AbstractFileConfigurationProvider$FileWatcherRunnable.run(AbstractFileConfigurationProvider.java:202)
>     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> {quote}  
> The former doesn't release object lock and the follower cann't obtains 
> specified object lock. There are staying lock starvation. Dynamic 
> configuration function cannot apply for this component.
> This issue have happening only on case : component initialization thread was 
> blocked at 'start' method.
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to