diff --git a/src/Interpreters/executeQuery.cpp b/src/Interpreters/executeQuery.cpp index 86686b3eb13..abca563de55 100644 --- a/src/Interpreters/executeQuery.cpp +++ b/src/Interpreters/executeQuery.cpp @@ -582,10 +582,28 @@ static std::tuple executeQueryImpl( std::shared_ptr quota; std::unique_ptr interpreter; + bool async_insert = false; auto * queue = context->getAsynchronousInsertQueue(); - const bool async_insert = queue - && insert_query && !insert_query->select - && insert_query->hasInlinedData() && settings.async_insert; + + if (insert_query && settings.async_insert) + { + String reason; + + if (!queue) + reason = "asynchronous insert queue is not configured"; + else if (insert_query->select) + reason = "insert query has select"; + else if (!insert_query->hasInlinedData()) + reason = "insert query doesn't have inlined data"; + else + async_insert = true; + + if (!async_insert) + { + LOG_DEBUG(&Poco::Logger::get("executeQuery"), + "Setting async_insert=1, but INSERT query will be executed synchronously (reason: {})", reason); + } + } if (async_insert) {