orientechnologies/orientdb

Rollback only last leaf page changes in B-Tree index.

andrii0lomakin opened this issue · 0 comments

There is no need to deal with changes in transactions done to non-leaf classes of B-Tree index essential separators, which could be fake ones, and the presence of keys that we rolled back during transactions does not introduce any errors.

As a result, we can apply those changes directly to the pages and collect only the data needed to redo changes for a given transaction.

Only the last write that adds a key-value entry to the index page should be rolled back.