Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-316

reconcile may use the wrong btree handle configuration information

    • Type: Icon: Task Task
    • Resolution: Done
    • WT1.3
    • Affects Version/s: None
    • Component/s: None
    • Labels:

      The first time a thread reconciles a page, it allocates the WT_SESSION.WT_RECONCILE structure, and loads it with configuration information from the file it's reconciling (see __rec_write_init). This includes things like the page split percentage, prefix and suffix compression, the internal key truncation, and as of today, dictionaries.

      The problem is that a thread might reconcile a page from a different file on its next call into reconciliation, which means the saved configuration information is wrong. It's probably not resulting in bugs at the moment, but since it could magically turn on dictionaries for a random file on which the user hasn't configured dictionaries, it's not a good thing.

      I don't want to do a lot of work to fix this, so I was planning on moving the per-reconciliation btree configuration information into the WT_BTREE structure, and getting it from there, instead of from the WT_RECONCILE structure.


            keith.bostic@mongodb.com Keith Bostic (Inactive)
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            0 Vote for this issue
            1 Start watching this issue