If they are defined, they can override table-level settings.
{
    
    
    storage.delayInsertOrThrowIfNeeded(&storage.partial_shutdown_event);
}
void ReplicatedMergeTreeSink::onFinish()
{
    auto zookeeper = storage.getZooKeeper();
    assertSessionIsNotExpired(zookeeper);
    finishDelayedChunk(zookeeper);
}
void ReplicatedMergeTreeSink::waitForQuorum(
    zkutil::ZooKeeperPtr & zookeeper,
    const std::string & part_name,
    const std::string & quorum_path,
    const std::string & is_active_node_value) const
{
    
    LOG_TRACE(log, "Waiting for quorum");
    try
    {
        while (true)
        {
            zkutil::EventPtr event = std::make_shared<Poco::Event>();
            std::string value;