And waits for them. That's pointless.
{
    assertNotReadonly();
    if (!is_leader)
        throw Exception("DROP PARTITION cannot be done on this replica because it is not a leader", ErrorCodes::NOT_A_LEADER);
    zkutil::ZooKeeperPtr zookeeper = getZooKeeper();
    LogEntry entry;
    String partition_id = getPartitionIDFromQuery(partition, query_context);
    bool did_drop = dropAllPartsInPartition(*zookeeper, partition_id, entry, query_context, detach);
    if (did_drop)
    {
        
        if (query_context->getSettingsRef().replication_alter_partitions_sync == 1)
            waitForReplicaToProcessLogEntry(replica_name, entry);
        else if (query_context->getSettingsRef().replication_alter_partitions_sync == 2)
            waitForAllReplicasToProcessLogEntry(entry);
        cleanLastPartNode(partition_id);
    }
}
void StorageReplicatedMergeTree::truncate(