Symptoms: all threads in BackgroundScheduledPool busy, lot of tasks in replication queue, none of the tasks is executing. 

![Screenshot from 2021-04-16 16-21-44_](https://user-images.githubusercontent.com/1549571/115193796-e767d600-a0ec-11eb-887c-5c9c2412e50c.png)

Related to #16895

Possible workarounds (poor options): increasing the background_schedule_pool_size to huge values, or restart server every time when that happens etc. - 

if (!is_parallel)
            {
                Coordination::Stat added_parts_stat;
                String old_added_parts = zookeeper->get(quorum_last_part_path, &added_parts_stat);
                ReplicatedMergeTreeQuorumAddedParts parts_with_quorum(format_version);
                if (!old_added_parts.empty())
                    parts_with_quorum.fromString(old_added_parts);
                auto part_info = MergeTreePartInfo::fromPartName(part_name, format_version);
                
                parts_with_quorum.added_parts[part_info.partition_id] = part_name;
                String new_added_parts = parts_with_quorum.toString();
                ops.emplace_back(zkutil::makeRemoveRequest(quorum_status_path, stat.version));
                ops.emplace_back(zkutil::makeSetRequest(quorum_last_part_path, new_added_parts, added_parts_stat.version));
            }
            else
                ops.emplace_back(zkutil::makeRemoveRequest(quorum_status_path, stat.version));
            auto code = zookeeper->tryMulti(ops, responses);
            if (code == Coordination::Error::ZOK)
            {
                break;
            }
            else if (code == Coordination::Error::ZNONODE)
            {
                
                break;
            }
            else if (code == Coordination::Error::ZBADVERSION)
            {
                
                continue;