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

Configurable thread wake up time

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: WT2.7.0
    • Fix Version/s: WT2.8.0
    • Labels:
      None

      Description

      Threads such as __log_wrlsn_server and __evict_server use conditional pthread_cond_wait() timeout value of 100ms that is passed via __wt_cond_wait(). Others threads like __log_file_server, __log_server are 1 second.

      Problem comes when a large number of databases are opened, in our case we end with 38 opened which has 80 __log_wrlsn_server and __evict_server threads waking up every 100ms. Due to the large number of thread count, a completely idle process ends up continuously consuming 1% of a single core.

      What would you think is best possible way to solve this? Ability to configure wait time or allow switching to fully blocking mode for rarely accessed sessions? Or in between heuristic dynamically adjusting sleep time based on the workload?

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                alexander.gorrod Alexander Gorrod
                Reporter:
                sarunas Sarunas Vancevicius
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: