liaoyuxiangqin created HDFS-12380: ------------------------------------- Summary: Simplify dataQueue.wait condition logical operation Key: HDFS-12380 URL: https://issues.apache.org/jira/browse/HDFS-12380 Project: Hadoop HDFS Issue Type: Improvement Components: hdfs-client Affects Versions: 3.0.0-beta1 Environment: cluster: 3 nodes os:(Red Hat 2.6.33.20, Red Hat 3.10.0-514.6.1.el7.x86_64, Ubuntu4.4.0-31-generic) hadoop version: hadoop-3.0.0-beta1 operation: Code review Reporter: liaoyuxiangqin Assignee: liaoyuxiangqin
When i read the run() of DataStream class in hdfs-client, i found the following condition code could be more simplify and easy to understand. {code:title=DataStreamer.java|borderStyle=solid} // wait for a packet to be sent. long now = Time.monotonicNow(); while ((!shouldStop() && dataQueue.size() == 0 && (stage != BlockConstructionStage.DATA_STREAMING || stage == BlockConstructionStage.DATA_STREAMING && now - lastPacket < halfSocketTimeout)) || doSleep ) { {code} as described above code segmet, i find the code of stage !=DATA_STREAMING and stage==DATA_STREAMING appear at the same time in one condition, so i think this condition logical not good understanding and should simplify more. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org