[
https://issues.apache.org/jira/browse/HDFS-16900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17682569#comment-17682569
]
ZhangHB commented on HDFS-16900:
--------------------------------
Hi, [~inigoiri] , [~sunlisheng] , could you please have a look at this.
> 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
> Priority: Major
>
> 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: [email protected]
For additional commands, e-mail: [email protected]