[ 
https://issues.apache.org/jira/browse/HDFS-15590?focusedWorklogId=489404&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-489404
 ]

ASF GitHub Bot logged work on HDFS-15590:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 23/Sep/20 06:01
            Start Date: 23/Sep/20 06:01
    Worklog Time Spent: 10m 
      Work Description: bshashikant commented on pull request #2326:
URL: https://github.com/apache/hadoop/pull/2326#issuecomment-697152099


   > How about failing the second user delete request with a "Already marked as 
deleted" exception instead of changing the edit log loading? It is hard for 
editlog loading to guess if the command is valid.
   
   Thanks @szetszwo . The problem is just not with user deletes. Let's see a 
sequence like this:
   1) Let's say we have 2 snapshots s1 and S2 after enabling ordered snapshot 
deletion
   2) User deleted S2 ---> creates an edit log entry
   3) User deleted S1 
   4) Snapshot Deletion GC thread will now delete S2 ---> creates an edit log 
entry again
   5) Now turn off Ordered Snapshot Deletion and Restart
   
   It will run into the same problem again. We cannot seem to avoid 2 edit log 
entries for same snapshot delete with Snapshot GC thread running and deleting 
the snapshot.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 489404)
    Time Spent: 50m  (was: 40m)

> namenode fails to start when ordered snapshot deletion feature is disabled
> --------------------------------------------------------------------------
>
>                 Key: HDFS-15590
>                 URL: https://issues.apache.org/jira/browse/HDFS-15590
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: snapshots
>            Reporter: Nilotpal Nandi
>            Assignee: Shashikant Banerjee
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.4.0
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> {code:java}
> 1. Enabled ordered deletion snapshot feature.
> 2. Created snapshottable directory - /user/hrt_6/atrr_dir1
> 3. Created snapshots s0, s1, s2.
> 4. Deleted snapshot s2
> 5. Delete snapshot s0, s1, s2 again
> 6. Disable ordered deletion snapshot feature
> 5. Restart Namenode
> Failed to start namenode.
> org.apache.hadoop.hdfs.protocol.SnapshotException: Cannot delete snapshot s2 
> from path /user/hrt_6/atrr_dir2: the snapshot does not exist.
>       at 
> org.apache.hadoop.hdfs.server.namenode.snapshot.DirectorySnapshottableFeature.removeSnapshot(DirectorySnapshottableFeature.java:237)
>       at 
> org.apache.hadoop.hdfs.server.namenode.INodeDirectory.removeSnapshot(INodeDirectory.java:293)
>       at 
> org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager.deleteSnapshot(SnapshotManager.java:510)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.applyEditLogOp(FSEditLogLoader.java:819)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:287)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadFSEdits(FSEditLogLoader.java:182)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadEdits(FSImage.java:912)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:760)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:337)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1164)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:755)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:646)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:717)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:960)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:933)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1670)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1737)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to