diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2016-07-18 16:13:54 -0400 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2016-07-21 22:14:51 -0400 |
commit | ea026e685bc90c102e2305e21b8bdc096475b49b (patch) | |
tree | 9399e67cc27fd5700892ae5b28ec4aca6912440a /src/mongo/db/s/collection_metadata.cpp | |
parent | 0c8085729e7062202bd66076e2ca7751aa338ab6 (diff) | |
download | mongo-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.cpp | 38 |
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; |