summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2017-07-27 10:31:56 -0400
committerKaloian Manassiev <kaloian.manassiev@mongodb.com>2017-07-28 16:51:40 -0400
commit3262710483e03495606cb2d990ceab132623ffb4 (patch)
tree3008d68b4571870b4c74a661e35717cc67935df1 /src
parent940bb462dc957ad76631378d799ec5b29944054b (diff)
downloadmongo-3262710483e03495606cb2d990ceab132623ffb4.tar.gz
SERVER-30333 Uassert if chunk metadata references an invalid shard
... instead of dereferencing a null pointer.
Diffstat (limited to 'src')
-rw-r--r--src/mongo/s/chunk_manager.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mongo/s/chunk_manager.cpp b/src/mongo/s/chunk_manager.cpp
index f785e748c54..29e596948d4 100644
--- a/src/mongo/s/chunk_manager.cpp
+++ b/src/mongo/s/chunk_manager.cpp
@@ -98,6 +98,9 @@ public:
string shardFor(OperationContext* txn, const string& hostName) const final {
const auto shard = grid.shardRegistry()->getShard(txn, hostName);
+ uassert(ErrorCodes::ShardNotFound,
+ str::stream() << "Shard " << hostName << " not found.",
+ shard);
return shard->getId();
}