When i reuse the same zookeeper path I get the following misleading exception:

```
Received exception from server (version 21.1.6):
Code: 1000. DB::Exception: Received from clickhouse101.demo.trial.altinity.cloud:9440. DB::Exception: File not found: /var/lib/clickhouse3/store/f18/f183d094-a0e5-429a-ac96-5f8b663fcfe7/format_version.txt. Stack trace:

0. Poco::FileImpl::handleLastErrorImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0x11e8b81f in /usr/bin/clickhouse
1. Poco::FileImpl::removeImpl() @ 0x11e8ca7e in /usr/bin/clickhouse
2. Poco::File::remove(bool) @ 0x11e8ede1 in /usr/bin/clickhouse
3. DB::DiskLocal::remove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xea6a702 in /usr/bin/clickhouse
4. DB::MergeTreeData::dropIfEmpty() @ 0xf5c3694 in /usr/bin/clickhouse
5. DB::StorageReplicatedMergeTree::StorageReplicatedMergeTree(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::StorageInMemoryMetadata const&, DB::Context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::MergeTreeData::MergingParams const&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings> >, bool, bool) @ 0xf3cce72 in /usr/bin/clickhouse
6. std::__1::shared_ptr<DB::StorageReplicatedMergeTree> ext::shared_ptr_helper<DB::StorageReplicatedMergeTree>::create<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, bool const&, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::StorageInMemoryMetadata&, DB::Context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, DB::MergeTreeData::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings> >, bool const&, bool&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, bool const&, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::StorageInMemoryMetadata&, DB::Context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, DB::MergeTreeData::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings> >&&, bool const&, bool&) @ 0xf7abd23 in /usr/bin/clickhouse
7. ? @ 0xf7a4fd8 in /usr/bin/clickhouse
8. std::__1::__function::__func<std::__1::shared_ptr<DB::IStorage> (*)(DB::StorageFactory::Arguments const&), std::__1::allocator<std::__1::shared_ptr<DB::IStorage> (*)(DB::StorageFactory::Arguments const&)>, std::__1::shared_ptr<DB::IStorage> (DB::StorageFactory::Arguments const&)>::operator()(DB::StorageFactory::Arguments const&) @ 0xf5445cd in /usr/bin/clickhouse
9. DB::StorageFactory::get(DB::ASTCreateQuery const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::Context&, DB::Context&, DB::ColumnsDescription const&, DB::ConstraintsDescription const&, bool) const @ 0xf30e60a in /usr/bin/clickhouse
10. DB::InterpreterCreateQuery::doCreateTable(DB::ASTCreateQuery&, DB::InterpreterCreateQuery::TableProperties const&) @ 0xec4113e in /usr/bin/clickhouse
11. DB::InterpreterCreateQuery::createTable(DB::ASTCreateQuery&) @ 0xec3e9cd in /usr/bin/clickhouse
12. DB::InterpreterCreateQuery::execute() @ 0xec43677 in /usr/bin/clickhouse
13. ? @ 0xf163e79 in /usr/bin/clickhouse
14. DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::Context&, bool, DB::QueryProcessingStage::Enum, bool) @ 0xf1627ed in /usr/bin/clickhouse
15. DB::TCPHandler::runImpl() @ 0xf86cdc6 in /usr/bin/clickhouse
16. DB::TCPHandler::run() @ 0xf87bbd7 in /usr/bin/clickhouse
17. Poco::Net::TCPServerConnection::start() @ 0x11dbfbcf in /usr/bin/clickhouse
18. Poco::Net::TCPServerDispatcher::run() @ 0x11dc15e1 in /usr/bin/clickhouse
19. Poco::PooledThread::run() @ 0x11eecf69 in /usr/bin/clickhouse
20. Poco::ThreadImpl::runnableEntry(void*) @ 0x11ee8efa in /usr/bin/clickhouse
21. start_thread @ 0x9609 in /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
22. clone @ 0x122293 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
```
{
    auto lock = lockParts();
    auto it = data_parts_by_info.find(part_info);
    if (it == data_parts_by_info.end())
        return nullptr;
    for (auto state : valid_states)
        if ((*it)->getState() == state)
            return *it;
    return nullptr;
}
MergeTreeData::DataPartPtr MergeTreeData::getPartIfExists(const String & part_name, const MergeTreeData::DataPartStates & valid_states)
{
    return getPartIfExists(MergeTreePartInfo::fromPartName(part_name, format_version), valid_states);
}
static void loadPartAndFixMetadataImpl(MergeTreeData::MutableDataPartPtr part)
{
    auto disk = part->volume->getDisk();
    String full_part_path = part->getFullRelativePath();
    part->loadColumnsChecksumsIndexes(false, true);
    part->modification_time = disk->getLastModified(full_part_path).epochTime();
}
void MergeTreeData::calculateColumnSizesImpl()
{
    column_sizes.clear();
    
    auto committed_parts_range = getDataPartsStateRange(DataPartState::Committed);
    for (const auto & part : committed_parts_range)
        addPartContributionToColumnSizes(part);
}
void MergeTreeData::addPartContributionToColumnSizes(const DataPartPtr & part)