Skip to content

Conversation

@haiyang1987
Copy link
Contributor

Description of PR

As described in https://issues.apache.org/jira/browse/HDFS-16757

Add a new method copyBlockCrossNamespace to Datanode to support fast copy.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 48s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 buf 0m 0s buf was not available.
+0 🆗 buf 0m 0s buf was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 4 new or modified test files.
_ HDFS-2139 Compile Tests _
+0 🆗 mvndep 18m 10s Maven dependency ordering for branch
+1 💚 mvninstall 19m 43s HDFS-2139 passed
+1 💚 compile 5m 19s HDFS-2139 passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1
+1 💚 compile 5m 5s HDFS-2139 passed with JDK Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
+1 💚 checkstyle 1m 24s HDFS-2139 passed
+1 💚 mvnsite 2m 13s HDFS-2139 passed
+1 💚 javadoc 1m 50s HDFS-2139 passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1
+1 💚 javadoc 2m 14s HDFS-2139 passed with JDK Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
+1 💚 spotbugs 5m 40s HDFS-2139 passed
+1 💚 shadedclient 22m 15s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 29s Maven dependency ordering for patch
+1 💚 mvninstall 1m 50s the patch passed
+1 💚 compile 5m 11s the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1
+1 💚 cc 5m 11s the patch passed
+1 💚 javac 5m 11s the patch passed
+1 💚 compile 4m 54s the patch passed with JDK Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
+1 💚 cc 4m 54s the patch passed
+1 💚 javac 4m 54s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 1 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 1m 10s /results-checkstyle-hadoop-hdfs-project.txt hadoop-hdfs-project: The patch generated 3 new + 621 unchanged - 3 fixed = 624 total (was 624)
+1 💚 mvnsite 1m 56s the patch passed
+1 💚 javadoc 1m 27s the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1
+1 💚 javadoc 2m 3s the patch passed with JDK Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
+1 💚 spotbugs 5m 34s the patch passed
+1 💚 shadedclient 22m 32s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 2m 22s hadoop-hdfs-client in the patch passed.
-1 ❌ unit 237m 51s /patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt hadoop-hdfs in the patch passed.
+1 💚 asflicense 0m 51s The patch does not generate ASF License warnings.
373m 13s
Reason Tests
Failed junit tests hadoop.tools.TestHdfsConfigFields
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5719/1/artifact/out/Dockerfile
GITHUB PR #5719
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets cc buflint bufcompat
uname Linux e28c6c8db0a7 4.15.0-206-generic #217-Ubuntu SMP Fri Feb 3 19:10:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision HDFS-2139 / a03ead0
Default Java Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5719/1/testReport/
Max. process+thread count 2825 (vs. ulimit of 5500)
modules C: hadoop-hdfs-project/hadoop-hdfs-client hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5719/1/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 48s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 buf 0m 1s buf was not available.
+0 🆗 buf 0m 1s buf was not available.
+0 🆗 xmllint 0m 1s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 4 new or modified test files.
_ HDFS-2139 Compile Tests _
+0 🆗 mvndep 16m 44s Maven dependency ordering for branch
+1 💚 mvninstall 19m 36s HDFS-2139 passed
+1 💚 compile 5m 13s HDFS-2139 passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1
+1 💚 compile 5m 10s HDFS-2139 passed with JDK Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
+1 💚 checkstyle 1m 24s HDFS-2139 passed
+1 💚 mvnsite 2m 14s HDFS-2139 passed
+1 💚 javadoc 1m 51s HDFS-2139 passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1
+1 💚 javadoc 2m 17s HDFS-2139 passed with JDK Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
+1 💚 spotbugs 5m 44s HDFS-2139 passed
+1 💚 shadedclient 22m 30s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 28s Maven dependency ordering for patch
+1 💚 mvninstall 1m 51s the patch passed
+1 💚 compile 5m 7s the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1
+1 💚 cc 5m 7s the patch passed
+1 💚 javac 5m 7s the patch passed
+1 💚 compile 4m 58s the patch passed with JDK Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
+1 💚 cc 4m 58s the patch passed
+1 💚 javac 4m 58s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 1m 11s hadoop-hdfs-project: The patch generated 0 new + 621 unchanged - 3 fixed = 621 total (was 624)
+1 💚 mvnsite 1m 56s the patch passed
+1 💚 javadoc 1m 25s the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1
+1 💚 javadoc 2m 1s the patch passed with JDK Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
+1 💚 spotbugs 5m 34s the patch passed
+1 💚 shadedclient 22m 37s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 2m 24s hadoop-hdfs-client in the patch passed.
-1 ❌ unit 238m 24s /patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt hadoop-hdfs in the patch passed.
+1 💚 asflicense 0m 50s The patch does not generate ASF License warnings.
372m 15s
Reason Tests
Failed junit tests hadoop.hdfs.TestRollingUpgrade
hadoop.hdfs.server.datanode.TestDataNodeLifeline
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5719/2/artifact/out/Dockerfile
GITHUB PR #5719
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets cc buflint bufcompat xmllint
uname Linux dc5c0f5b6215 4.15.0-206-generic #217-Ubuntu SMP Fri Feb 3 19:10:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision HDFS-2139 / 5d806d0
Default Java Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u372-gaus1-0ubuntu120.04-b09
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5719/2/testReport/
Max. process+thread count 3163 (vs. ulimit of 5500)
modules C: hadoop-hdfs-project/hadoop-hdfs-client hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5719/2/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@haiyang1987
Copy link
Contributor Author

The failed unit test seems unrelated to the change.

@haiyang1987
Copy link
Contributor Author

@ZanderXu @ferhui @Hexiaoqiao @ayushtkn please help me review this pr when you are available, Thanks.

try {
// Check access
checkAccess(reply, true, srcBlock, srcBlockToken,
Op.COPY_BLOCK_CROSS_NAMESPACE, BlockTokenIdentifier.AccessMode.COPY);
Copy link
Contributor

@LiuGuH LiuGuH Jun 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we use namenode.getBlockLocations() , the blockToken AccessMode is BlockTokenIdentifier.AccessMode.READ. I also test in a real hdfs cluster with FastCopy.

@LiuGuH
Copy link
Contributor

LiuGuH commented Jun 4, 2024

Hello ,sirs . For some reason, I now work with fastcopy and current progerss is that I now already finished fastcopy tools in standalone mode. Both replicated files and EC files are supported. And next is trying to finish distcp with fastcopy.
@haiyang1987 , are you still work on this ? If not ,I hope to finish the rest of the work. Thanks you.
And @ZanderXu @ayushtkn @Hexiaoqiao Sirs, can we continue to push this mission forward? FastCopy is more efficient
for data replication in a single hdfs cluster or a federation hdfs cluter with more nameservices. Thanks!

// Async copy the block
Future<?> result = datanode.internalCopyBlockCrossNamespace(srcBlock, targetBlock, targetDN);
try {
result.get(dnConf.getCopyBlockCrossNamespaceSocketTimeout(), TimeUnit.MILLISECONDS);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If srcBlock targetBlock not in a same datanode, it will use DataTransfer . And DataTransfer will catch any exception in thread , so result.get() will always can not catch IOException.

@haiyang1987
Copy link
Contributor Author

Hello ,sirs . For some reason, I now work with fastcopy and current progerss is that I now already finished fastcopy tools in standalone mode. Both replicated files and EC files are supported. And next is trying to finish distcp with fastcopy. @haiyang1987 , are you still work on this ? If not ,I hope to finish the rest of the work. Thanks you. And @ZanderXu @ayushtkn @Hexiaoqiao Sirs, can we continue to push this mission forward? FastCopy is more efficient for data replication in a single hdfs cluster or a federation hdfs cluter with more nameservices. Thanks!

Thanks @LiuGuH for your comment. I will check it based on your suggestion later.

Of course, you can finish to work other subtasks. Fast Copy is really a good feature, hope we continue to push this. thanks!

@github-actions
Copy link
Contributor

We're closing this stale PR because it has been open for 100 days with no activity. This isn't a judgement on the merit of the PR in any way. It's just a way of keeping the PR queue manageable.
If you feel like this was a mistake, or you would like to continue working on it, please feel free to re-open it and ask for a committer to remove the stale tag and review again.
Thanks all for your contribution.

@github-actions github-actions bot added the Stale label Oct 19, 2025
@github-actions github-actions bot closed this Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants