[ https://issues.apache.org/jira/browse/IGNITE-24323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17922263#comment-17922263 ]
Aleksey Plekhanov commented on IGNITE-24323: -------------------------------------------- Green TC bot visa: https://tcbot2.sbt-ignite-dev.ru/pr.html?serverId=apache&suiteId=IgniteTests24Java8_RunAll&branchForTc=pull/11833/head&action=Latest Something broken in TC bot and "Comment JIRA" is not working now. > Calcite engine. Query execution inside UDF leads to deadlock > ------------------------------------------------------------ > > Key: IGNITE-24323 > URL: https://issues.apache.org/jira/browse/IGNITE-24323 > Project: Ignite > Issue Type: Bug > Reporter: Aleksey Plekhanov > Assignee: Aleksey Plekhanov > Priority: Major > Labels: calcite, ise > Time Spent: 0.5h > Remaining Estimate: 0h > > We have striped executor to execute query tasks. Thread for query/fragment on > each node is fixed and defined by hash of query ID and fragment ID. If user > created user defined function and try to execute some query inside it, it can > lead to deadlock, since task execution thread blocked by new synchronous > query execution request and the new query can be assigned to the same thread. > For H2-based SQL engine threads are no binded to the query and there is no > such problem. > For Calcite-based SQL engine we use non thread safe datastructures in tasks. > To workaround this problem we can use regular IgniteThreadPoolExecutor, but > need to ensure that there are no tasks concurrently executing for the same > query/fragment. > Also, perhaps this approach can affect performance and should be enabled by > some property explicitly only for users that require this mode. > -- This message was sent by Atlassian Jira (v8.20.10#820010)