未验证 提交 f0800a07 编写于 作者: A alexey-milovidov 提交者: GitHub

Merge pull request #17700 from ClickHouse/tavplubix-patch-3

Fix sequential number in TestKeeper
...@@ -216,7 +216,6 @@ std::pair<ResponsePtr, Undo> TestKeeperCreateRequest::process(TestKeeper::Contai ...@@ -216,7 +216,6 @@ std::pair<ResponsePtr, Undo> TestKeeperCreateRequest::process(TestKeeper::Contai
if (is_sequential) if (is_sequential)
{ {
auto seq_num = it->second.seq_num; auto seq_num = it->second.seq_num;
++it->second.seq_num;
std::stringstream seq_num_str; // STYLE_CHECK_ALLOW_STD_STRING_STREAM std::stringstream seq_num_str; // STYLE_CHECK_ALLOW_STD_STRING_STREAM
seq_num_str.exceptions(std::ios::failbit); seq_num_str.exceptions(std::ios::failbit);
...@@ -225,18 +224,19 @@ std::pair<ResponsePtr, Undo> TestKeeperCreateRequest::process(TestKeeper::Contai ...@@ -225,18 +224,19 @@ std::pair<ResponsePtr, Undo> TestKeeperCreateRequest::process(TestKeeper::Contai
path_created += seq_num_str.str(); path_created += seq_num_str.str();
} }
/// Increment sequential number even if node is not sequential
++it->second.seq_num;
response.path_created = path_created; response.path_created = path_created;
container.emplace(path_created, std::move(created_node)); container.emplace(path_created, std::move(created_node));
undo = [&container, path_created, is_sequential = is_sequential, parent_path = it->first] undo = [&container, path_created, parent_path = it->first]
{ {
container.erase(path_created); container.erase(path_created);
auto & undo_parent = container.at(parent_path); auto & undo_parent = container.at(parent_path);
--undo_parent.stat.cversion; --undo_parent.stat.cversion;
--undo_parent.stat.numChildren; --undo_parent.stat.numChildren;
--undo_parent.seq_num;
if (is_sequential)
--undo_parent.seq_num;
}; };
++it->second.stat.cversion; ++it->second.stat.cversion;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册