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

Write command explain on mirror config servers triggers assertion failure

    XMLWordPrintable

    Details

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

      Description

      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)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              schwerin Andy Schwerin
              Reporter:
              renctan Randolph Tan
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: