summaryrefslogtreecommitdiffstats
path: root/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'storage/src/tests/persistence/filestorage/filestormanagertest.cpp')
-rw-r--r--storage/src/tests/persistence/filestorage/filestormanagertest.cpp339
1 files changed, 42 insertions, 297 deletions
diff --git a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
index 318881364d7..26bfeb41b42 100644
--- a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
+++ b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
@@ -7,17 +7,10 @@
#include <vespa/document/test/make_document_bucket.h>
#include <vespa/storage/storageserver/statemanager.h>
#include <vespa/storage/bucketdb/bucketmanager.h>
-#include <vespa/vdslib/state/cluster_state_bundle.h>
#include <vespa/storage/persistence/persistencethread.h>
#include <vespa/storage/persistence/filestorage/filestormanager.h>
#include <vespa/storage/persistence/filestorage/modifiedbucketchecker.h>
#include <vespa/document/update/assignvalueupdate.h>
-#include <vespa/document/datatype/datatype.h>
-#include <vespa/document/fieldvalue/document.h>
-#include <vespa/document/datatype/documenttype.h>
-#include <vespa/document/update/documentupdate.h>
-#include <vespa/document/fieldvalue/rawfieldvalue.h>
-#include <vespa/document/fieldvalue/stringfieldvalue.h>
#include <vespa/document/select/parser.h>
#include <vespa/vdslib/state/random.h>
#include <vespa/storageapi/message/bucketsplitting.h>
@@ -76,8 +69,6 @@ struct FileStorManagerTest : public CppUnit::TestFixture {
void testFlush();
void testRemapSplit();
void testHandlerPriority();
- void testHandlerPriorityBlocking();
- void testHandlerPriorityPreempt();
void testHandlerMulti();
void testHandlerTimeout();
void testHandlerPause();
@@ -102,7 +93,6 @@ struct FileStorManagerTest : public CppUnit::TestFixture {
void testMergeBucketImplicitCreateBucket();
void testNewlyCreatedBucketIsReady();
void testCreateBucketSetsActiveFlagInDatabaseAndReply();
- void testFileStorThreadLockingStressTest();
void testStateChange();
void testRepairNotifiesDistributorOnChange();
void testDiskMove();
@@ -113,8 +103,6 @@ struct FileStorManagerTest : public CppUnit::TestFixture {
CPPUNIT_TEST(testFlush);
CPPUNIT_TEST(testRemapSplit);
CPPUNIT_TEST(testHandlerPriority);
- CPPUNIT_TEST(testHandlerPriorityBlocking);
- CPPUNIT_TEST(testHandlerPriorityPreempt);
CPPUNIT_TEST(testHandlerMulti);
CPPUNIT_TEST(testHandlerTimeout);
CPPUNIT_TEST(testHandlerPause);
@@ -146,21 +134,17 @@ struct FileStorManagerTest : public CppUnit::TestFixture {
void createBucket(document::BucketId bid, uint16_t disk)
{
- spi::Context context(defaultLoadType, spi::Priority(0),
- spi::Trace::TraceLevel(0));
- _node->getPersistenceProvider().createBucket(
- makeSpiBucket(bid, spi::PartitionId(disk)), context);
+ spi::Context context(defaultLoadType, spi::Priority(0), spi::Trace::TraceLevel(0));
+ _node->getPersistenceProvider().createBucket(makeSpiBucket(bid, spi::PartitionId(disk)), context);
StorBucketDatabase::WrappedEntry entry(
- _node->getStorageBucketDatabase().get(bid, "foo",
- StorBucketDatabase::CREATE_IF_NONEXISTING));
+ _node->getStorageBucketDatabase().get(bid, "foo", StorBucketDatabase::CREATE_IF_NONEXISTING));
entry->disk = disk;
entry->info = api::BucketInfo(0, 0, 0, 0, 0, true, false);
entry.write();
}
- document::Document::UP createDocument(
- const std::string& content, const std::string& id)
+ document::Document::UP createDocument(const std::string& content, const std::string& id)
{
return _node->getTestDocMan().createDocument(content, id);
}
@@ -628,19 +612,16 @@ FileStorManagerTest::testHandlerPriority()
FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(), _node->getComponentRegister());
filestorHandler.setGetNextMessageTimeout(50);
std::string content("Here is some content which is in all documents");
std::ostringstream uri;
- Document::SP doc(createDocument(
- content, "userdoc:footype:1234:bar").release());
+ Document::SP doc(createDocument(content, "userdoc:footype:1234:bar").release());
document::BucketIdFactory factory;
- document::BucketId bucket(16, factory.getBucketId(
- doc->getId()).getRawId());
+ document::BucketId bucket(16, factory.getBucketId(doc->getId()).getRawId());
// Populate bucket with the given data
for (uint32_t i = 1; i < 6; i++) {
@@ -739,8 +720,7 @@ FileStorManagerTest::testHandlerPausedMultiThread()
FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(), _node->getComponentRegister());
filestorHandler.setGetNextMessageTimeout(50);
std::string content("Here is some content which is in all documents");
@@ -791,8 +771,7 @@ FileStorManagerTest::testHandlerPause()
FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(), _node->getComponentRegister());
filestorHandler.setGetNextMessageTimeout(50);
std::string content("Here is some content which is in all documents");
@@ -802,15 +781,12 @@ FileStorManagerTest::testHandlerPause()
document::BucketIdFactory factory;
document::BucketId bucket(16, factory.getBucketId(
- doc->getId()).getRawId());
+ doc->getId()).getRawId());
// Populate bucket with the given data
for (uint32_t i = 1; i < 6; i++) {
- std::shared_ptr<api::PutCommand> cmd(
- new api::PutCommand(makeDocumentBucket(bucket), doc, 100));
- std::unique_ptr<api::StorageMessageAddress> address(
- new api::StorageMessageAddress(
- "storage", lib::NodeType::STORAGE, 3));
+ auto cmd = std::make_shared<api::PutCommand>(makeDocumentBucket(bucket), doc, 100);
+ auto address = std::make_unique<api::StorageMessageAddress>("storage", lib::NodeType::STORAGE, 3);
cmd->setAddress(*address);
cmd->setPriority(i * 15);
filestorHandler.schedule(cmd, 0);
@@ -847,8 +823,7 @@ FileStorManagerTest::testRemapSplit()
// Setup a filestorthread to test
DummyStorageLink top;
DummyStorageLink *dummyManager;
- top.push_back(std::unique_ptr<StorageLink>(
- dummyManager = new DummyStorageLink));
+ top.push_back(std::unique_ptr<StorageLink>(dummyManager = new DummyStorageLink));
top.open();
ForwardingMessageSender messageSender(*dummyManager);
// Since we fake time with small numbers, we need to make sure we dont
@@ -859,7 +834,7 @@ FileStorManagerTest::testRemapSplit()
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ _node->getComponentRegister());
filestorHandler.setGetNextMessageTimeout(50);
std::string content("Here is some content which is in all documents");
@@ -874,10 +849,8 @@ FileStorManagerTest::testRemapSplit()
// Populate bucket with the given data
for (uint32_t i = 1; i < 4; i++) {
- filestorHandler.schedule(
- api::StorageMessage::SP(new api::PutCommand(makeDocumentBucket(bucket1), doc1, i)), 0);
- filestorHandler.schedule(
- api::StorageMessage::SP(new api::PutCommand(makeDocumentBucket(bucket2), doc2, i + 10)), 0);
+ filestorHandler.schedule(std::make_shared<api::PutCommand>(makeDocumentBucket(bucket1), doc1, i), 0);
+ filestorHandler.schedule(std::make_shared<api::PutCommand>(makeDocumentBucket(bucket2), doc2, i + 10), 0);
}
CPPUNIT_ASSERT_EQUAL(std::string("BucketId(0x40000000000004d2): Put(BucketId(0x40000000000004d2), userdoc:footype:1234:bar, timestamp 1, size 108) (priority: 127)\n"
@@ -925,7 +898,7 @@ FileStorManagerTest::testHandlerMulti()
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ _node->getComponentRegister());
filestorHandler.setGetNextMessageTimeout(50);
std::string content("Here is some content which is in all documents");
@@ -935,10 +908,8 @@ FileStorManagerTest::testHandlerMulti()
Document::SP doc2(createDocument(content, "userdoc:footype:4567:bar").release());
document::BucketIdFactory factory;
- document::BucketId bucket1(16, factory.getBucketId(
- doc1->getId()).getRawId());
- document::BucketId bucket2(16, factory.getBucketId(
- doc2->getId()).getRawId());
+ document::BucketId bucket1(16, factory.getBucketId(doc1->getId()).getRawId());
+ document::BucketId bucket2(16, factory.getBucketId(doc2->getId()).getRawId());
// Populate bucket with the given data
for (uint32_t i = 1; i < 10; i++) {
@@ -988,7 +959,7 @@ FileStorManagerTest::testHandlerTimeout()
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ _node->getComponentRegister());
filestorHandler.setGetNextMessageTimeout(50);
std::string content("Here is some content which is in all documents");
@@ -1041,208 +1012,6 @@ FileStorManagerTest::testHandlerTimeout()
}
void
-FileStorManagerTest::testHandlerPriorityBlocking()
-{
- TestName testName("testHandlerPriorityBlocking");
- // Setup a filestorthread to test
- DummyStorageLink top;
- DummyStorageLink *dummyManager;
- top.push_back(std::unique_ptr<StorageLink>(
- dummyManager = new DummyStorageLink));
- top.open();
- ForwardingMessageSender messageSender(*dummyManager);
- // Since we fake time with small numbers, we need to make sure we dont
- // compact them away, as they will seem to be from 1970
-
- documentapi::LoadTypeSet loadTypes("raw:");
- FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
- metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
-
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 21, 21);
- filestorHandler.setGetNextMessageTimeout(50);
-
- std::string content("Here is some content which is in all documents");
- std::ostringstream uri;
-
- document::BucketIdFactory factory;
-
- // Populate bucket with the given data
- for (uint32_t i = 1; i < 6; i++) {
- Document::SP doc(createDocument(content, vespalib::make_string("doc:foo:%d",i)).release());
- document::BucketId bucket(16, factory.getBucketId(
- doc->getId()).getRawId());
- std::shared_ptr<api::PutCommand> cmd(
- new api::PutCommand(makeDocumentBucket(bucket), doc, 100));
- std::unique_ptr<api::StorageMessageAddress> address(
- new api::StorageMessageAddress(
- "storage", lib::NodeType::STORAGE, 3));
- cmd->setAddress(*address);
- cmd->setPriority(i * 15);
- filestorHandler.schedule(cmd, 0);
- }
-
- {
- FileStorHandler::LockedMessage lock1 = filestorHandler.getNextMessage(0);
- CPPUNIT_ASSERT_EQUAL(15, (int)lock1.second->getPriority());
-
- LOG(debug, "Waiting for request that should time out");
- FileStorHandler::LockedMessage lock2 = filestorHandler.getNextMessage(0);
- LOG(debug, "Got request that should time out");
- CPPUNIT_ASSERT(lock2.second.get() == NULL);
- }
-
- {
- FileStorHandler::LockedMessage lock1 = filestorHandler.getNextMessage(0);
- CPPUNIT_ASSERT_EQUAL(30, (int)lock1.second->getPriority());
-
- // New high-pri message comes in
- Document::SP doc(createDocument(content, vespalib::make_string("doc:foo:%d", 100)).release());
- document::BucketId bucket(16, factory.getBucketId(
- doc->getId()).getRawId());
- std::shared_ptr<api::PutCommand> cmd(
- new api::PutCommand(makeDocumentBucket(bucket), doc, 100));
- std::unique_ptr<api::StorageMessageAddress> address(
- new api::StorageMessageAddress(
- "storage", lib::NodeType::STORAGE, 3));
- cmd->setAddress(*address);
- cmd->setPriority(15);
- filestorHandler.schedule(cmd, 0);
-
- FileStorHandler::LockedMessage lock2 = filestorHandler.getNextMessage(0);
- CPPUNIT_ASSERT_EQUAL(15, (int)lock2.second->getPriority());
-
- LOG(debug, "Waiting for request that should time out");
- FileStorHandler::LockedMessage lock3 = filestorHandler.getNextMessage(0);
- LOG(debug, "Got request that should time out");
- CPPUNIT_ASSERT(lock3.second.get() == NULL);
- }
-
- {
- FileStorHandler::LockedMessage lock1 = filestorHandler.getNextMessage(0);
- CPPUNIT_ASSERT_EQUAL(45, (int)lock1.second->getPriority());
-
- FileStorHandler::LockedMessage lock = filestorHandler.getNextMessage(0);
- CPPUNIT_ASSERT_EQUAL(60, (int)lock.second->getPriority());
- }
- LOG(debug, "Test done");
-}
-
-class PausedThread : public document::Runnable {
-private:
- FileStorHandler& _handler;
-
-public:
- bool pause;
- bool done;
- bool gotoperation;
-
- PausedThread(FileStorHandler& handler)
- : _handler(handler), pause(false), done(false), gotoperation(false) {}
-
- void run() override {
- FileStorHandler::LockedMessage msg = _handler.getNextMessage(0);
- gotoperation = true;
-
- while (!done) {
- if (pause) {
- _handler.pause(0, msg.second->getPriority());
- pause = false;
- }
- FastOS_Thread::Sleep(10);
- }
-
- done = false;
- };
-};
-
-void
-FileStorManagerTest::testHandlerPriorityPreempt()
-{
- TestName testName("testHandlerPriorityPreempt");
- // Setup a filestorthread to test
- DummyStorageLink top;
- DummyStorageLink *dummyManager;
- top.push_back(std::unique_ptr<StorageLink>(
- dummyManager = new DummyStorageLink));
- top.open();
- ForwardingMessageSender messageSender(*dummyManager);
- // Since we fake time with small numbers, we need to make sure we dont
- // compact them away, as they will seem to be from 1970
-
- documentapi::LoadTypeSet loadTypes("raw:");
- FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
- metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
-
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 21, 21);
- filestorHandler.setGetNextMessageTimeout(50);
-
- std::string content("Here is some content which is in all documents");
- std::ostringstream uri;
-
- document::BucketIdFactory factory;
-
- {
- Document::SP doc(createDocument(content, "doc:foo:1").release());
- document::BucketId bucket(16, factory.getBucketId(
- doc->getId()).getRawId());
- std::shared_ptr<api::PutCommand> cmd(
- new api::PutCommand(makeDocumentBucket(bucket), doc, 100));
- std::unique_ptr<api::StorageMessageAddress> address(
- new api::StorageMessageAddress(
- "storage", lib::NodeType::STORAGE, 3));
- cmd->setAddress(*address);
- cmd->setPriority(60);
- filestorHandler.schedule(cmd, 0);
- }
-
- PausedThread thread(filestorHandler);
- FastOS_ThreadPool pool(512 * 1024);
- thread.start(pool);
-
- while (!thread.gotoperation) {
- FastOS_Thread::Sleep(10);
- }
-
- {
- Document::SP doc(createDocument(content, "doc:foo:2").release());
- document::BucketId bucket(16, factory.getBucketId(
- doc->getId()).getRawId());
- std::shared_ptr<api::PutCommand> cmd(
- new api::PutCommand(makeDocumentBucket(bucket), doc, 100));
- std::unique_ptr<api::StorageMessageAddress> address(
- new api::StorageMessageAddress(
- "storage", lib::NodeType::STORAGE, 3));
- cmd->setAddress(*address);
- cmd->setPriority(20);
- filestorHandler.schedule(cmd, 0);
- }
-
- {
- FileStorHandler::LockedMessage lock1 = filestorHandler.getNextMessage(0);
- CPPUNIT_ASSERT_EQUAL(20, (int)lock1.second->getPriority());
-
- thread.pause = true;
-
- for (uint32_t i = 0; i < 10; i++) {
- CPPUNIT_ASSERT(thread.pause);
- FastOS_Thread::Sleep(100);
- }
- }
-
- while (thread.pause) {
- FastOS_Thread::Sleep(10);
- }
-
- thread.done = true;
-
- while (thread.done) {
- FastOS_Thread::Sleep(10);
- }
-}
-
-void
FileStorManagerTest::testPriority()
{
TestName testName("testPriority");
@@ -1260,8 +1029,7 @@ FileStorManagerTest::testPriority()
FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 2);
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(), _node->getComponentRegister());
std::unique_ptr<DiskThread> thread(createThread(
*config, *_node, _node->getPersistenceProvider(),
filestorHandler, *metrics.disks[0]->threads[0], 0));
@@ -1275,8 +1043,7 @@ FileStorManagerTest::testPriority()
std::string content("Here is some content which is in all documents");
std::ostringstream uri;
- uri << "userdoc:footype:" << (i % 3 == 0 ? 0x10001 : 0x0100001)
- << ":mydoc-" << i;
+ uri << "userdoc:footype:" << (i % 3 == 0 ? 0x10001 : 0x0100001)<< ":mydoc-" << i;
Document::SP doc(createDocument(content, uri.str()).release());
documents.push_back(doc);
}
@@ -1285,20 +1052,16 @@ FileStorManagerTest::testPriority()
// Create buckets in separate, initial pass to avoid races with puts
for (uint32_t i=0; i<documents.size(); ++i) {
- document::BucketId bucket(16, factory.getBucketId(
- documents[i]->getId()).getRawId());
+ document::BucketId bucket(16, factory.getBucketId(documents[i]->getId()).getRawId());
- spi::Context context(defaultLoadType, spi::Priority(0),
- spi::Trace::TraceLevel(0));
+ spi::Context context(defaultLoadType, spi::Priority(0), spi::Trace::TraceLevel(0));
- _node->getPersistenceProvider().createBucket(
- makeSpiBucket(bucket), context);
+ _node->getPersistenceProvider().createBucket(makeSpiBucket(bucket), context);
}
// Populate bucket with the given data
for (uint32_t i=0; i<documents.size(); ++i) {
- document::BucketId bucket(16, factory.getBucketId(
- documents[i]->getId()).getRawId());
+ document::BucketId bucket(16, factory.getBucketId(documents[i]->getId()).getRawId());
std::shared_ptr<api::PutCommand> cmd(
new api::PutCommand(makeDocumentBucket(bucket), documents[i], 100 + i));
@@ -1353,8 +1116,7 @@ FileStorManagerTest::testSplit1()
documentapi::LoadTypeSet loadTypes("raw:");
FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(), _node->getComponentRegister());
std::unique_ptr<DiskThread> thread(createThread(
*config, *_node, _node->getPersistenceProvider(),
filestorHandler, *metrics.disks[0]->threads[0], 0));
@@ -1522,10 +1284,8 @@ FileStorManagerTest::testSplitSingleGroup()
documentapi::LoadTypeSet loadTypes("raw:");
FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
- spi::Context context(defaultLoadType, spi::Priority(0),
- spi::Trace::TraceLevel(0));
+ FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(), _node->getComponentRegister());
+ spi::Context context(defaultLoadType, spi::Priority(0), spi::Trace::TraceLevel(0));
for (uint32_t j=0; j<1; ++j) {
// Test this twice, once where all the data ends up in file with
// splitbit set, and once where all the data ends up in file with
@@ -1663,8 +1423,7 @@ FileStorManagerTest::testSplitEmptyTargetWithRemappedOps()
documentapi::LoadTypeSet loadTypes("raw:");
FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(), _node->getComponentRegister());
std::unique_ptr<DiskThread> thread(createThread(
*config, *_node, _node->getPersistenceProvider(),
filestorHandler, *metrics.disks[0]->threads[0], 0));
@@ -1741,8 +1500,7 @@ FileStorManagerTest::testNotifyOnSplitSourceOwnershipChanged()
documentapi::LoadTypeSet loadTypes("raw:");
FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(), _node->getComponentRegister());
std::unique_ptr<DiskThread> thread(createThread(
*config, *_node, _node->getPersistenceProvider(),
filestorHandler, *metrics.disks[0]->threads[0], 0));
@@ -1791,8 +1549,7 @@ FileStorManagerTest::testJoin()
documentapi::LoadTypeSet loadTypes("raw:");
FileStorMetrics metrics(loadTypes.getMetricLoadTypes());
metrics.initDiskMetrics(_node->getPartitions().size(), loadTypes.getMetricLoadTypes(), 1);
- FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(),
- _node->getComponentRegister(), 255, 0);
+ FileStorHandler filestorHandler(messageSender, metrics, _node->getPartitions(), _node->getComponentRegister());
std::unique_ptr<DiskThread> thread(createThread(
*config, *_node, _node->getPersistenceProvider(),
filestorHandler, *metrics.disks[0]->threads[0], 0));
@@ -1802,10 +1559,8 @@ FileStorManagerTest::testJoin()
std::string content("Here is some content which is in all documents");
std::ostringstream uri;
- uri << "userdoc:footype:" << (i % 3 == 0 ? 0x10001 : 0x0100001)
- << ":mydoc-" << i;
- Document::SP doc(createDocument(
- content, uri.str()).release());
+ uri << "userdoc:footype:" << (i % 3 == 0 ? 0x10001 : 0x0100001) << ":mydoc-" << i;
+ Document::SP doc(createDocument(content, uri.str()).release());
documents.push_back(doc);
}
document::BucketIdFactory factory;
@@ -1816,36 +1571,26 @@ FileStorManagerTest::testJoin()
{
// Populate bucket with the given data
for (uint32_t i=0; i<documents.size(); ++i) {
- document::BucketId bucket(17, factory.getBucketId(
- documents[i]->getId()).getRawId());
- std::shared_ptr<api::PutCommand> cmd(
- new api::PutCommand(makeDocumentBucket(bucket), documents[i], 100 + i));
- std::unique_ptr<api::StorageMessageAddress> address(
- new api::StorageMessageAddress(
- "storage", lib::NodeType::STORAGE, 3));
+ document::BucketId bucket(17, factory.getBucketId(documents[i]->getId()).getRawId());
+ auto cmd = std::make_shared<api::PutCommand>(makeDocumentBucket(bucket), documents[i], 100 + i);
+ auto address = std::make_unique<api::StorageMessageAddress>("storage", lib::NodeType::STORAGE, 3);
cmd->setAddress(*address);
filestorHandler.schedule(cmd, 0);
filestorHandler.flush(true);
CPPUNIT_ASSERT_EQUAL((size_t) 1, top.getNumReplies());
- std::shared_ptr<api::PutReply> reply(
- std::dynamic_pointer_cast<api::PutReply>(
- top.getReply(0)));
+ auto reply = std::dynamic_pointer_cast<api::PutReply>(top.getReply(0));
CPPUNIT_ASSERT(reply.get());
- CPPUNIT_ASSERT_EQUAL(ReturnCode(ReturnCode::OK),
- reply->getResult());
+ CPPUNIT_ASSERT_EQUAL(ReturnCode(ReturnCode::OK), reply->getResult());
top.reset();
// Delete every 5th document to have delete entries in file too
if (i % 5 == 0) {
- std::shared_ptr<api::RemoveCommand> rcmd(
- new api::RemoveCommand(
- makeDocumentBucket(bucket), documents[i]->getId(), 1000000 + 100 + i));
+ auto rcmd = std::make_shared<api::RemoveCommand>(makeDocumentBucket(bucket),
+ documents[i]->getId(), 1000000 + 100 + i);
rcmd->setAddress(*address);
filestorHandler.schedule(rcmd, 0);
filestorHandler.flush(true);
CPPUNIT_ASSERT_EQUAL((size_t) 1, top.getNumReplies());
- std::shared_ptr<api::RemoveReply> rreply(
- std::dynamic_pointer_cast<api::RemoveReply>(
- top.getReply(0)));
+ auto rreply = std::dynamic_pointer_cast<api::RemoveReply>(top.getReply(0));
CPPUNIT_ASSERT_MSG(top.getReply(0)->getType().toString(),
rreply.get());
CPPUNIT_ASSERT_EQUAL(ReturnCode(ReturnCode::OK),