[ 
https://issues.apache.org/jira/browse/HDFS-2452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128663#comment-13128663
 ] 

Praveen Kumar K J V S commented on HDFS-2452:
---------------------------------------------

I think the check has to be done before starting the thread. Also in 
DataNode.java, the method getXceiverCount() is using ThreadGroup.activeCount() 
which only returns the estimate of number of threads running in a thread-group. 
This information has to be used for only informational purpose (look at the 
java docs), but we are using for controlling the state of the Data-Node. 

My suggestion would be to use a variable to track the number of active threads 
or better a thread pool. Even better if we are able to dynamically control the 
value of this variable, so that we get max throughput from the data-node.

Thanks,
Praveen Kumar K J V S
                
> OutOfMemoryError in DataXceiverServer takes down the DataNode
> -------------------------------------------------------------
>
>                 Key: HDFS-2452
>                 URL: https://issues.apache.org/jira/browse/HDFS-2452
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: data-node
>    Affects Versions: 0.22.0
>            Reporter: Konstantin Shvachko
>            Assignee: Uma Maheswara Rao G
>             Fix For: 0.22.0
>
>
> OutOfMemoryError brings down DataNode, when DataXceiverServer tries to spawn 
> a new data transfer thread.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to