benchbase
benchbase copied to clipboard
MySQL GIPK feature conflicts with tables without primary keys
I experienced this error while trying to load TPC-C on a MySQL server that came with GIPK enabled by default.
[ERROR] 2023-12-07 00:55:28,801 [Thread-1] com.oltpbenchmark.api.Loader loadCustomerHistory - No value specified for parameter 9
After digging into it more, the schema shows the history table should only have 8 values.
I realized GIPK was creating an additional column my_row_id
as the schema does not set an explicit primary key, which is probably going into the auto-generation of the insert statements during loading.
Attached are the example schema descriptions from the order table (which has explicit primary key) versus the history table:
Disabling GIPK and re-loading the data helped me to mitigate this issue, but maybe the history table could use a primary key or GIPK columns should be excluded from insert statements.