Fix test_many_tables with disagg hook for parallel checkpoints

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Checkpoints, Test Python
    • None

      With parallel checkpoints, running test_schema07.test_schema07.test_many_tables -s 0 with the disagg hook fails with the following error:

      [1774060054:382937][515361:0x7b56f0c58300], test_schema07.test_schema07.test_many_tables(dir_store), file:test_schema07-012791.wt_stable, WT_SESSION.checkpoint: [WT_VERB_EXTENSION][ERROR]: ext/page_log/palite/palite.cpp:860: void Connection::configure(const Container &) [Container = std::basic_string_view<char>[4]]: sqlite3_exec; return: 14 (unable to open database file); details: 14 (unable to open database file); args: '2594176072', 'PRAGMA journal_mode = WAL;', '0x0', '0x0', '0x0'
      [1774060054:383114][515361:0x7b56f0c58300], test_schema07.test_schema07.test_many_tables(dir_store), file:test_schema07-012791.wt_stable, WT_SESSION.checkpoint: [WT_VERB_EXTENSION][ERROR]: ext/page_log/palite/palite.cpp:579: int safe_call(WT_SESSION *, S *, MemberFunc, Args &&...) [T = PaliteHandle, S = __wt_page_log_handle, MemberFunc = int (PaliteHandle::*)(unsigned long, unsigned long, __wt_page_log_put_args *, const __wt_item *), Args = <unsigned long &, unsigned long &, __wt_page_log_put_args *&, const __wt_item *&>]: System error: sqlite3_exec; return: 14 (unable to open database file); details: 14 (unable to open database file); args: '2594176072', 'PRAGMA journal_mode = WAL;', '0x0', '0x0', '0x0': Input/output error
      

      In the current PALite implementation, each thread opens its own handle for SQLite files, and the addition of parallel checkpoints seems to push this over some limit.

      At the point this test fails, the test process has 2,150,091 open file handles (based on running lsof at the time of the failure).

            Assignee:
            Peter Macko
            Reporter:
            Peter Macko
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: