moveChunk can return with an error for reasons that are not accurately logged

XMLWordPrintableJSON

    • Fully Compatible
    • ALL
    • Server 2.7.2
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      storeCurrentLocs can print error messages of the form:

      warning: can't move chunk of size (approximately) 50789556 because maximum size allowed to move is 67108864 ns: test.test { tu: 6587309, _id: 156274579 } -> { tu: 6593669, _id: 109335516 }
      

      Note that 50789556 is less than 67108864.

      This is due to a confusing error message in lines 533-540 of d_migrate.cpp. This error condition is triggered when the number of records seen in the chunk is larger than maxRecsWhenFull. In turn, maxRecsWhenFull is set to the smaller of

      • 1.3 * (maxChunkSize / avgRecSize)
      • 250000

      This means that if the average record size is small, storeCurrentLocs() will error out due to exceeding the maximum number of records in a chunk, and will produce the confusing error message shown.

      At the least, the error message should be changed so that we display the correct reason for the moveChunk command failing.

            Assignee:
            David Hows (Inactive)
            Reporter:
            William Zola (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: