Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-27446

operation_latency_histogram.js fails in initial sync passthrough due to reads performed by the repl system

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.4.2, 3.5.2
    • Affects Version/s: None
    • Component/s: Querying, Replication
    • None
    • Fully Compatible
    • ALL
    • v3.4
    • Query 2017-01-23
    • 0

      The operation_latency_histogram.js integration test makes assertions about the number of read and write operations performed against a particular collection in order to test the new latencyStats() feature available in version 3.4. In particular, it writes to a collection and ensures the latency stats reflect the correct count of write operations, but that the number of read operations has not changed (aside from the read done to retrieve the latency stats themselves).

      The assumption that the number of read operations has not changed, however, is invalid in our initial sync passthrough suite, core_small_oplog_rs_initsync. When an initial sync occurs during the execution of the test, the downstream node will issue a find command against its sync source in order to clone the data. From the sync source's perspective, this read looks just like any user-issued find, and it will be counted by the operation latency histogram. This causes the read count to be higher than expected by the test.

            david.storch@mongodb.com David Storch
            david.storch@mongodb.com David Storch
            0 Vote for this issue
            5 Start watching this issue