To commit a mergeChunk, the shard merging the chunks sends _configsvrMergeChunkCommit to the CSRS, which atomically updates the chunks collection. If the response to this request is lost, the shard will retry, but may receive an error if the first attempt finished successfully. Because of this, the shard checks if the metadata was updated after getting a failed response.
Currently the shard logs a message in this case and will still throw with the failed response, but before the refactor in this commit for SERVER-32198, it returned Status::OK(). This change in behavior was likely unintentional and can be fixed by returning Status::OK() here.
- is caused by
-
SERVER-32198 Missing collection metadata on the shard implies both UNSHARDED and "metadata not loaded yet"
- Closed