**Describe what's wrong**
Query metric doesn't calculate anymore
```sql
SELECT * FROM system.metrics WHERE metric='Query'
```
always return value=0 

```sql
SELECT event_time, CurrentMetrics_Query FROM system.metric_log WHERE CurrentMetrics_Query>0
```
always return 0 rows

I check these queries during run following script in separate terminal
```bash
clickhouse-client -q "SELECT sleepEachRow(1),now() FROM numbers(60)"
```

**Does it reproduce on recent release?**
Yes it reproduce on 22.1 and 21.12
And doesn't reproduce on 21.11

{
    assert(executors.empty());
}
CancellationCode QueryStatus::cancelQuery(bool)
{
    if (is_killed.load())
        return CancellationCode::CancelSent;
    is_killed.store(true);
    std::lock_guard lock(executors_mutex);
    for (auto * e : executors)
        e->cancel();
    return CancellationCode::CancelSent;
}
void QueryStatus::addPipelineExecutor(PipelineExecutor * e)
{
    std::lock_guard lock(executors_mutex);
    assert(std::find(executors.begin(), executors.end(), e) == executors.end());
    executors.push_back(e);
}
void QueryStatus::removePipelineExecutor(PipelineExecutor * e)