[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#7844) LMDB Delete Cursor inconsistencies



Full_Name: Armon Dadgar
Version: 
OS: 
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (50.200.38.131)


When using a transaction across multiple named tables, it seems that if I am
iterating and deleting I can trigger a condition that causes some rows to be
missed by the cursor.

There is a test case here that can reproduce it:
https://gist.github.com/armon/11338944

You can run it using:
go run test.go mdb_table.go

Here is one of my test runs:
https://gist.github.com/armon/11338967

In that test, I would expect all 128 entries to be deleted, but only 43 are
before the cursor stops returning new rows.