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

checkpoint_sync=false does *not* prevent flushes/sync to disk.

    Details

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

      Description

      From github.com/stephan-hof:

      Hi,

      I'm opening wiredtiger with the described setting above. I'm aware of the consequences: In a power-off scenario my database is corrupted or not usable anymore, but in my case this is acceptable (strong replication).

      Still I can see on each checkpoint interval (60 seconds):

      heavy disk usage
      decreased throughput in my application

      I looked a bit through the wiredtiger code and found out that this line of code is the culprit:
      https://github.com/wiredtiger/wiredtiger/blob/2.7.0/src/btree/bt_sync.c#L253

      I would consider this as a bug, this setting says "Please do not sync", but still the code does.

      Another thing, the comment there says

      Start a flush to stable storage, but don't wait for it

      Which is not entirely true. If you look at the man-page it says that the call can block if there is already much disk IO happening.
      http://man7.org/linux/man-pages/man2/sync_file_range.2.html

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                keith.bostic Keith Bostic
                Reporter:
                sue.loverso Sue LoVerso
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: