Investigate whether the stat log server should process ingest tables on leader

XMLWordPrintableJSON

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

      Issue Summary

      When verifying ingest tables on a leader, it is expected that the ingest table is empty and should not be dirty, allowing verification at all times. However, an unexpected EBUSY error was encountered in WT-16703 because the __statlog_server accesses the ingest table in parallel, contradicting this assumption.

      Context

      • The stat log server iterates over all open dhandles and accesses each of them, including ingest tables.
      • Closing the ingest table dhandle may trigger the ingest dhandle sweep, potentially negating the advantages of creating ingest tables on the leader.
      • Currently, ingest tables are closed only when the entire layered table is closed.
      • There is a suggestion to introduce an intermediate state for ingest tables, indicating they are unused but not closed.
      • Other components, such as the sweep server, may also access ingest tables and cause verify to return EBUSY.

      Proposed Solution

      • As a short-term resolution, avoid performing checks on ingest tables on the leader and leave a FIXME to investigate preventing all service threads on the leader from accessing ingest tables.
      • In the stat log server, consider skipping ingest tables on the leader with logic such as:
        if leader and uri is ingest => skip file
        
      • Investigate whether skipping ingest tables could be beneficial in other scenarios as well.
      • Confirm the understanding of the ingest table dhandle lifecycle and explore options for intermediate states.

            Assignee:
            Unassigned
            Reporter:
            Memento Slack Bot
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: