br1ghtyang / asterixdb

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

Calculation of the active transaction counter is broken #587

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
The way we maintain the active transaction counter is wrong. The class 
PrimaryIndexOperationTracker which is responsible of maintaining number of 
active transactions counter has a method called exclusiveJobCommitted() which 
*reset* the counter to zero. This method is called whenever there is a job 
level commit. The resetting of the counter to zero is wrong because it discards 
all other active transactions who are still using this dataset.

If you print logging messages in that class to monitor the counter, and run 
concurrent write queries against the same dataset, you will see the value of 
the counter will be negative in many times before suddenly jumping to a 
positive value, which should never happen.

Original issue reported on code.google.com by salsuba...@gmail.com on 27 Jul 2013 at 9:47

GoogleCodeExporter commented 8 years ago

Original comment by salsuba...@gmail.com on 28 Jul 2013 at 8:58

GoogleCodeExporter commented 8 years ago

Original comment by salsuba...@gmail.com on 23 Aug 2013 at 5:34