**Describe the bug**
```
| | | | | | | | | 5    0x000000000e3a5ec1 in DB::executeQueryImpl(char const*, char const*, DB::Context&, bool, DB::QueryProcessingStage::Enum, bool, DB::ReadBuffer*) ()
| | | | | | | | | | 2    0x000000000e3aadc6 in DB::logQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::Context const&, bool) ()
| | | | | | | | | | | 2    0x000000000887a195 in DB::OwnSplitChannel::log(Poco::Message const&) ()
| | | | | | | | | | | | 2    0x000000000887a7fa in DB::OwnSplitChannel::logSplit(Poco::Message const&) ()
| | | | | | | | | | | | | 2    0x000000000887acb6 in DB::SystemLog<DB::TextLogElement>::add(DB::TextLogElement const&) ()
| | | | | | | | | | | | | | 1    0x0000000011976246 in std::__1::mutex::lock() ()
| | | | | | | | | | | | | | | 1    0x00000000087495a1 in pthread_mutex_lock ()
| | | | | | | | | | | | | | | | 1    0x00007f074da790a3 in __GI___pthread_mutex_lock at ../nptl/pthread_mutex_lock.c:80
| | | | | | | | | | | | | | | | | 1    __lll_lock_wait at lowlevellock.c:52
| | | | | | | | | | | | | 2    0x000000000887ae28 in DB::SystemLog<DB::TextLogElement>::add(DB::TextLogElement const&) ()
| | | | | | | | | | | | | | 1    0x000000000887c62c in void std::__1::vector<DB::TextLogElement, std::__1::allocator<DB::TextLogElement> >::__push_back_slow_path<DB::TextLogElement const&>(DB::TextLogElement const&) ()
| | | | | | | | | | | | | | | 1    0x00000000087156fb in operator new(unsigned long) ()
| | | | | | | | | | | | | | | | 1    0x0000000008727744 in MemoryTracker::alloc(long) ()
| | | | | | | | | | | | | | | | | 1    0x000000000872727c in MemoryTracker::logMemoryUsage(long) const ()
| | | | | | | | | | | | | | | | | | 1    0x000000000887a195 in DB::OwnSplitChannel::log(Poco::Message const&) ()
| | | | | | | | | | | | | | | | | | | 1    0x000000000887a7fa in DB::OwnSplitChannel::logSplit(Poco::Message const&) ()
| | | | | | | | | | | | | | | | | | | | 1    0x000000000887acb6 in DB::SystemLog<DB::TextLogElement>::add(DB::TextLogElement const&) ()
| | | | | | | | | | | | | | | | | | | | | 1    0x0000000011976246 in std::__1::mutex::lock() ()
| | | | | | | | | | | | | | | | | | | | | | 1    0x00000000087495a1 in pthread_mutex_lock ()
| | | | | | | | | | | | | | | | | | | | | | | 1    0x00007f074da790a3 in __GI___pthread_mutex_lock at ../nptl/pthread_mutex_lock.c:80
| | | | | | | | | | | | | | | | | | | | | | | | 1    __lll_lock_wait at lowlevellock.c:52
```

**How to reproduce**
```
clickhouse-benchmark -i 1000000 -c16 --secure --query "SELECT 1"
```
{
    try
    {
        LOG_TRACE(log, "Flushing system log, {} entries to flush", to_flush.size());
        
        
        
        
        prepareTable();
        Block block = LogElement::createBlock();
        MutableColumns columns = block.mutateColumns();
        for (const auto & elem : to_flush)
            elem.appendToBlock(columns);
        block.setColumns(std::move(columns));
        
        
        std::unique_ptr<ASTInsertQuery> insert = std::make_unique<ASTInsertQuery>();
        insert->table_id = table_id;
        ASTPtr query_ptr(insert.release());
        
        Context insert_context(context);
        insert_context.makeQueryContext();
        InterpreterInsertQuery interpreter(query_ptr, insert_context);
        BlockIO io = interpreter.execute();
        io.out->writePrefix();
        io.out->write(block);
        io.out->writeSuffix();
    }
    catch (...)