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

Sumit Agrawal commented on HDDS-5905:
-------------------------------------

As Understanding of Flow,
1. KeyDeletingService Background Service collects all deleted keys and perform 
SCM delete,
2. Then Sends request for purge to OMKeyPurgeRequest (in ratis), where it 
actually removes from deleted table (no lock)

Can we pass extra information for deletion from KeyDeletingService to 
OMKeyPurgeReqest, to make unique delete ? like objectId or parentObjectID or 
updateID or worst case creationTime (which can handle concurrrency in milli 
sec) ?
I think rocks db may support this delete with comparing multiple filter.

> Race condition of deletion service and active object deletion
> -------------------------------------------------------------
>
>                 Key: HDDS-5905
>                 URL: https://issues.apache.org/jira/browse/HDDS-5905
>             Project: Apache Ozone
>          Issue Type: Bug
>          Components: OM
>    Affects Versions: 0.5.0, 1.0.0, 1.1.0, 1.2.0
>            Reporter: UENISHI Kota
>            Assignee: UENISHI Kota
>            Priority: Major
>
> Race condition of deletion service - the deletion service does delete blocks 
> and later delete the entry in delete table without any locking. After the 
> deletion service fetches the keys and before deleting them from the table, a 
> user's concurrent  deletion of active key (and addition to the delete table) 
> will be lost without deleting blocks.
> From Bharat's [Slack 
> comment|https://the-asf.slack.com/archives/C5RK7PWA1/p1635135579007300?thread_ts=1635134167.007000&cid=C5RK7PWA1]:
> There seems to issue When same key is created/deleted we might miss deleting 
> some blocks.  Scenario below.
> 1. lets say key deleted we add to delete table
> 2. the BG picks up and completed sending to SCM,
> 3. After SCM ack, it deletes from delete table using purgekey
> 4. Now there is a new key addeed/deleted between 2 and 3 we add to delete key 
> table, we will delete newly added entries which are not deleted by purge key.



--
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