-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Layered Tables
-
None
-
Storage Engines - Foundations
-
552.627
-
None
-
8
Currently we request to reset all the cursors before the step up. One of the reasons for this (I don't know if there are others) is that on a follower we open the stable table as a checkpointed btree but for leader we should always open it as a live btree to be able to serve writes to the stable table.
Currently we don't have a safe way to reopen a table in all the possible cases (see
__clayered_can_advance_stable). One example could be when the cursor is positioned:
// start as a follower cursor.search() // positioned on the stable // step-up cursor.update() // __clayered_can_advance_stable returns false since we are positioned on the cursor, and we try to write to a checkpointed btree
It might be a part of our job that should be done to rework layered cursors and prepare them for async step-up/step-down