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

Change compaction into one-pass over the cache.

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

      @michaelcahill, this change builds on the page-leaf-cell branch. I believe that now that reconciliation does page locking so compaction doesn't race when looking at page modification structures, it's possible to do compaction in a single-pass: set the compaction-in-progress flag and make sure we don't race with eviction or checkpoints. Obviously, that has a couple of advantages, it's going to be faster for big cache data sets, and we don't have to turn off eviction of the file while we're reviewing the in-memory pages.

      I've put it on a separate branch because I'm not 100% sure that what I'm doing with eviction is OK – it looks right to me, but I'm prepared to find out I've forgotten about something and this can't work.

            Assignee:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Reporter:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: