Details
Description
During the TPC-H test runs I got a problem:
1) Create&Load TPC-H database
2) Execute "select count from LINEITEM;" throw JDBC connection
3) Get exception:
[Code: 0, SQL State: 50000] Exception while executing query [query=select count(*) from LINEITEM]. Error message:IGN-CMN-65535 TraceId:294a2e0a-29e8-448c-abdb-7944b335deb3 IGN-TX-5 TraceId:b582a4be-2ef1-455f-8e70-80a21e8bcc2e Failed to acquire a lock due to a conflict [txId=000ea0e8-bbc4-0000-1cb0-c18823b1fa69, conflictingWaiter=WaiterImpl [txId=000e9f97-4be0-0000-1cb0-c18823b1fa69, intendedLockMode=null, lockMode=IX, ex=null, isDone=true]]
and in the server logs:
Dec 29, 2022 6:32:29 AM org.apache.ignite.internal.logger.IgniteLogger logInternal WARNING: Failed to process replica request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, columnsToInclude=null, exactKey=null, flags=0, groupId=a804d8a4-ae2d-4fc2-bd6f-e40318297fa7_part_0, indexToUse=null, lowerBound=null, scanId=603, term=1, timestamp=HybridTimestamp [physical=1672288349125, logical=0], transactionId=000ea0e8-bbc4-0000-1cb0-c18823b1fa69, upperBound=null]] java.util.concurrent.CompletionException: org.apache.ignite.internal.tx.LockException: IGN-TX-5 TraceId:b582a4be-2ef1-455f-8e70-80a21e8bcc2e Failed to acquire a lock due to a conflict [txId=000ea0e8-bbc4-0000-1cb0-c18823b1fa69, conflictingWaiter=WaiterImpl [txId=000e9f97-4be0-0000-1cb0-c18823b1fa69, intendedLockMode=null, lockMode=IX, ex=null, isDone=true]] at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331) at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:670) at java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658) at java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2094) at org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(HeapLockManager.java:103) at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processScanRetrieveBatchAction(PartitionReplicaListener.java:604) at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$invoke$0(PartitionReplicaListener.java:264) at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073) at org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$sendWithRetry$38(RaftGroupServiceImpl.java:539) at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837) at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:479) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) Caused by: org.apache.ignite.internal.tx.LockException: IGN-TX-5 TraceId:b582a4be-2ef1-455f-8e70-80a21e8bcc2e Failed to acquire a lock due to a conflict [txId=000ea0e8-bbc4-0000-1cb0-c18823b1fa69, conflictingWaiter=WaiterImpl [txId=000e9f97-4be0-0000-1cb0-c18823b1fa69, intendedLockMode=null, lockMode=IX, ex=null, isDone=true]] at org.apache.ignite.internal.tx.impl.HeapLockManager$LockState.lockException(HeapLockManager.java:303) at org.apache.ignite.internal.tx.impl.HeapLockManager$LockState.isWaiterReadyToNotify(HeapLockManager.java:281) at org.apache.ignite.internal.tx.impl.HeapLockManager$LockState.tryAcquire(HeapLockManager.java:230) at org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(HeapLockManager.java:95) ... 14 moreDec 29, 2022 6:33:05 AM org.apache.ignite.internal.logger.IgniteLogger logInternal INFO: Skipping checkpoint (no pages were modified) [checkpointBeforeWriteLockTime=0ms, checkpointWriteLockWait=0ms, checkpointListenersExecuteTime=0ms, checkpointWriteLockHoldTime=0ms, reason='timeout']
After server restart
on client side:
[Code: 0, SQL State: 50000] Exception while executing query [query=select count(*) from LINEITEM]. Error message:IGN-CMN-65535 TraceId:1bdf6add-e64f-4eed-a1f3-b468d71ea9b2 Mismatched transaction id, expectedTxId={000ea0eb-b557-0000-7f0b-3ed28fce69d9}, actualTxId={000e9f9c-3f13-0000-1cb0-c18823b1fa69}
on server side:
Dec 29, 2022 6:35:37 AM org.apache.ignite.internal.logger.IgniteLogger logInternal WARNING: Failed to process replica request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, columnsToInclude=null, exactKey=null, flags=0, groupId=a804d8a4-ae2d-4fc2-bd6f-e40318297fa7_part_11, indexToUse=null, lowerBound=null, scanId=36, term=2, timestamp=HybridTimestamp [physical=1672288537972, logical=0], transactionId=000ea0eb-9c4c-0000-7f0b-3ed28fce69d9, upperBound=null]] java.util.concurrent.CompletionException: java.lang.AssertionError: Mismatched transaction id, expectedTxId={000ea0eb-9c4c-0000-7f0b-3ed28fce69d9}, actualTxId={000e9f9c-3f13-0000-1cb0-c18823b1fa69} at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314) at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1113) at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235) at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processScanRetrieveBatchAction(PartitionReplicaListener.java:604) at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$invoke$0(PartitionReplicaListener.java:264) at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073) at org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$sendWithRetry$38(RaftGroupServiceImpl.java:539) at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837) at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:479) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) Caused by: java.lang.AssertionError: Mismatched transaction id, expectedTxId={000ea0eb-9c4c-0000-7f0b-3ed28fce69d9}, actualTxId={000e9f9c-3f13-0000-1cb0-c18823b1fa69} at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.resolveReadResult(PartitionReplicaListener.java:1850) at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.resolveReadResult(PartitionReplicaListener.java:1797) at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processScanRetrieveBatchAction$16(PartitionReplicaListener.java:611) at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106) ... 15 moreDec 29, 2022 6:35:44 AM org.apache.ignite.internal.logger.IgniteLogger logInternal WARNING: Failed to process replica request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, columnsToInclude=null, exactKey=null, flags=0, groupId=a804d8a4-ae2d-4fc2-bd6f-e40318297fa7_part_11, indexToUse=null, lowerBound=null, scanId=198, term=2, timestamp=HybridTimestamp [physical=1672288544206, logical=0], transactionId=000ea0eb-b557-0000-7f0b-3ed28fce69d9, upperBound=null]] java.util.concurrent.CompletionException: java.lang.AssertionError: Mismatched transaction id, expectedTxId={000ea0eb-b557-0000-7f0b-3ed28fce69d9}, actualTxId={000e9f9c-3f13-0000-1cb0-c18823b1fa69} at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314) at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1113) at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235) at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processScanRetrieveBatchAction(PartitionReplicaListener.java:604) at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$invoke$0(PartitionReplicaListener.java:264) at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073) at org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$sendWithRetry$38(RaftGroupServiceImpl.java:539) at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837) at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:479) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) Caused by: java.lang.AssertionError: Mismatched transaction id, expectedTxId={000ea0eb-b557-0000-7f0b-3ed28fce69d9}, actualTxId={000e9f9c-3f13-0000-1cb0-c18823b1fa69} at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.resolveReadResult(PartitionReplicaListener.java:1850) at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.resolveReadResult(PartitionReplicaListener.java:1797) at org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processScanRetrieveBatchAction$16(PartitionReplicaListener.java:611) at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106) ... 15 more
So now I have damaged table on https://github.com/apache/ignite-3/commit/d71c8523e18dcc4d3c0b8b57291c439aec341cb5 commit.