[ 
https://issues.apache.org/jira/browse/HDFS-16972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17709078#comment-17709078
 ] 

ASF GitHub Bot commented on HDFS-16972:
---------------------------------------

umamaheswararao commented on PR #5532:
URL: https://github.com/apache/hadoop/pull/5532#issuecomment-1498000753

   When I was debugging, here the call trace:
   cleanFile:128, FileWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   cleanSubtree:755, INodeFile (org.apache.hadoop.hdfs.server.namenode)
   destroyDstSubtree:409, DirectoryWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   destroyDstSubtree:405, DirectoryWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   destroyDstSubtree:405, DirectoryWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   destroyDstSubtree:435, DirectoryWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   destroyDstSubtree:435, DirectoryWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   destroyAndCollectBlocks:847, INodeReference$DstReference 
(org.apache.hadoop.hdfs.server.namenode)
   cleanDirectory:762, DirectoryWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   cleanSubtree:848, INodeDirectory (org.apache.hadoop.hdfs.server.namenode)
   cleanSubtree:314, INodeReference (org.apache.hadoop.hdfs.server.namenode)
   cleanSubtree:659, INodeReference$WithName 
(org.apache.hadoop.hdfs.server.namenode)
   cleanSubtreeRecursively:819, INodeDirectory 
(org.apache.hadoop.hdfs.server.namenode)
   cleanDirectory:734, DirectoryWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   cleanSubtree:848, INodeDirectory (org.apache.hadoop.hdfs.server.namenode)
   cleanSubtreeRecursively:819, INodeDirectory 
(org.apache.hadoop.hdfs.server.namenode)
   cleanDirectory:734, DirectoryWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   cleanSubtree:848, INodeDirectory (org.apache.hadoop.hdfs.server.namenode)
   cleanSubtreeRecursively:819, INodeDirectory 
(org.apache.hadoop.hdfs.server.namenode)
   cleanDirectory:734, DirectoryWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   cleanSubtree:848, INodeDirectory (org.apache.hadoop.hdfs.server.namenode)
   cleanSubtreeRecursively:819, INodeDirectory 
(org.apache.hadoop.hdfs.server.namenode)
   cleanSubtree:866, INodeDirectory (org.apache.hadoop.hdfs.server.namenode)
   cleanSubtreeRecursively:819, INodeDirectory 
(org.apache.hadoop.hdfs.server.namenode)
   cleanSubtree:866, INodeDirectory (org.apache.hadoop.hdfs.server.namenode)
   cleanSubtreeRecursively:819, INodeDirectory 
(org.apache.hadoop.hdfs.server.namenode)
   cleanSubtree:866, INodeDirectory (org.apache.hadoop.hdfs.server.namenode)
   cleanSubtreeRecursively:819, INodeDirectory 
(org.apache.hadoop.hdfs.server.namenode)
   cleanDirectory:734, DirectoryWithSnapshotFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   cleanSubtree:848, INodeDirectory (org.apache.hadoop.hdfs.server.namenode)
   removeSnapshot:266, DirectorySnapshottableFeature 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   removeSnapshot:298, INodeDirectory (org.apache.hadoop.hdfs.server.namenode)
   deleteSnapshot:541, SnapshotManager 
(org.apache.hadoop.hdfs.server.namenode.snapshot)
   deleteSnapshot:280, FSDirSnapshotOp (org.apache.hadoop.hdfs.server.namenode)
   deleteSnapshot:264, FSDirSnapshotOp (org.apache.hadoop.hdfs.server.namenode)
   deleteSnapshot:7012, FSNamesystem (org.apache.hadoop.hdfs.server.namenode)
   testValidation1:80, TestFsImageValidation 
(org.apache.hadoop.hdfs.server.namenode)
   invoke0:-1, NativeMethodAccessorImpl (sun.reflect)
   invoke:62, NativeMethodAccessorImpl (sun.reflect)
   invoke:43, DelegatingMethodAccessorImpl (sun.reflect)
   invoke:498, Method (java.lang.reflect)
   runReflectiveCall:50, FrameworkMethod$1 (org.junit.runners.model)
   run:12, ReflectiveCallable (org.junit.internal.runners.model)
   invokeExplosively:47, FrameworkMethod (org.junit.runners.model)
   evaluate:17, InvokeMethod (org.junit.internal.runners.statements)
   runLeaf:325, ParentRunner (org.junit.runners)
   runChild:78, BlockJUnit4ClassRunner (org.junit.runners)
   runChild:57, BlockJUnit4ClassRunner (org.junit.runners)
   run:290, ParentRunner$3 (org.junit.runners)
   schedule:71, ParentRunner$1 (org.junit.runners)
   runChildren:288, ParentRunner (org.junit.runners)
   access$000:58, ParentRunner (org.junit.runners)
   evaluate:268, ParentRunner$2 (org.junit.runners)
   run:363, ParentRunner (org.junit.runners)
   run:137, JUnitCore (org.junit.runner)
   startRunnerWithArgs:69, JUnit4IdeaTestRunner (com.intellij.junit4)
   execute:38, IdeaTestRunner$Repeater$1 (com.intellij.rt.junit)
   repeat:11, TestsRepeater (com.intellij.rt.execution.junit)
   startRunnerWithArgs:35, IdeaTestRunner$Repeater (com.intellij.rt.junit)
   prepareStreamsAndStart:232, JUnitStarter (com.intellij.rt.junit)
   main:55, JUnitStarter (com.intellij.rt.junit)
   
   This is the place this patch is trying to fix the issue. My other question 
is, when call reaches here, the snapshot id is CURRENT_STATE_ID, which 
represent current state. Why are we proceeding to clean subtree originally with 
CURRENT_STATE_ID. Could you provide more details on that? Below image showing 
where we started using CURRENT_STATE_ID
   
   
![image](https://user-images.githubusercontent.com/1719507/230183316-96115437-619c-4887-98c4-df1962b81d2e.png)
   
   




> Delete a snapshot may deleteCurrentFile
> ---------------------------------------
>
>                 Key: HDFS-16972
>                 URL: https://issues.apache.org/jira/browse/HDFS-16972
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: snapshots
>            Reporter: Tsz-wo Sze
>            Assignee: Tsz-wo Sze
>            Priority: Major
>              Labels: pull-request-available
>
> We found one case the when deleting a snapshot (with ordered snapshot 
> deletion disabled), it can incorrectly delete some files in the current state.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to