Details
-
Bug
-
Resolution: Done
-
Major - P3
-
2.4.8
-
Fully Compatible
-
ALL
-
Server 2.7.2
Description
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.
Attachments
Issue Links
- links to