sodonnel commented on PR #5293: URL: https://github.com/apache/ozone/pull/5293#issuecomment-1721116085
> The check of 3 responses here is we want to make sure it can safely delete the transaction from the rocksdb table. But if there only 2 replicas, then this check is wrong. It should wait for 2 responses. I am also not sure that just skipping sending deletes to under replicated containers will fix this problem in all cases. Containers can be under-replicated due to mis-replication and have copies made, or the balancer could trigger a new copy to be made. If the goal is to avoid "missing" a delete, then what about this sort of scenario: * 3 replicas, but mis-replicated. * Send the deletes to the 3. * RM, at about the same time issues a replicate command for 1 just before its blocks are deleted. So replica 4 now exists. * Block are deleted from the original 3. Will the logic notice the 4th and clean it up too or does it get left with the now orphan block? My point is that if you are under replicated at the time you process the blocks, then there are only 2 containers to remove the block from, and you should not wait for a 3rd response, then the under-replication check is not needed at all. My other point is that, I think, there are other opportunities for containers to end up missing block deletes with offline replicas, maintenance replicas, over replication, under replication and balancing. -- 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]
