[
https://issues.apache.org/jira/browse/IGNITE-18326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrey Mashenkov updated IGNITE-18326:
--------------------------------------
Description:
Scenario
* Start grid of [CGM, MetaStorage, DataNode] nodes.
* Stop DataNode.
* Run sql query, and wait on future for timeout.
* Observe: Query can't be started due to DataNode with the partition is absent,
and
Future throws CancelledException.
There is no way to get cursor closed because of future failure. Implicit
transaction object can't be accessed.
* Start DataNode back.
* Run the same query again
* Observe: Query failed because it can't lock the entry due to previous Tx
wasn't committed or rolled back.
Most likely, noone read from the cursor or we forget to close it when session
was closed.
Find reproducer in IGNITE-18171 PR in ignite-runner module
org.apache.ignite.internal.cluster.ItNodeRestartTest#testImplicitTransaction
was:
Scenario
* Start grid of [CGM, MetaStorage, DataNode] nodes.
* Stop DataNode.
* Run sql query, and wait on future for timeout.
* Observe: Query can't be started due to DataNode with the partition is absent,
and
Future throws CancelledException.
There is no way to get cursor closed because of future failure. Implicit
transaction object can't be accessed.
* Start DataNode back.
* Run the same query again
* Observe: Query failed because it can't lock the entry due to previous Tx
wasn't committed or rolled back.
Most likely, noone read from the cursor or we forget to close it when session
was closed.
See ItNodeRestartTest#testImplicitTransaction
> SQL query may forget to finish implicit TX.
> -------------------------------------------
>
> Key: IGNITE-18326
> URL: https://issues.apache.org/jira/browse/IGNITE-18326
> Project: Ignite
> Issue Type: Bug
> Reporter: Andrey Mashenkov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Scenario
> * Start grid of [CGM, MetaStorage, DataNode] nodes.
> * Stop DataNode.
> * Run sql query, and wait on future for timeout.
> * Observe: Query can't be started due to DataNode with the partition is
> absent, and
> Future throws CancelledException.
> There is no way to get cursor closed because of future failure. Implicit
> transaction object can't be accessed.
> * Start DataNode back.
> * Run the same query again
> * Observe: Query failed because it can't lock the entry due to previous Tx
> wasn't committed or rolled back.
> Most likely, noone read from the cursor or we forget to close it when session
> was closed.
> Find reproducer in IGNITE-18171 PR in ignite-runner module
> org.apache.ignite.internal.cluster.ItNodeRestartTest#testImplicitTransaction
--
This message was sent by Atlassian Jira
(v8.20.10#820010)