[
https://issues.apache.org/jira/browse/IGNITE-21894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Pereslegin updated IGNITE-21894:
--------------------------------------
Summary: Sql. Undescriptive error when restart cluster node during open
JDBC transaction (was: Undescriptive error when restart cluster node during
open JDBC transaction)
> Sql. Undescriptive error when restart cluster node during open JDBC
> transaction
> -------------------------------------------------------------------------------
>
> Key: IGNITE-21894
> URL: https://issues.apache.org/jira/browse/IGNITE-21894
> Project: Ignite
> Issue Type: Bug
> Components: jdbc, sql
> Affects Versions: 3.0.0-beta1
> Environment: 2 nodes cluster
> Reporter: Igor
> Assignee: Pavel Pereslegin
> Priority: Minor
> Labels: ignite-3
>
> *Steps to reproduce:*
> 1. Start 2 nodes cluster.
> 2. Open JDBC connection, start transaction (using `.setAutoCommit(false)`).
> 3. Execute some insert queries. Do not commit the transaction.
> 4. Restart server node where connection was established.
> 5. Close JDBC statement and connection.
> *Expected:*
> Connection is closed with understandable error or without any error.
> *Actual:*
> Unclear exception on server side while closing the connection:
> {code:java}
> 2024-04-01 00:55:28:399 +0000
> [WARNING][ClusterFailoverMultiNodeTest_cluster_0-srv-worker-3][ClientInboundMessageHandler]
> Error processing client request [connectionId=1, id=1, op=55,
> remoteAddress=/127.0.0.1:59430]:Failed to find resource with id: 1
> org.apache.ignite.internal.lang.IgniteInternalException: IGN-CMN-65535
> TraceId:fe67e0da-5839-48c7-a59e-ca3465491698 Failed to find resource with id:
> 1
> at
> org.apache.ignite.client.handler.ClientResourceRegistry.get(ClientResourceRegistry.java:82)
> at
> org.apache.ignite.client.handler.JdbcQueryEventHandlerImpl.finishTxAsync(JdbcQueryEventHandlerImpl.java:390)
> at
> org.apache.ignite.client.handler.requests.jdbc.ClientJdbcFinishTxRequest.process(ClientJdbcFinishTxRequest.java:42)
> at
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:785)
> at
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:581)
> at
> org.apache.ignite.client.handler.ClientInboundMessageHandler.lambda$channelRead$2(ClientInboundMessageHandler.java:328)
> at
> org.gridgain.internal.security.context.SecuredRunnable.run(SecuredRunnable.java:34)
> at
> org.apache.ignite.client.handler.ClientInboundMessageHandler.channelRead(ClientInboundMessageHandler.java:328)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
> at
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
> at
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
> at
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
> at
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
> at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
> at
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
> at
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
> at
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.base/java.lang.Thread.run(Thread.java:834) {code}
> The exception on client side:
> {code:java}
> java.sql.SQLException: The transaction rollback request failed.
> at
> org.apache.ignite.internal.jdbc.JdbcConnection.finishTx(JdbcConnection.java:425)
> at
> org.apache.ignite.internal.jdbc.JdbcConnection.close(JdbcConnection.java:441)
> at
> org.gridgain.ai3tests.tests.ThinClientRollbackTests.test(ThinClientRollbackTests.java:109)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: java.util.concurrent.ExecutionException:
> org.apache.ignite.lang.IgniteException: IGN-CMN-65535
> TraceId:750d1311-4766-4351-916a-8cecc4b7e031 Failed to find resource with id:
> 1
> at
> java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
> at
> java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
> at
> org.apache.ignite.internal.jdbc.JdbcConnection.finishTx(JdbcConnection.java:417)
> ... 7 more {code}
> *Comments:*
> If do the same with transaction using `IgniteClient` there are no errors.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)