|
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.
|