[ 
https://issues.apache.org/jira/browse/HDFS-12380?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

liaoyuxiangqin updated HDFS-12380:
----------------------------------
    Status: Patch Available  (was: Open)

> 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
>         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

Reply via email to