Get rid of ON_BLOCK_EXIT in storage layer

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Won't Fix
    • Priority: Minor - P4
    • None
    • Affects Version/s: 3.3.4
    • Component/s: Internal Code, Storage
    • Storage Execution
    • Fully Compatible
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      It would be nice to get rid of the ON_BLOCK_EXIT macro in favor of using RAII builtins provided by the C++ standard library (up through C++14).

      Starter list:

      /mongo/src/mongo/db/storage $ git grep ON_BLOCK_EXIT
      mmap_v1/repair_database.cpp:        ON_BLOCK_EXIT(&dur::DurableInterface::syncDataAndTruncateJournal, &getDur(), txn);
      wiredtiger/wiredtiger_kv_engine.cpp:    ON_BLOCK_EXIT(c->close, c);
      wiredtiger/wiredtiger_session_cache.cpp:    ON_BLOCK_EXIT([this] { _shuttingDown.fetchAndSubtract(1); });
      wiredtiger/wiredtiger_session_cache.cpp:    ON_BLOCK_EXIT([this] { _shuttingDown.fetchAndSubtract(1); });
      wiredtiger/wiredtiger_size_storer.cpp:        ON_BLOCK_EXIT(_cursor->reset, _cursor);
      wiredtiger/wiredtiger_util.cpp:    ON_BLOCK_EXIT(cursor->close, cursor);
      wiredtiger/wiredtiger_util.cpp:    ON_BLOCK_EXIT(session->close, session, "");
      wiredtiger/wiredtiger_util.cpp:    ON_BLOCK_EXIT(c->close, c);
      
      

            Assignee:
            [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            Kyle Suarez (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: