Extract extension interface lists into WT_CONN_EXTENSIONS structure

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • WT12.0.0
    • Affects Version/s: None
    • Component/s: Extensions
    • None
    • Storage Engines - Foundations, Storage Engines - Persistence
    • 4.176
    • None
    • None

      Extract all extension-related queues and their associated locks from __wt_connection_impl (lines 918-937) into a new WT_CONN_EXTENSIONS structure. This includes collqh (collators), compqh (compressors), dsrcqh (data sources), encryptqh (encryptors) with encryptor_lock, pagelogqh (page logs) with page_log_lock, and storagesrcqh (storage sources) with storage_lock. Note: The locks themselves will remain in WT_CONN_LOCKS (from ticket 1.1), but this structure will hold the queue heads. Access will be via conn->extensions.<field>.

      Files affected

      • src/include/connection.h — Define WT_CONN_EXTENSIONS structure and replace individual queue fields
      • src/conn/conn_api.c — Update extension registration/unregistration
      • src/conn/conn_handle.c — Update extension initialization
      • Any files that walk these extension lists

      Definition of Done

      • New WT_CONN_EXTENSIONS structure defined in connection.h containing all extension queues
      • All extension queue fields removed from __wt_connection_impl and replaced with single extensions member
      • All references updated from conn->collqh to conn->extensions.collqh, etc.
      • Code compiles cleanly with no warnings
      • All existing tests pass
      • Grep confirms no stale references to old extension queue paths

            Assignee:
            Etienne Petrel
            Reporter:
            Etienne Petrel
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: