oltpbench
oltpbench copied to clipboard
TPCC benchmark violates consistency conditions
Shouldn't all the executeBatch()
be called out of these if-blocks?
https://github.com/oltpbenchmark/oltpbench/blob/dc32a26a2dc308c3ca75a7176b997d3a7b30b5c2/src/com/oltpbenchmark/benchmarks/tpcc/TPCCLoader.java#L200-L205
https://github.com/oltpbenchmark/oltpbench/blob/dc32a26a2dc308c3ca75a7176b997d3a7b30b5c2/src/com/oltpbenchmark/benchmarks/tpcc/TPCCLoader.java#L334-L338
https://github.com/oltpbenchmark/oltpbench/blob/dc32a26a2dc308c3ca75a7176b997d3a7b30b5c2/src/com/oltpbenchmark/benchmarks/tpcc/TPCCLoader.java#L509-L515
https://github.com/oltpbenchmark/oltpbench/blob/dc32a26a2dc308c3ca75a7176b997d3a7b30b5c2/src/com/oltpbenchmark/benchmarks/tpcc/TPCCLoader.java#L655-L667
Because when this commit()
is called in the end, the prepared statements in the last turns, are never taken account.
https://github.com/oltpbenchmark/oltpbench/blob/dc32a26a2dc308c3ca75a7176b997d3a7b30b5c2/src/com/oltpbenchmark/api/Loader.java#L64
.. and D_NEXT_O_ID
is getting hardcoded here.
https://github.com/oltpbenchmark/oltpbench/blob/dc32a26a2dc308c3ca75a7176b997d3a7b30b5c2/src/com/oltpbenchmark/benchmarks/tpcc/TPCCLoader.java#L374
.. which, in turn, violates TPCC consistency conditions 2 and 3 after loading phase and execution phase respectively.