This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new 579dcef22a delete be/test/olap/memtable_memory_limiter_test.cpp which
was introduced when picking #22554
579dcef22a is described below
commit 579dcef22a6a14bcd5431c7926db8e33084b9096
Author: Kang <[email protected]>
AuthorDate: Sun Aug 13 18:45:36 2023 +0800
delete be/test/olap/memtable_memory_limiter_test.cpp
which was introduced when picking #22554
---
be/test/olap/memtable_memory_limiter_test.cpp | 191 --------------------------
1 file changed, 191 deletions(-)
diff --git a/be/test/olap/memtable_memory_limiter_test.cpp
b/be/test/olap/memtable_memory_limiter_test.cpp
deleted file mode 100644
index 7f13fa3c44..0000000000
--- a/be/test/olap/memtable_memory_limiter_test.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-#include "olap/memtable_memory_limiter.h"
-
-#include "exec/tablet_info.h"
-#include "gtest/gtest_pred_impl.h"
-#include "olap/delta_writer.h"
-#include "olap/storage_engine.h"
-#include "olap/tablet_manager.h"
-#include "runtime/descriptor_helper.h"
-#include "runtime/descriptors.h"
-
-namespace doris {
-static const uint32_t MAX_PATH_LEN = 1024;
-
-static void create_tablet_request(int64_t tablet_id, int32_t schema_hash,
- TCreateTabletReq* request) {
- request->tablet_id = tablet_id;
- request->__set_version(1);
- request->tablet_schema.schema_hash = schema_hash;
- request->tablet_schema.short_key_column_count = 3;
- request->tablet_schema.keys_type = TKeysType::AGG_KEYS;
- request->tablet_schema.storage_type = TStorageType::COLUMN;
- request->__set_storage_format(TStorageFormat::V2);
-
- TColumn k1;
- k1.column_name = "k1";
- k1.__set_is_key(true);
- k1.column_type.type = TPrimitiveType::TINYINT;
- request->tablet_schema.columns.push_back(k1);
-
- TColumn k2;
- k2.column_name = "k2";
- k2.__set_is_key(true);
- k2.column_type.type = TPrimitiveType::SMALLINT;
- request->tablet_schema.columns.push_back(k2);
-
- TColumn k3;
- k3.column_name = "k3";
- k3.__set_is_key(true);
- k3.column_type.type = TPrimitiveType::INT;
- request->tablet_schema.columns.push_back(k3);
-}
-
-static TDescriptorTable create_descriptor_tablet() {
- TDescriptorTableBuilder dtb;
- TTupleDescriptorBuilder tuple_builder;
-
- tuple_builder.add_slot(
-
TSlotDescriptorBuilder().type(TYPE_TINYINT).column_name("k1").column_pos(0).build());
- tuple_builder.add_slot(
-
TSlotDescriptorBuilder().type(TYPE_SMALLINT).column_name("k2").column_pos(1).build());
- tuple_builder.add_slot(
-
TSlotDescriptorBuilder().type(TYPE_INT).column_name("k3").column_pos(2).build());
-
- tuple_builder.build(&dtb);
- return dtb.desc_tbl();
-}
-
-class MemTableMemoryLimiterTest : public testing::Test {
-protected:
- void SetUp() override {
- // set path
- char buffer[MAX_PATH_LEN];
- EXPECT_NE(getcwd(buffer, MAX_PATH_LEN), nullptr);
- config::storage_root_path = std::string(buffer) + "/data_test";
-
io::global_local_filesystem()->delete_and_create_directory(config::storage_root_path);
- std::vector<StorePath> paths;
- paths.emplace_back(config::storage_root_path, -1);
-
- _mgr = new MemTableMemoryLimiter();
- doris::EngineOptions options;
- options.store_paths = paths;
- Status s = doris::StorageEngine::open(options, &_engine);
- ExecEnv* exec_env = doris::ExecEnv::GetInstance();
- exec_env->set_storage_engine(_engine);
- _engine->start_bg_threads();
- }
-
- void TearDown() override {
- if (_engine != nullptr) {
- _engine->stop();
- delete _engine;
- _engine = nullptr;
- }
- if (_mgr != nullptr) {
- delete _mgr;
- _mgr = nullptr;
- }
- EXPECT_EQ(system("rm -rf ./data_test"), 0);
-
io::global_local_filesystem()->delete_directory(std::string(getenv("DORIS_HOME"))
+ "/" +
- UNUSED_PREFIX);
- }
-
- StorageEngine* _engine = nullptr;
- MemTableMemoryLimiter* _mgr = nullptr;
-};
-
-TEST_F(MemTableMemoryLimiterTest, handle_memtable_flush_test) {
- std::unique_ptr<RuntimeProfile> profile;
- profile = std::make_unique<RuntimeProfile>("CreateTablet");
- TCreateTabletReq request;
- create_tablet_request(10000, 270068372, &request);
- Status res = _engine->create_tablet(request, profile.get());
- ASSERT_TRUE(res.ok());
-
- TDescriptorTable tdesc_tbl = create_descriptor_tablet();
- ObjectPool obj_pool;
- DescriptorTbl* desc_tbl = nullptr;
- DescriptorTbl::create(&obj_pool, tdesc_tbl, &desc_tbl);
- TupleDescriptor* tuple_desc = desc_tbl->get_tuple_descriptor(0);
- OlapTableSchemaParam param;
-
- PUniqueId load_id;
- load_id.set_hi(0);
- load_id.set_lo(0);
- WriteRequest write_req;
- write_req.tablet_id = 10000;
- write_req.schema_hash = 270068372;
- write_req.txn_id = 20002;
- write_req.partition_id = 30002;
- write_req.load_id = load_id;
- write_req.tuple_desc = tuple_desc;
- write_req.slots = &(tuple_desc->slots());
- write_req.is_high_priority = false;
- write_req.table_schema_param = ¶m;
- DeltaWriter* delta_writer = nullptr;
- profile = std::make_unique<RuntimeProfile>("MemTableMemoryLimiterTest");
- DeltaWriter::open(&write_req, &delta_writer, profile.get(), TUniqueId());
- ASSERT_NE(delta_writer, nullptr);
-
- vectorized::Block block;
- for (const auto& slot_desc : tuple_desc->slots()) {
-
block.insert(vectorized::ColumnWithTypeAndName(slot_desc->get_empty_mutable_column(),
-
slot_desc->get_data_type_ptr(),
- slot_desc->col_name()));
- }
- auto columns = block.mutate_columns();
- {
- int8_t k1 = -127;
- columns[0]->insert_data((const char*)&k1, sizeof(k1));
-
- int16_t k2 = -32767;
- columns[1]->insert_data((const char*)&k2, sizeof(k2));
-
- int32_t k3 = -2147483647;
- columns[2]->insert_data((const char*)&k3, sizeof(k3));
-
- res = delta_writer->write(&block, {0});
- ASSERT_TRUE(res.ok());
- }
- std::mutex lock;
- _mgr->init(100);
- auto memtable_writer = delta_writer->memtable_writer();
- {
- std::lock_guard<std::mutex> l(lock);
- _mgr->register_writer(memtable_writer);
- }
- _mgr->handle_memtable_flush();
- CHECK_EQ(0, memtable_writer->active_memtable_mem_consumption());
- {
- std::lock_guard<std::mutex> l(lock);
- _mgr->deregister_writer(memtable_writer);
- }
-
- res = delta_writer->close();
- EXPECT_EQ(Status::OK(), res);
- res = delta_writer->build_rowset();
- EXPECT_EQ(Status::OK(), res);
- res = delta_writer->commit_txn(PSlaveTabletNodes(), false);
- EXPECT_EQ(Status::OK(), res);
- res = _engine->tablet_manager()->drop_tablet(request.tablet_id,
request.replica_id, false);
- EXPECT_EQ(Status::OK(), res);
- delete delta_writer;
-}
-} // namespace doris
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]