[ https://issues.apache.org/jira/browse/HDFS-12380?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mingliang Liu updated HDFS-12380: --------------------------------- Summary: Simplify dataQueue.wait condition logical operation in DataStreamer::run() (was: Simplify dataQueue.wait condition logical operation) > Simplify dataQueue.wait condition logical operation in DataStreamer::run() > -------------------------------------------------------------------------- > > 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 > Attachments: HDFS-12380.001.patch, HDFS-12380.002.patch > > Original Estimate: 12h > Remaining Estimate: 12h > > 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-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org