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