ZhangHB created HDFS-16900: ------------------------------ Summary: Method DataNode#isWrite seems not working in DataTransfer constructor method Key: HDFS-16900 URL: https://issues.apache.org/jira/browse/HDFS-16900 Project: Hadoop HDFS Issue Type: Bug Components: datanode Affects Versions: 3.3.4 Reporter: ZhangHB
In constructor method of DataTransfer, there is codes below: {code:java} if (isTransfer(stage, clientname)) { this.throttler = xserver.getTransferThrottler(); } else if(isWrite(stage)) { this.throttler = xserver.getWriteThrottler(); } {code} the stage is a parameter of DataTransfer Constructor. Let us see where instantiate DataTransfer object. In method transferReplicaForPipelineRecovery, codes like below: {code:java} final DataTransfer dataTransferTask = new DataTransfer(targets, targetStorageTypes, targetStorageIds, b, stage, client); {code} but the stage can never be PIPELINE_SETUP_STREAMING_RECOVERY or PIPELINE_SETUP_APPEND_RECOVERY. It can only be TRANSFER_RBW or TRANSFER_FINALIZED. So I think the method isWrite is not working. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org