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

Write command explain on mirror config servers triggers assertion failure

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.0.12, 3.2.8
    • Component/s: Sharding
    • None
    • ALL
    • Sharding 2016-08-29, Sharding 2016-09-19

      The issue is because the explain command does not check that writes are to the config servers (which the real write command does). This will eventually result with the DBClientMultiCommand calling say() on SyncClusterConnection multiple times, which in turn calls say on the 3 connections inside SyncClusterConnection. This results with the connection calling say() multiple times in a row (w/o recv) which is not supported and the assertion ("MessagingPort::call() wrong id got:") is triggered when recv is called.

      In v3.2, a different kind of assertion that happens much earlier, complaining that it is expecting a replica set name from the connection string (it fails because SCCC is not a replSet connection)

        1. no_explain.js
          0.3 kB
          Randolph Tan

            Assignee:
            schwerin@mongodb.com Andy Schwerin
            Reporter:
            randolph@mongodb.com Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: