For some reasons when we delete a MergeTree Part in atomic way something may go wrong - and leave the `delete_tmp_*` folder or it's part on disk. This may lead to a disk space consumption over time.

It's suggested to delete this folders at least at server start-up. Current solution with `clearOldTemporaryDirectories()` doesn't work because this method is called periodically from a thread without any locks or advisory on folders - it may cause the race conditions.
MutationsInterpreter interpreter(
                        shared_from_this(), metadata_snapshot, commands_for_size_validation, fake_query_context, false);
                    commands_size += interpreter.evaluateCommandsSize();
                }
                catch (...)
                {
                    tryLogCurrentException(log);
                    MergeTreeMutationEntry & entry = it->second;
                    entry.latest_fail_time = time(nullptr);
                    entry.latest_fail_reason = getCurrentExceptionMessage(false);
                    
                    break;
                }
            }
            if (current_ast_elements + commands_size >= max_ast_elements)
                break;
            current_ast_elements += commands_size;
            commands->insert(commands->end(), it->second.commands.begin(), it->second.commands.end());
            last_mutation_to_apply = it;
        }
        assert(commands->empty() == (last_mutation_to_apply == mutations_end_it));
        if (!commands->empty())
        {
            bool is_partition_affected = false;
            for (const auto & command : *commands)
            {
                if (command.partition == nullptr)
                {
                    is_partition_affected = true;
                    break;