Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.3.0
-
None
-
None
Description
doRollback() calls queue.completeTransaction() only for take transactions. It should also be called for put transactions. A side effect of this is that the channel ends up thinking the data file which contains the rolled back transaction still has pending events, and will not delete any files which have ids after that one. Restarting the channel will cause files to be deleted if their ref count is zero, even if they are in inflight puts list. The reason the replay fixes this is that the inflight puts are not inserted into the queue because a commit for the puts is never seen. So this issue can be fixed by simply restarting the agent, at least until another put transaction is rolled back - which will result in the same issue.
Attachments
Attachments
Issue Links
- links to