br1ghtyang / asterixdb

Automatically exported from code.google.com/p/asterixdb
0 stars 0 forks source link

Active transaction count on indexes not properly incremented/decremented in the face of hash collisions #441

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
The problem arises in the following scenario:
Two keys that hash to the same value are alive at the same time in an insert 
pipeline (e.g. they happen to be in the same frame). Inserting them into an 
index causes a counter to be incremented twice. However, when the keys are 
committed, because they are under the same transaction bracket (because they 
share the same hash value), they only produce a single commit log record. The 
way the code is structured now is that the original counter is decremented for 
every commit log record. 

Young-Seok, Sattam, and I have discussed a fix, but need more time to verify 
that it is correct (currently we deem it to be correct for a successful 
transaction, but haven't verified it in the face of an abort).

Original issue reported on code.google.com by zheilb...@gmail.com on 11 May 2013 at 7:35

GoogleCodeExporter commented 8 years ago
Merging into the umbrella issue

Original comment by zheilb...@gmail.com on 24 May 2013 at 9:48