[
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