[ https://issues.apache.org/jira/browse/IGNITE-9428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16597462#comment-16597462 ]
Andrew Mashenkov commented on IGNITE-9428: ------------------------------------------ I've partially fixed the issue within IGNITE-9373. Iterator now close correctly, but Issue related to multiple MvccQueryTracker calls is still actual. We have to add a close flag to mvcc tracker and have a guarantee that onDone() call will affect tracker only once. Also we should correctly handle a case when tracker closes is middle of initialization, e.g. onDone() is triggered by timeout, but tracker just has sent a request for mvcc version to coordinator. When tracker will get an Ack it should release all resources immediately if it was concurrently closed. > MVCC TX: Multiple H2ResultSetIterator closing leads to assertion in > MvccProcessor > --------------------------------------------------------------------------------- > > Key: IGNITE-9428 > URL: https://issues.apache.org/jira/browse/IGNITE-9428 > Project: Ignite > Issue Type: Bug > Components: mvcc, sql > Reporter: Roman Kondakov > Assignee: Andrew Mashenkov > Priority: Major > > Due to [IGNITE-9256|https://issues.apache.org/jira/browse/IGNITE-9256] patch, > multiple {{H2ResultSetIterator#onClose}} invocation becomes possible. This > can be considered as a {{Closable}} contract violation and should be fixed. > Also this case revealed a bug in {{MvccQueryTrackerImpl}} when multiple > {{onDone()}} call leads to multiple query finished acks sent back to the > {{MvccCoordinator}} which leads to the problems with the query tracking and > assertion errors. > Reproducer: > {{CacheMvccSqlTxQueriesAbstractTest#testAccountsTxDmlSumSql_WithRemoves_SingleNode}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)