After a replica fails to fetch a part from a host, the exception comes up every time the replica wants to download anything else from that host.
The exception seems to be just an annoying message, fetching requests are able to complete successfully.
I found this while investigating the behaviour of 'optimize_on_insert' which created a good amount of empty parts in my environment, and these parts were immediately deleted by the empty parts cleaner.
```
Host1

-- Insert an empty part
2021.02.10 20:07:02.656343 [ 13601 ] {f596ba73-bc01-4323-8f38-6e3590644100} <Debug> db.table1 (Replicated OutputStream): Wrote block with 0 rows
2021.02.10 20:07:02.681045 [ 13601 ] {f596ba73-bc01-4323-8f38-6e3590644100} <Trace> db.table1: Renaming temporary part tmp_insert_202102_34590_34590_0 to 202102_54133_54133_0.
-- Drop the empty part
2021.02.10 20:07:03.042327 [ 13614 ] {} <Trace> db.table1: Will try to insert a log entry to DROP_RANGE for part: 202102_54133_54133_0
2021.02.10 20:07:03.083379 [ 13603 ] {} <Debug> db.table1: There is no part 202102_54133_54133_0 in ZooKeeper, it was only in filesystem

-- Replica wants to download the part, but it's already deleted
2021.02.10 20:07:03.125134 [ 9274 ] {} <Trace> InterserverIOHTTPHandler-factory: HTTP Request for InterserverIOHTTPHandler-factory. Method: POST, Address: [::ffff:10.246.48.2]:51842, User-Agent: (none), Content Type: , Transfer Encoding: identity, X-Forwarded-For: (none)
2021.02.10 20:07:03.125188 [ 9274 ] {} <Trace> InterserverIOHTTPHandler: Request URI: /?endpoint=DataPartsExchange%3A%2Fclickhouse%2Ftables%2Ftable1%2Freplicas%2Fhost1&part=202102_54133_54133_0&client_protocol_version=5&compress=false
2021.02.10 20:07:03.125198 [ 9274 ] {} <Trace> db.table1 (Replicated PartsService): Sending part 202102_54133_54133_0
2021.02.10 20:07:03.125257 [ 13609 ] {} <Warning> db.table1 (ReplicatedMergeTreePartCheckThread): Checking part 202102_54133_54133_0
2021.02.10 20:07:03.125288 [ 9274 ] {} <Error> InterserverIOHTTPHandler: Code: 232, e.displayText() = DB::Exception: No part 202102_54133_54133_0 in table, Stack trace (when copying this message, always include the lines below):
2021.02.10 20:07:03.125718 [ 13609 ] {} <Warning> db.table1 (ReplicatedMergeTreePartCheckThread): Checking if anyone has a part covering 202102_54133_54133_0.
2021.02.10 20:07:03.126727 [ 13609 ] {} <Error> db.table1 (ReplicatedMergeTreePartCheckThread): No replica has part covering 202102_54133_54133_0 and a merge is impossible: we didn't find smaller parts with either the same min block or the same max block.
2021.02.10 20:07:03.126733 [ 13609 ] {} <Error> db.table1 (ReplicatedMergeTreePartCheckThread): Missing part 202102_54133_54133_0 is not in our queue.

Host2

-- Replica wants to download the part, but it's already deleted
2021.02.10 20:07:03.052819 [ 25538 ] {} <Debug> db.table1: Fetching part 202102_54133_54133_0 from /clickhouse/tables/table1/replicas/host1
2021.02.10 20:07:03.085504 [ 25538 ] {} <Trace> ReadWriteBufferFromHTTP: Sending request to http://host1:9009/?endpoint=DataPartsExchange%3A%2Fclickhouse%2Ftables%2Ftable1%2Freplicas%2Fhost1&part=202102_54133_54133_0&client_protocol_version=5&compress=false
2021.02.10 20:07:03.136022 [ 25538 ] {} <Error> db.table1: auto DB::StorageReplicatedMergeTree::processQueueEntry(ReplicatedMergeTreeQueue::SelectedEntryPtr)::(anonymous class)::operator()(DB::StorageReplicatedMergeTree::LogEntryPtr &) const: Code: 86, e.displayText() = DB::Exception: Received error from remote server /?endpoint=DataPartsExchange%3A%2Fclickhouse%2Ftables%2Ftable1%2Freplicas%2Fhost1&part=202102_54133_54133_0&client_protocol_version=5&compress=false. HTTP status code: 500 Internal Server Error, body: Code: 232, e.displayText() = DB::Exception: No part 202102_54133_54133_0 in table, Stack trace (when copying this message, always include the lines below):

-- The next request to download a part from a different table reports the same exception (the table and part name in the exception are completely different)
2021.02.10 20:07:03.195136 [ 25517 ] {} <Debug> db.table2: Fetching part 202102_54658_54707_10 from /clickhouse/tables/table2/replicas/host1
2021.02.10 20:07:03.220531 [ 25517 ] {} <Trace> HTTPCommon: Failed communicating with host1 with error 'Received error from remote server /?endpoint=DataPartsExchange%3A%2Fclickhouse%2Ftables%2Ftable1%2Freplicas%2Fhost1&part=202102_54133_54133_0&client_protocol_version=5&compress=false. HTTP status code: 500 Internal Server Error, body: Code: 232, e.displayText() = DB::Exception: No part 202102_54133_54133_0 in table, Stack trace (when copying this message, always include the lines below):
-- However the request completes successfully
2021.02.10 20:07:03.220552 [ 25517 ] {} <Trace> ReadWriteBufferFromHTTP: Sending request to http://host1:9009/?endpoint=DataPartsExchange%3A%2Fclickhouse%2Ftables%2Ftable2%2Freplicas%2Fhost1&part=202102_54658_54707_10&client_protocol_version=5&compress=false
2021.02.10 20:07:03.372064 [ 25517 ] {} <Debug> DiskLocal: Reserving 1.00 MiB on disk `default`, having unreserved 944.95 GiB.
2021.02.10 20:07:03.373431 [ 25517 ] {} <Trace> db.table2: Renaming temporary part tmp_fetch_202102_54658_54707_10 to 202102_54658_54707_10.
2021.02.10 20:07:03.512730 [ 25517 ] {} <Debug> db.table2: Fetched part 202102_54658_54707_10 from /clickhouse/tables/table2/replicas/host1

-- Next day, still the same irrelevant exception on the second replica
2021.02.11 15:35:03.095160 [ 25575 ] {} <Debug> db.table3: Fetching part all_180775_181336_123 from /clickhouse/tables/table3/replicas/host1
2021.02.11 15:35:03.127568 [ 25575 ] {} <Trace> HTTPCommon: Failed communicating with host1 with error 'Received error from remote server /?endpoint=DataPartsExchange%3A%2Fclickhouse%2Ftables%2Ftable1%2Freplicas%2Fhost1&part=202102_54133_54133_0&client_protocol_version=5&compress=false. HTTP status code: 500 Internal Server Error, body: Code: 232, e.displayText() = DB::Exception: No part 202102_54133_54133_0 in table, Stack trace (when copying this message, always include the lines below):
```
The messages disappears after a restart of the replica.

{
    public:
        struct Key
        {
            String target_host;
            UInt16 target_port;
            bool is_target_https;
            String proxy_host;
            UInt16 proxy_port;
            bool is_proxy_https;
            bool operator ==(const Key & rhs) const