benchbase
benchbase copied to clipboard
aborted transactions in Wikipedia
If you look at any recent run of wikipedia
you will see that 3 of the procedures fail 100% of the time with "aborted" transactions. Upon further inspection i think this was unintended but i'd like to confirm.
Aborted Transactions:
com.oltpbenchmark.benchmarks.wikipedia.procedures.UpdatePage/03 [ 4170] ******
com.oltpbenchmark.benchmarks.wikipedia.procedures.GetPageAnonymous/04 [54069] ********************************************************************************
com.oltpbenchmark.benchmarks.wikipedia.procedures.GetPageAuthenticated/05 [ 585]
The cause of this appears to be that the runner logic essentially creates new page variables when executing the above procedures instead of referencing existing pages previously created. In other words, instead of doing lookups using existing data, the code generates keys that don't already exist in the database... thus always returning 0 records. The fix here is to ensure that the above procedures get a handle on an existing page.
I have a fix completed and tested but want to open this issue for history and discussion if i'm missing something.
a good example of this is here... https://github.com/cmu-db/benchbase/actions/runs/1918000781. if you look at the postgres
run you see the following...
Completed Transactions:
com.oltpbenchmark.benchmarks.wikipedia.procedures.AddWatchList/01 [ 633]
com.oltpbenchmark.benchmarks.wikipedia.procedures.RemoveWatchList/02 [ 609]
com.oltpbenchmark.benchmarks.wikipedia.procedures.UpdatePage/03 [ 0]
com.oltpbenchmark.benchmarks.wikipedia.procedures.GetPageAnonymous/04 [ 0]
com.oltpbenchmark.benchmarks.wikipedia.procedures.GetPageAuthenticated/05 [ 0]
Aborted Transactions:
com.oltpbenchmark.benchmarks.wikipedia.procedures.UpdatePage/03 [ 4113]
com.oltpbenchmark.benchmarks.wikipedia.procedures.GetPageAnonymous/04 [54020]
com.oltpbenchmark.benchmarks.wikipedia.procedures.GetPageAuthenticated/05 [ 626]