Closed robertsami closed 1 year ago
note that this behavior is no longer observed if the primary key def'n no longer has the include (value)
clause
The UPDATE stmt is packing full row update, so it only creates an intent with full row (just like an INSERT). So from conflict resolver's view, the full row is locked.
When resolving conflict with select-for-keyshare, it finds out the full row is locked, so waiting on the UPDATE to commit.
Created https://github.com/yugabyte/yugabyte-db/issues/16459 to track the longer term fix to fix this. For now, disabling the optimization unblocks PackedRow default behavior.
Jira Link: DB-5380
Description
bin/yb-ctl create --rf 1 --tserver_flags="ysql_enable_packed_row=true"
first setup the data:
then setup one session as follows:
In the second session, we should see the following output when running these commands:
Instead, the select in the second session will hang due to read committed internal retry, indicating that a conflict was incorrectly detected