Investigate whether ENOENT tolerance in __curstat_layered_init is reachable

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Layered Tables
    • None
    • Storage Engines - Foundations
    • 352.465
    • None
    • None

      Background

      WT-18355 fixed __curstat_layered_init to route tables created during the step-down window (WT_LAYERED_TABLE_STEP_DOWN_CREATED) through the follower path, which tolerates a missing stable constituent. As a belt-and-suspenders measure, a bare ENOENT guard was also added after the leader path to cover a role-transition race.

      Investigation Needed

      Determine whether the ENOENT guard is reachable in practice. The flag check should cover every table without a stable constituent. If the flag is always set before a leader could reach the stable dhandle open with no matching metadata row, the guard is dead code and can be removed.

      The guard lives in src/cursor/cur_stat.c, _curstat_layered_init, after the _wt_session_get_dhandle call on the stable URI.

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Jie Chen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: