Background compaction uses a buffer than can be freed in parallel

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • WT11.2.0, 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: Compaction
    • None
    • StorEng - 2023-08-08
    • 3

      When enabling the background compaction server in test/format (WT-11348), the following error occurs:

      [2023/08/04 06:04:43.249]     [1691129077:942625][21528:0xffff7fc00100], t, WT_SESSION.compact: [WT_VERB_DEFAULT][ERROR]: __wt_bad_object_type, 770: unknown object type: ������...��������: Operation not supported
      [2023/08/04 06:04:43.249]     [1691129077:942692][21528:0xffff7fc00100], t, compact-server: [WT_VERB_DEFAULT][ERROR]: __compact_server, 152: compact server error: Operation not supported
      [2023/08/04 06:04:43.249]     [1691129077:942696][21528:0xffff7fc00100], t, compact-server: [WT_VERB_DEFAULT][ERROR]: __compact_server, 152: the process must exit and restart: WT_PANIC: WiredTiger library panic
      [2023/08/04 06:04:43.249]     [1691129077:942700][21528:0xffff7fc00100], t, compact-server: [WT_VERB_DEFAULT][ERROR]: __wt_abort, 28: aborting WiredTiger library
      

      This comes from the buffer allocated to the key the metadata cursor is positioned on. Since the cursor is released, that buffer may be freed and lead to that issue.

      Another error somewhat related to the initial one: the buffer can be partially overwritten somehow and the buffer seems to point to a valid file (i.e file:abc) but the file does not exist, this makes compact return ENOENT which should be taken into account as well.

      This ticket should fix the two aforementioned issues.

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

                Created:
                Updated:
                Resolved: