You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "liaoyuxiangqin (JIRA)" <ji...@apache.org> on 2017/08/31 07:33:00 UTC

[jira] [Created] (HDFS-12380) Simplify dataQueue.wait condition logical operation

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-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org