Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Based on a comment from anew in a PR [ 1 ] -
Question: Suppose I start a transaction, which times out, and therefore goes into the invalid list. A little later HBase performs a major compaction. This transaction and all its writes are removed from the table by the DataJanitor. A little later TxManager prunes its invalid transactions, and because this tx has been removed from HBase, it removes it from the invalid list.
The problem is if the program that started the transaction is still running. What if it performs another write after the transaction pruning? This would be an invalid version, but now it has been pruned from the invalid list and becomes visible.
[ 1 ] - https://github.com/apache/incubator-tephra/pull/19#issuecomment-258645956
Attachments
Issue Links
- is related to
-
TEPHRA-224 Handle delay between transaction max lifetime check and data writes while pruning
- Resolved
- links to