diff options
author | Igor Canadi <icanadi@fb.com> | 2015-02-11 20:13:18 -0800 |
---|---|---|
committer | Benety Goh <benety@mongodb.com> | 2015-02-13 12:07:09 -0500 |
commit | c1b5595b5fdf93e0599bbdd4154f35bfa10fadd1 (patch) | |
tree | 640c08a5b8e2fddde303836ef2d7d0c800216f3f /src | |
parent | 45aba2114c18968422b285ce87709043a9455b3c (diff) | |
download | mongo-c1b5595b5fdf93e0599bbdd4154f35bfa10fadd1.tar.gz |
SERVER-17269 Fix concurrency and sharding tests in Rocks
Signed-off-by: Benety Goh <benety@mongodb.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/storage/rocks/rocks_index.cpp | 5 | ||||
-rw-r--r-- | src/mongo/db/storage/rocks/rocks_record_store.cpp | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/mongo/db/storage/rocks/rocks_index.cpp b/src/mongo/db/storage/rocks/rocks_index.cpp index 34068b44e48..d1b159a7f31 100644 --- a/src/mongo/db/storage/rocks/rocks_index.cpp +++ b/src/mongo/db/storage/rocks/rocks_index.cpp @@ -544,7 +544,10 @@ namespace mongo { } rocksdb::Range wholeRange(_prefix, nextPrefix); _db->GetApproximateSizes(&wholeRange, 1, &storageSize); - return static_cast<long long>(storageSize); + // There might be some bytes in the WAL that we don't count here. Some + // tests depend on the fact that non-empty indexes have non-zero sizes + return static_cast<long long>( + std::max(storageSize, static_cast<uint64_t>(1))); } std::string RocksIndexBase::_makePrefixedKey(const std::string& prefix, diff --git a/src/mongo/db/storage/rocks/rocks_record_store.cpp b/src/mongo/db/storage/rocks/rocks_record_store.cpp index b75874b51e2..b711f4f29cb 100644 --- a/src/mongo/db/storage/rocks/rocks_record_store.cpp +++ b/src/mongo/db/storage/rocks/rocks_record_store.cpp @@ -191,7 +191,10 @@ namespace mongo { int64_t RocksRecordStore::storageSize(OperationContext* txn, BSONObjBuilder* extraInfo, int infoLevel) const { // we're lying, but that's the best we can do for now - return _dataSize.load(); + // We need to make it multiple of 256 to make + // jstests/concurrency/fsm_workloads/convert_to_capped_collection.js happy + return static_cast<int64_t>( + std::max(_dataSize.load() & (~255), static_cast<long long>(256))); } RecordData RocksRecordStore::dataFor(OperationContext* txn, const RecordId& loc) const { |