Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
tavplubix committed Mar 20, 2024
1 parent 02d5c46 commit f44127c
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions src/Databases/DatabaseReplicatedWorker.cpp
Expand Up @@ -77,10 +77,7 @@ void DatabaseReplicatedDDLWorker::initializeReplication()
zookeeper->deleteEphemeralNodeIfContentMatches(active_path, active_id);
if (active_node_holder)
active_node_holder->setAlreadyRemoved();
zookeeper->create(active_path, active_id, zkutil::CreateMode::Ephemeral);
active_node_holder.reset();
active_node_holder_zookeeper = zookeeper;
active_node_holder = zkutil::EphemeralNodeHolder::existing(active_path, *active_node_holder_zookeeper);

String log_ptr_str = zookeeper->get(database->replica_path + "/log_ptr");
UInt32 our_log_ptr = parse<UInt32>(log_ptr_str);
Expand Down Expand Up @@ -129,9 +126,15 @@ void DatabaseReplicatedDDLWorker::initializeReplication()
initializeLogPointer(log_entry_name);
}

std::lock_guard lock{database->metadata_mutex};
if (!database->checkDigestValid(context, false))
throw Exception(ErrorCodes::LOGICAL_ERROR, "Inconsistent database metadata after reconnection to ZooKeeper");
{
std::lock_guard lock{database->metadata_mutex};
if (!database->checkDigestValid(context, false))
throw Exception(ErrorCodes::LOGICAL_ERROR, "Inconsistent database metadata after reconnection to ZooKeeper");
}

zookeeper->create(active_path, active_id, zkutil::CreateMode::Ephemeral);
active_node_holder_zookeeper = zookeeper;
active_node_holder = zkutil::EphemeralNodeHolder::existing(active_path, *active_node_holder_zookeeper);
}

String DatabaseReplicatedDDLWorker::enqueueQuery(DDLLogEntry & entry)
Expand Down

0 comments on commit f44127c

Please sign in to comment.