summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/collection_metadata.cpp
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2016-07-18 16:13:54 -0400
committerKaloian Manassiev <kaloian.manassiev@mongodb.com>2016-07-21 22:14:51 -0400
commitea026e685bc90c102e2305e21b8bdc096475b49b (patch)
tree9399e67cc27fd5700892ae5b28ec4aca6912440a /src/mongo/db/s/collection_metadata.cpp
parent0c8085729e7062202bd66076e2ca7751aa338ab6 (diff)
downloadmongo-ea026e685bc90c102e2305e21b8bdc096475b49b.tar.gz
SERVER-24569 Maintain rangesToClean and metadataInUse on chunk migrations
This change rewrites the collection metadata refresh mechanism and puts it entirely under the metadata manager.
Diffstat (limited to 'src/mongo/db/s/collection_metadata.cpp')
-rw-r--r--src/mongo/db/s/collection_metadata.cpp38
1 files changed, 7 insertions, 31 deletions
diff --git a/src/mongo/db/s/collection_metadata.cpp b/src/mongo/db/s/collection_metadata.cpp
index 8b713dd0cbd..1c576851f11 100644
--- a/src/mongo/db/s/collection_metadata.cpp
+++ b/src/mongo/db/s/collection_metadata.cpp
@@ -393,10 +393,10 @@ bool CollectionMetadata::getDifferentChunk(const BSONObj& chunkMinKey,
return false;
}
-BSONObj CollectionMetadata::toBSON() const {
- BSONObjBuilder bb;
- toBSON(bb);
- return bb.obj();
+void CollectionMetadata::toBSONBasic(BSONObjBuilder& bb) const {
+ _collVersion.addToBSON(bb, "collVersion");
+ _shardVersion.addToBSON(bb, "shardVersion");
+ bb.append("keyPattern", _keyPattern);
}
void CollectionMetadata::toBSONChunks(BSONArrayBuilder& bb) const {
@@ -423,18 +423,9 @@ void CollectionMetadata::toBSONPending(BSONArrayBuilder& bb) const {
}
}
-void CollectionMetadata::toBSON(BSONObjBuilder& bb) const {
- _collVersion.addToBSON(bb, "collVersion");
- _shardVersion.addToBSON(bb, "shardVersion");
- bb.append("keyPattern", _keyPattern);
-
- BSONArrayBuilder chunksBB(bb.subarrayStart("chunks"));
- toBSONChunks(chunksBB);
- chunksBB.done();
-
- BSONArrayBuilder pendingBB(bb.subarrayStart("pending"));
- toBSONPending(pendingBB);
- pendingBB.done();
+string CollectionMetadata::toStringBasic() const {
+ return stream() << "Coll version: " << _collVersion.toString()
+ << ", shard version: " << _shardVersion.toString();
}
bool CollectionMetadata::getNextOrphanRange(const BSONObj& origLookupKey, KeyRange* range) const {
@@ -517,21 +508,6 @@ bool CollectionMetadata::getNextOrphanRange(const BSONObj& origLookupKey, KeyRan
return false;
}
-string CollectionMetadata::toString() const {
- StringBuilder ss;
- ss << " CollectionManager version: " << _shardVersion.toString() << " key: " << _keyPattern;
- if (_rangesMap.empty()) {
- return ss.str();
- }
-
- RangeMap::const_iterator it = _rangesMap.begin();
- ss << it->first << " -> " << it->second;
- while (it != _rangesMap.end()) {
- ss << ", " << it->first << " -> " << it->second;
- }
- return ss.str();
-}
-
BSONObj CollectionMetadata::getMinKey() const {
BSONObjIterator it(_keyPattern);
BSONObjBuilder minKeyB;