I am putting this in as a warning for now. I will try to get a scenario that reproduces
row = nil
db.cursor do |cursor|
begin
while row = cursor.next
# make some changes
end
ensure
env.active_txn.try(:commit)
end
end
something about how the cursor is released within the cursor will cause a random crash
row = nil
begin
db.cursor do |cursor|
while row = cursor.next
# make some changes
end
end
ensure
env.active_txn.try(:commit)
end
this code above doesn't crash
it appears there are protections in to handle this situation and it does work 90% of the time. Our main way of reproducing was to run a large test suite that is hitting a lot of lmdb data loading.