CheckReplDBHashInBackground should retry the "dbHash" command on WriteConflicts

XMLWordPrintableJSON

    • Fully Compatible
    • ALL
    • v4.4
    • Execution Team 2020-07-13
    • 18
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      The "dbHash" command, by using a long-running snapshot read with $_internalReadAtClusterTime, has the tendency to induce cache pressure.

      When application threads are performing eviction and the WiredTiger cache gets stuck, WiredTiger will abort the oldest transaction in order to make progress. This error manifests as a WT_ROLLBACK error code, and then MongoDB converts this to a WriteConflictException.

      For that reason, it would be expected for dbHash to get WriteConflicts occasionally, and we should have logic to retry or ignore failures in this case.

            Assignee:
            Louis Williams
            Reporter:
            Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: