|
82 | 82 | import org.apache.ignite.internal.processors.query.calcite.exec.TimeoutService; |
83 | 83 | import org.apache.ignite.internal.processors.query.calcite.exec.TimeoutServiceImpl; |
84 | 84 | import org.apache.ignite.internal.processors.query.calcite.exec.exp.RexExecutorImpl; |
85 | | -import org.apache.ignite.internal.processors.query.calcite.exec.task.AbstractQueryTaskExecutor; |
86 | 85 | import org.apache.ignite.internal.processors.query.calcite.exec.task.QueryBlockingTaskExecutor; |
87 | 86 | import org.apache.ignite.internal.processors.query.calcite.exec.task.StripedQueryTaskExecutor; |
88 | 87 | import org.apache.ignite.internal.processors.query.calcite.hint.HintsConfig; |
@@ -545,8 +544,6 @@ private <T> List<T> parseAndProcessQuery( |
545 | 544 | ) throws IgniteSQLException { |
546 | 545 | ensureTransactionModeSupported(qryCtx); |
547 | 546 |
|
548 | | - checkUdfQuery(); |
549 | | - |
550 | 547 | SchemaPlus schema = schemaHolder.schema(schemaName); |
551 | 548 |
|
552 | 549 | assert schema != null : "Schema not found: " + schemaName; |
@@ -704,29 +701,6 @@ private void ensureTransactionModeSupported(@Nullable QueryContext qryCtx) { |
704 | 701 | IgniteTxManager.ensureTransactionModeSupported(ctx.cache().context().tm().tx(ver).isolation()); |
705 | 702 | } |
706 | 703 |
|
707 | | - /** Checks that query is initiated by UDF and print message to log if needed. */ |
708 | | - private void checkUdfQuery() { |
709 | | - if (udfQryWarned.get()) |
710 | | - return; |
711 | | - |
712 | | - if (Thread.currentThread().getName().startsWith(AbstractQueryTaskExecutor.THREAD_PREFIX) |
713 | | - && udfQryWarned.compareAndSet(false, true)) { |
714 | | - if (taskExecutor instanceof QueryBlockingTaskExecutor) { |
715 | | - log.info("Detected query initiated by user-defined function. " + |
716 | | - "In some circumstances, this can lead to thread pool starvation and deadlock. Ensure that " + |
717 | | - "the pool size is properly configured (property IgniteConfiguration.QueryThreadPoolSize). " + |
718 | | - "The pool size should be greater than the maximum number of concurrent queries initiated by UDFs."); |
719 | | - } |
720 | | - else { |
721 | | - log.warning("Detected query initiated by user-defined function. " + |
722 | | - "When a striped query task executor (the default configuration) is used, tasks for such queries " + |
723 | | - "can be assigned to the same thread as that held by the initial query, which can lead to a " + |
724 | | - "deadlock. To switch to a blocking tasks executor, set the following parameter: " + |
725 | | - "-DIGNITE_CALCITE_USE_QUERY_BLOCKING_TASK_EXECUTOR=true."); |
726 | | - } |
727 | | - } |
728 | | - } |
729 | | - |
730 | 704 | /** */ |
731 | 705 | private <T> T processQuery( |
732 | 706 | @Nullable QueryContext qryCtx, |
|
0 commit comments