Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
6.5.0
-
CB 6.5.0 on RHEL 7.7
-
Untriaged
-
Centos 64-bit
-
1
-
Unknown
Description
I started writing 500 docs to the cluster in a transaction with durability set to Majority and brought down 1 node (3 node dev cluster). After the expiry timeout, CB realized that transaction had failed and looking at the logs, it tried to roll back and delete all the empty docs. However, looks like it could not delete them due to DurabilityImpossibleException and gave up. Now I have 109 empty docs in the bucket! (logs attached). This violates the very definition of Atomicity! CB should firstly not create those empty docs. Even if does, it should be able to rollback all docs that were created if a node goes down and transaction times out irrespective of durability guarantees.