From c90aee8972f600098e3748faa6137fc749a236d3 Mon Sep 17 00:00:00 2001 From: Xu Peng Date: Fri, 24 May 2019 18:16:27 +0800 Subject: [PATCH] test(db): add test for overall archive Former-commit-id: a90507f675e2ac56e87fb3884d9729d48d178317 --- cpp/unittest/db/db_tests.cpp | 46 ++++++++++++++++++++++++++++++++++++ cpp/unittest/db/utils.cpp | 17 ++++++++++--- cpp/unittest/db/utils.h | 6 +++++ 3 files changed, 66 insertions(+), 3 deletions(-) diff --git a/cpp/unittest/db/db_tests.cpp b/cpp/unittest/db/db_tests.cpp index 8030e574e2..5a6ea703aa 100644 --- a/cpp/unittest/db/db_tests.cpp +++ b/cpp/unittest/db/db_tests.cpp @@ -9,6 +9,7 @@ #include "utils.h" #include "db/DB.h" +#include "db/DBImpl.h" using namespace zilliz::vecwise; @@ -57,6 +58,51 @@ TEST_F(DBTest, CONFIG_TEST) { } } +TEST_F(DBTest2, ARHIVE_DISK_CHECK) { + + static const std::string group_name = "test_group"; + static const int group_dim = 256; + + engine::meta::GroupSchema group_info; + group_info.dimension = group_dim; + group_info.group_id = group_name; + engine::Status stat = db_->add_group(group_info); + + engine::meta::GroupSchema group_info_get; + group_info_get.group_id = group_name; + stat = db_->get_group(group_info_get); + ASSERT_STATS(stat); + ASSERT_EQ(group_info_get.dimension, group_dim); + + engine::IDNumbers vector_ids; + engine::IDNumbers target_ids; + + int d = 256; + int nb = 30; + float *xb = new float[d * nb]; + for(int i = 0; i < nb; i++) { + for(int j = 0; j < d; j++) xb[d * i + j] = drand48(); + xb[d * i] += i / 2000.; + } + + int loop = 100000; + + for (auto i=0; iadd_vectors(group_name, nb, xb, vector_ids); + std::this_thread::sleep_for(std::chrono::microseconds(1)); + } + + std::this_thread::sleep_for(std::chrono::seconds(1)); + + long size; + db_->size(size); + /* LOG(DEBUG) << "size=" << size; */ + ASSERT_TRUE(size < 2UL*1024*1024*1024); + + delete [] xb; +}; + + TEST_F(DBTest, DB_TEST) { static const std::string group_name = "test_group"; diff --git a/cpp/unittest/db/utils.cpp b/cpp/unittest/db/utils.cpp index 7188e89107..9762668622 100644 --- a/cpp/unittest/db/utils.cpp +++ b/cpp/unittest/db/utils.cpp @@ -29,19 +29,30 @@ void DBTest::InitLog() { el::Loggers::reconfigureLogger("default", defaultConf); } -void DBTest::SetUp() { - InitLog(); +engine::Options DBTest::GetOptions() { auto options = engine::OptionsFactory::Build(); options.meta.path = "/tmp/vecwise_test"; + return options; +} + +void DBTest::SetUp() { + InitLog(); + auto options = GetOptions(); db_ = engine::DBFactory::Build(options, "Faiss,IDMap"); } void DBTest::TearDown() { delete db_; - auto options = engine::OptionsFactory::Build(); boost::filesystem::remove_all("/tmp/vecwise_test"); } +engine::Options DBTest2::GetOptions() { + auto options = engine::OptionsFactory::Build(); + options.meta.path = "/tmp/vecwise_test"; + options.meta.archive_conf = engine::ArchiveConf("delete", "disk:2"); + return options; +} + void MetaTest::SetUp() { InitLog(); impl_ = engine::DBMetaImplFactory::Build(); diff --git a/cpp/unittest/db/utils.h b/cpp/unittest/db/utils.h index 21823ffad3..456b54ffcc 100644 --- a/cpp/unittest/db/utils.h +++ b/cpp/unittest/db/utils.h @@ -39,6 +39,12 @@ protected: void InitLog(); virtual void SetUp() override; virtual void TearDown() override; + virtual zilliz::vecwise::engine::Options GetOptions(); +}; + +class DBTest2 : public DBTest { +protected: + virtual zilliz::vecwise::engine::Options GetOptions() override; };