liang xie created HDFS-4359: ------------------------------- Summary: remove an unnecessary synchronized keyword in BPOfferService.java Key: HDFS-4359 URL: https://issues.apache.org/jira/browse/HDFS-4359 Project: Hadoop HDFS Issue Type: Bug Components: datanode Affects Versions: 2.0.2-alpha, 3.0.0 Reporter: liang xie Assignee: liang xie
we encountered a NN&DN hung issue, the DN hung was caused by no NN response for heartbeat. Per DN thread dump, i think we can have a little improvement on this detail code : synchronized List<BPServiceActor> getBPServiceActors() { return Lists.newArrayList(bpServices); } the bpServices is declared as : private List<BPServiceActor> bpServices = new CopyOnWriteArrayList<BPServiceActor>(); It's a thread-safe variant indead, so we can remove the above synchronized keyword safely, IMHO. Here is a simple statistic for thread dump: xieliang@xieliang:/tmp$ grep 0x00000007b00289f0 dn.jstack |wc -l 252 -- 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