ChenSammi commented on PR #5293:
URL: https://github.com/apache/ozone/pull/5293#issuecomment-1721019952

   > > This is done to ensure rocksdb transaction gets deleted only after all 
the required nodes has committed the transaction.
   > 
   > But that is the bug - when you send to 2 nodes, you expect 2 responses not 
3.
   
   The check of 3 responses here is we want to make sure it can safely delete 
the transaction from the rocksdb table.  If there are only 2 responses are 
received, then the delete transaction cannot be deleted from the rocksdb. It 
will be kept in rocksdb, and also in memory map transactionToDNsCommitMap and 
transactionToRetryCountMap.  Both the rocksdb and memory map will remove this 
transaction's record until the 3rd replica is reported, and the block deletion 
executed on this 3rd replica and acked to SCM. 
   
   If the 3rd replica disappears for a long time, and there are many such 
containers, then these two in memory map will hold objects which cannot be 
released for a long time.  This task aims to improve this situation. 
   
   Adding a timeout to the delete command is a good idea. But it's not related 
with this issue. We can support it in a new JIRA.
   
   
   


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

To unsubscribe, e-mail: [email protected]

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


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

Reply via email to