One of our users just killed mutations produced by `ALTER MODIFY` queries on 21 servers. After that new alters on three servers stuck with:
```
Cannot execute alter metadata with version: 8 because another alter 7 must be executed before
```

However, there is no corresponding alter №7 in the replication queue and no undone mutations:
```
select * from system.mutations where is_done = 0
```

However, in the ZooKeeper, we have the correct state of metadata_version:
```
Row 13:
───────
name:           metadata_version
value:          7
czxid:          23078663291
mzxid:          29401964979
ctime:          2020-09-02 17:52:08
mtime:          2020-11-13 00:43:18
version:        7
cversion:       0
aversion:       0
ephemeralOwner: 0
dataLength:     1
numChildren:    0
pzxid:          23078663291
```
`SYSTEM RESTART REPLICA dbname.table_name` solves the issue, but it seems like` KILL MUTATION` in some cases can lead to unfinished alter.
auto max_level = MergeTreePartInfo::MAX_LEVEL;      
                        auto another_max_level = std::numeric_limits<decltype(part_info.level)>::max();    
                        if (part_info.level == max_level || part_info.level == another_max_level)
                            continue;
                        auto it = entry->block_numbers.find(part_info.partition_id);
                        if (it != entry->block_numbers.end() && it->second > part_info.getDataVersion())
                            mutation.parts_to_do.add(produced_part_name);
                    }
                }
                if (mutation.parts_to_do.size() == 0)
                {
                    some_mutations_are_probably_done = true;
                }
                
                if (entry->isAlterMutation() && entry->znode_name > mutation_pointer)
                {
                    LOG_TRACE(log, "Adding mutation {} with alter version {} to the queue", entry->znode_name, entry->alter_version);
                    alter_sequence.addMutationForAlter(entry->alter_version, state_lock);
                }
            }
        }
        storage.merge_selecting_task->schedule();
        if (some_mutations_are_probably_done)
            storage.mutations_finalizing_task->schedule();
    }
}
ReplicatedMergeTreeMutationEntryPtr ReplicatedMergeTreeQueue::removeMutation(