I have a few SummingMergeTree tables created many years ago.
20.12 crashes trying to delete empty parts with the message: `Unexpected part name: 201907_44_45_999999999`
```
2020.12.28 20:57:39.962301 [ 21808 ] {} <Trace> db.table (ReplicatedMergeTreeCleanupThread): Checking 100 blocks (100 are not cached) to clear old ones from ZooKeeper.
2020.12.28 20:57:39.972444 [ 21808 ] {} <Trace> db.table: Will try to insert a log entry to DROP_RANGE for part: 20190730_20190731_44_45_1
2020.12.28 20:57:39.984770 [ 21808 ] {} <Debug> db.table: Waiting for sde798 to pull log-0000514194 to queue
2020.12.28 20:57:39.991527 [ 21812 ] {} <Debug> db.table (ReplicatedMergeTreeQueue): Pulling 1 entries to queue: log-0000514194 - log-0000514194
2020.12.28 20:57:39.997144 [ 21812 ] {} <Error> db.table (ReplicatedMergeTreeQueue): Code: 233, e.displayText() = DB::Exception: Unexpected part name: 201907_44_45_999999999, Stack trace (when copying this message, always include the lines below):
0. DB::MergeTreePartInfo::fromPartName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, StrongTypedef<unsigned int, DB::MergeTreeDataFormatVersionTag>) @ 0xe5ae893 in /usr/bin/clickhouse
1. DB::ActiveDataPartSet::add(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basi
c_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*) @ 0xe462e59 in /usr/bin/clickhouse
2. DB::ReplicatedMergeTreeQueue::insertUnlocked(std::__1::shared_ptr<DB::ReplicatedMergeTreeLogEntry> const&, std::__1::optional<long>&, std::__1::lock_guard<std::__1::mutex>&) @ 0xe640ccd in /usr/bin/clickhouse
3. DB::ReplicatedMergeTreeQueue::pullLogsToQueue(std::__1::shared_ptr<zkutil::ZooKeeper>, std::__1::function<void (Coordination::WatchResponse const&)>) @ 0xe648d45 in /usr/bin/clickhouse
4. DB::StorageReplicatedMergeTree::queueUpdatingTask() @ 0xe312111 in /usr/bin/clickhouse
5. DB::BackgroundSchedulePoolTaskInfo::execute() @ 0xda48492 in /usr/bin/clickhouse
6. DB::BackgroundSchedulePool::threadFunction() @ 0xda4a8c2 in /usr/bin/clickhouse
7. ? @ 0xda4bb41 in /usr/bin/clickhouse
8. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x7dc5b3d in /usr/bin/clickhouse
9. ? @ 0x7dc96f3 in /usr/bin/clickhouse
10. start_thread @ 0x74a4 in /lib/x86_64-linux-gnu/libpthread-2.24.so
11. clone @ 0xe8d0f in /lib/x86_64-linux-gnu/libc-2.24.so
 (version 20.12.5.14 (official build))

2020.12.28 20:57:39.997247 [ 21786 ] {} <Trace> BaseDaemon: Received signal -1
2020.12.28 20:57:39.997262 [ 21786 ] {} <Fatal> BaseDaemon: (version 20.12.5.14 (official build), build id: BEE6512D29AA78DB) (from thread 21812) Terminate called for uncaught exception:
Code: 233, e.displayText() = DB::Exception: Unexpected part name: 201907_44_45_999999999, Stack trace (when copying this message, always include the lines below):

0. DB::MergeTreePartInfo::fromPartName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, StrongTypedef<unsigned int, DB::MergeTreeDataFormatVersionTag>) @ 0xe5ae893 in /usr/bin/clickhouse
1. DB::ActiveDataPartSet::add(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basi
c_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*) @ 0xe462e59 in /usr/bin/clickhouse
2. DB::ReplicatedMergeTreeQueue::insertUnlocked(std::__1::shared_ptr<DB::ReplicatedMergeTreeLogEntry> const&, std::__1::optional<long>&, std::__1::lock_guard<std::__1::mutex>&) @ 0xe640ccd in /usr

2020.12.28 20:57:39.997283 [ 21786 ] {} <Trace> BaseDaemon: Received signal 6
2020.12.28 20:57:39.997365 [ 22052 ] {} <Fatal> BaseDaemon: ########################################
2020.12.28 20:57:39.997383 [ 22052 ] {} <Fatal> BaseDaemon: (version 20.12.5.14 (official build), build id: BEE6512D29AA78DB) (from thread 21812) (no query) Received signal Aborted (6)
2020.12.28 20:57:39.997391 [ 22052 ] {} <Fatal> BaseDaemon:
2020.12.28 20:57:39.997403 [ 22052 ] {} <Fatal> BaseDaemon: Stack trace: 0x7f77e1438fff 0x7f77e143a42a 0x7f18e56 0x124170d3 0x1241707c 0xe64a296 0xe312111 0xda48492 0xda4a8c2 0xda4bb41 0x7dc5b3d 0x7dc96f3 0x7f77e1bb84a4 0x7f77e14eed0f
2020.12.28 20:57:39.997425 [ 22052 ] {} <Fatal> BaseDaemon: 2. raise @ 0x32fff in /lib/x86_64-linux-gnu/libc-2.24.so
2020.12.28 20:57:39.997433 [ 22052 ] {} <Fatal> BaseDaemon: 3. abort @ 0x3442a in /lib/x86_64-linux-gnu/libc-2.24.so
2020.12.28 20:57:39.997443 [ 22052 ] {} <Fatal> BaseDaemon: 4. ? @ 0x7f18e56 in /usr/bin/clickhouse
2020.12.28 20:57:39.997449 [ 22052 ] {} <Fatal> BaseDaemon: 5. ? @ 0x124170d3 in ?
2020.12.28 20:57:39.997463 [ 22052 ] {} <Fatal> BaseDaemon: 6. std::terminate() @ 0x1241707c in ?
2020.12.28 20:57:39.997477 [ 22052 ] {} <Fatal> BaseDaemon: 7. DB::ReplicatedMergeTreeQueue::pullLogsToQueue(std::__1::shared_ptr<zkutil::ZooKeeper>, std::__1::function<void (Coordination::WatchResponse const&)>) @ 0xe64a296 in /usr/bin/clickhouse
2020.12.28 20:57:39.997485 [ 22052 ] {} <Fatal> BaseDaemon: 8. DB::StorageReplicatedMergeTree::queueUpdatingTask() @ 0xe312111 in /usr/bin/clickhouse
2020.12.28 20:57:39.997493 [ 22052 ] {} <Fatal> BaseDaemon: 9. DB::BackgroundSchedulePoolTaskInfo::execute() @ 0xda48492 in /usr/bin/clickhouse
2020.12.28 20:57:39.997500 [ 22052 ] {} <Fatal> BaseDaemon: 10. DB::BackgroundSchedulePool::threadFunction() @ 0xda4a8c2 in /usr/bin/clickhouse
2020.12.28 20:57:39.997506 [ 22052 ] {} <Fatal> BaseDaemon: 11. ? @ 0xda4bb41 in /usr/bin/clickhouse
2020.12.28 20:57:39.997515 [ 22052 ] {} <Fatal> BaseDaemon: 12. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x7dc5b3d in /usr/bin/clickhouse
2020.12.28 20:57:39.997521 [ 22052 ] {} <Fatal> BaseDaemon: 13. ? @ 0x7dc96f3 in /usr/bin/clickhouse
2020.12.28 20:57:39.997531 [ 22052 ] {} <Fatal> BaseDaemon: 14. start_thread @ 0x74a4 in /lib/x86_64-linux-gnu/libpthread-2.24.so
```
}
    }
    if (getSettings()->detach_old_local_parts_when_cloning_replica)
    {
        auto metadata_snapshot = getInMemoryMetadataPtr();
        for (const auto & part : parts_to_remove_from_working_set)
        {
            LOG_INFO(log, "Detaching {}", part->relative_path);
            part->makeCloneInDetached("clone", metadata_snapshot);
        }
    }
    removePartsFromWorkingSet(parts_to_remove_from_working_set, true);
    for (const String & name : active_parts)
    {
        LogEntry log_entry;
        log_entry.type = LogEntry::GET_PART;
        log_entry.source_replica = "";
        log_entry.new_part_name = name;
        log_entry.create_time = tryGetPartCreateTime(zookeeper, source_path, name);
        zookeeper->create(replica_path + "/queue/queue-", log_entry.toString(), zkutil::CreateMode::PersistentSequential);
    }
    LOG_DEBUG(log, "Queued {} parts to be fetched", active_parts.size());
    
    for (const String & entry : source_queue)
    {
        zookeeper->create(replica_path + "/queue/queue-", entry, zkutil::CreateMode::PersistentSequential);
    }
    LOG_DEBUG(log, "Copied {} queue entries", source_queue.size());
}
void StorageReplicatedMergeTree::cloneReplicaIfNeeded(zkutil::ZooKeeperPtr zookeeper)