dolt icon indicating copy to clipboard operation
dolt copied to clipboard

concurrency problems with dolt_commit()

Open zachmu opened this issue 3 years ago • 1 comments

Multiple concurrent sessions calling dolt_commit() can fail with the error "dataset head is not ancestor of commit".

This occurs because we determine the parent of a pending commit too early in the process, before we take a lock.

zachmu avatar Sep 16 '22 18:09 zachmu

Just an update: I have a prototype of a fix for this working for the original test repro at 5x the original concurrency load. We'll get it cleaned up, add some tests, and get it shipped this week.

zachmu avatar Sep 21 '22 00:09 zachmu