diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-03-17 08:49:28 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-03-17 08:49:28 +0000 |
commit | 40f2c421e2dc07a4821787b8ff699dd0831488ad (patch) | |
tree | 7077a59fc028a866d84c2babbee26420f2519ed2 | |
parent | f734fd1a7e9213f79782567285b5c3d72c5107ab (diff) |
Use thread safe random to see if that stabilizes the logdatastore_test.
-rw-r--r-- | searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp | 24 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/docstore/logdocumentstore.h | 1 |
2 files changed, 11 insertions, 14 deletions
diff --git a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp index 8464e0abfec..3fb55ef3cac 100644 --- a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp +++ b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp @@ -92,8 +92,7 @@ calcLastFlushedSerialNum(const std::vector<DataStoreFileChunkStats> &chunkStats) { SerialNum lastFlushedSerialNum = 0u; for (const auto &chunk : chunkStats) { - lastFlushedSerialNum = std::max(lastFlushedSerialNum, - chunk.lastFlushedSerialNum()); + lastFlushedSerialNum = std::max(lastFlushedSerialNum, chunk.lastFlushedSerialNum()); } return lastFlushedSerialNum; } @@ -130,10 +129,8 @@ checkStats(IDataStore &store, EXPECT_EQUAL(expLastSerial, storageStats.lastSerialNum()); EXPECT_EQUAL(expLastFlushedSerial, storageStats.lastFlushedSerialNum()); EXPECT_EQUAL(storageStats.lastSerialNum(), calcLastSerialNum(chunkStats)); - EXPECT_EQUAL(storageStats.lastFlushedSerialNum(), - calcLastFlushedSerialNum(chunkStats)); - EXPECT_EQUAL(storageStats.diskUsage(), - calcDiskUsage(chunkStats)); + EXPECT_EQUAL(storageStats.lastFlushedSerialNum(), calcLastFlushedSerialNum(chunkStats)); + EXPECT_EQUAL(storageStats.diskUsage(), calcDiskUsage(chunkStats)); EXPECT_EQUAL(storageStats.diskBloat(), calcDiskBloat(chunkStats)); } @@ -218,14 +215,15 @@ void verifyGrowing(const LogDataStore::Config & config, uint32_t minFiles, uint3 { LogDataStore datastore(executor, "growing", config, GrowStrategy(), TuneFileSummary(), fileHeaderContext, tlSyncer, nullptr); - srand(7); + unsigned int seed = 383451; char buffer[12000]; SerialNum lastSyncToken(0); for (size_t i(0); i < sizeof(buffer); i++) { - buffer[i] = rand() & 0xff; + buffer[i] = rand_r(&seed) & 0xff; } + for (size_t i(1); i < 10000; i++) { - long r = rand()%10000; + long r = rand_r(&seed)%10000; assert(i > lastSyncToken); lastSyncToken = i; datastore.write(i, i, &buffer[r], uint8_t(buffer[r])*4); @@ -260,7 +258,7 @@ TEST("testGrowingChunkedBySize") { LogDataStore::Config config; config.setMaxFileSize(100000).setMaxBucketSpread(3.0).setMinFileSizeFactor(0.2) .compactCompression({CompressionConfig::LZ4}) - .setFileConfig({{CompressionConfig::LZ4, 9, 60}, 1000}); + .setFileConfig({{CompressionConfig::ZSTD, 9, 60}, 1000}); verifyGrowing(config, 40, 120); } @@ -268,7 +266,7 @@ TEST("testGrowingChunkedByNumLids") { LogDataStore::Config config; config.setMaxNumLids(1000).setMaxBucketSpread(3.0).setMinFileSizeFactor(0.2) .compactCompression({CompressionConfig::LZ4}) - .setFileConfig({{CompressionConfig::LZ4, 9, 60}, 1000}); + .setFileConfig({{CompressionConfig::ZSTD, 9, 60}, 1000}); verifyGrowing(config,10, 10); } @@ -488,7 +486,7 @@ private: class VerifyVisitor : public IDocumentVisitor { public: VerifyVisitor(VisitCacheStore & vcs, std::vector<uint32_t> lids, bool allowCaching); - ~VerifyVisitor(); + ~VerifyVisitor() override; void visit(uint32_t lid, Document::UP doc) override { EXPECT_TRUE(_expected.find(lid) != _expected.end()); EXPECT_TRUE(_actual.find(lid) == _actual.end()); @@ -514,7 +512,7 @@ private: }; VisitCacheStore::VerifyVisitor::VerifyVisitor(VisitCacheStore & vcs, std::vector<uint32_t> lids, bool allowCaching) - : _vcs(vcs), _expected(), _actual(), _allowVisitCaching(allowCaching) + : _vcs(vcs), _expected(), _actual(), _allowVisitCaching(allowCaching) { for (uint32_t lid : lids) { _expected.insert(lid); diff --git a/searchlib/src/vespa/searchlib/docstore/logdocumentstore.h b/searchlib/src/vespa/searchlib/docstore/logdocumentstore.h index 2b7d7365c1e..f2b8130fa95 100644 --- a/searchlib/src/vespa/searchlib/docstore/logdocumentstore.h +++ b/searchlib/src/vespa/searchlib/docstore/logdocumentstore.h @@ -26,7 +26,6 @@ public: _logConfig(log) { } const LogDataStore::Config & getLogConfig() const { return _logConfig; } - LogDataStore::Config & getLogConfig() { return _logConfig; } bool operator == (const Config & rhs) const; bool operator != (const Config & rhs) const { return ! (*this == rhs); } private: |