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

Concurrently appending to a tree

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: WT2.5.0
    • Component/s: None
    • Labels:

      Description

      One reasonably common workload is for applications to append to a tree from multiple threads. For example the YCSB load phase does that.

      What generally happens is that pages grow quickly to reach the configured memory_page_max, and then forced eviction is triggered. One thread is assigned evicting the page, and all the other threads tend to end up waiting for that page to be evicted. That behavior is exhibited when profiling shows many threads waiting in

       

      .

      I'm not sure if there is anything we could do to avoid having all threads waiting for reconciliation to complete. Perhaps we could switch in a new page, if operations are appends. Then proceed to reconcile (or in-memory split) the page that is now no longer the last page in the tree.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                keith.bostic Keith Bostic
                Reporter:
                alexander.gorrod Alexander Gorrod
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: