Skip to content

Conversation

@Jimvin
Copy link

@Jimvin Jimvin commented Nov 7, 2025

Description of PR

This is a fix for bug described in HDFS-17854 that changes the behaviour of the namenode web UI delete modal to prevent unexpected file deletion.

How was this patch tested?

The patch was tested manually to confirm the expected behaviour is observed when deleting files in the web UI.

For code changes:

  • Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
  • Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 47s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+0 🆗 jshint 0m 0s jshint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-1 ❌ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ trunk Compile Tests _
+1 💚 mvninstall 34m 11s trunk passed
+1 💚 compile 1m 20s trunk passed with JDK Ubuntu-21.0.7+6-Ubuntu-0ubuntu120.04
+1 💚 compile 1m 25s trunk passed with JDK Ubuntu-17.0.15+6-Ubuntu-0ubuntu120.04
+1 💚 mvnsite 1m 36s trunk passed
+1 💚 javadoc 1m 11s trunk passed with JDK Ubuntu-21.0.7+6-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 9s trunk passed with JDK Ubuntu-17.0.15+6-Ubuntu-0ubuntu120.04
+1 💚 shadedclient 66m 39s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 1m 21s the patch passed
+1 💚 compile 1m 21s the patch passed with JDK Ubuntu-21.0.7+6-Ubuntu-0ubuntu120.04
+1 💚 javac 1m 21s the patch passed
+1 💚 compile 1m 20s the patch passed with JDK Ubuntu-17.0.15+6-Ubuntu-0ubuntu120.04
+1 💚 javac 1m 20s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 1m 28s the patch passed
+1 💚 javadoc 1m 1s the patch passed with JDK Ubuntu-21.0.7+6-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 4s the patch passed with JDK Ubuntu-17.0.15+6-Ubuntu-0ubuntu120.04
+1 💚 shadedclient 29m 33s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 213m 11s /patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt hadoop-hdfs in the patch passed.
+1 💚 asflicense 0m 47s The patch does not generate ASF License warnings.
318m 2s
Reason Tests
Failed junit tests hadoop.tools.TestHdfsConfigFields
Subsystem Report/Notes
Docker ClientAPI=1.51 ServerAPI=1.51 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8068/1/artifact/out/Dockerfile
GITHUB PR #8068
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint jshint
uname Linux fc962a5104ea 5.15.0-160-generic #170-Ubuntu SMP Wed Oct 1 10:06:56 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 1c0eaf2
Default Java Ubuntu-17.0.15+6-Ubuntu-0ubuntu120.04
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.7+6-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.15+6-Ubuntu-0ubuntu120.04
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8068/1/testReport/
Max. process+thread count 3600 (vs. ulimit of 5500)
modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8068/1/console
versions git=2.25.1 maven=3.9.11
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@Jimvin
Copy link
Author

Jimvin commented Nov 8, 2025

Manual testing was performed on the namenode webUI to confirm that this change addresses the unexpected file deletion issue.

The following steps can be used to reproduce this issue before this change was applied:

  • Open the namenode web UI and select utilities -> Browse the file system
  • Click on the trashcan delete icon next to a file
  • Click the cancel button on the delete confirmation modal
  • Click in the delete icon for a different file
  • Click the Delete button on the delete confirmation modal
  • Both files are deleted

After applying the change the documented behaviour from manual testing:

  • Open the namenode web UI and select utilities -> Browse the file system
  • Click on the trashcan delete icon next to a file
  • Click the cancel button on the delete confirmation modal
  • Click in the delete icon for a different file
  • Click the Delete button on the delete confirmation modal
  • Only the last selected file was deleted

@slfan1989
Copy link
Contributor

@Jimvin Thank you for your contribution, but I have a question: what is the relationship between this and adding a configuration?

Removed the dfs.datanode.synconclose property and its description from hdfs-default.xml.
@Jimvin
Copy link
Author

Jimvin commented Nov 10, 2025

The configuration change was checked in in error, I have removed it from the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants