[
https://issues.apache.org/jira/browse/IGNITE-23086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-23086:
-------------------------------------
Description:
{code:java}
org.opentest4j.AssertionFailedError: Found null value after upsertAll. at
app//org.apache.ignite.internal.table.TxAbstractTest.checkIfNull(TxAbstractTest.java:537)
at
app//org.apache.ignite.internal.table.TxAbstractTest.deleteUpsertAll(TxAbstractTest.java:497)
at
app//org.apache.ignite.internal.table.TxAbstractTest.testDeleteUpsertAllRollback(TxAbstractTest.java:470)
{code}
[TC
link|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8430743?hideTestsFromDependencies=false&hideProblemsFromDependencies=false&expandBuildTestsSection=true&expandBuildDeploymentsSection=false&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true]
Failure reason is likely following:
In PartitionReplicaListener we are waiting for the original command.safeTime
{code:java}
safeTime.waitFor(cmd.safeTime() {code}
while in case of SafeTimeException new command will be created with new safe
time
{code:java}
HybridTimestamp safeTimeForRetry = clockService.now();
SafeTimePropagatingCommand
clonedSafeTimePropagatingCommand =
(SafeTimePropagatingCommand)
safeTimePropagatingCommand.clone();
clonedSafeTimePropagatingCommand.safeTime(safeTimeForRetry); {code}
We can see it from the debug output:
{code:java}
Primary node for accounts table is [node=itdttntr_n_20001]
Partition data [node=itdttntr_n_20001, groupId=0_part_0, data={},
lastAppliedIndex=4, lastAppliedTerm=1, leaseStartTime=1, safeTime =
HybridTimestamp [physical=2024-08-27 17:29:35:092 +0000, logical=1,
composite=113035167340429313]]
[2024-08-27T17:29:35,115][INFO ][Test
worker][ItTxDistributedTestThreeNodesThreeReplicas] Partition data
[node=itdttntr_n_20002, groupId=0_part_0, data={RowId [partitionId=0,
uuid=00000191-94e2-c46f-101d-fa7dcdddaab7]=VersionChain [rowId=RowId
[partitionId=0, uuid=00000191-94e2-c46f-101d-fa7dcdddaab7],
row=org.apache.ignite.internal.schema.BinaryRowImpl@c9f591a9,
ts=HybridTimestamp [physical=2024-08-27 17:29:35:096 +0000, logical=0,
composite=113035167340691456], txId=null, commitTableId=null,
commitPartitionId=-1], RowId [partitionId=0,
uuid=00000191-94e2-c470-3d65-0eda1484f035]=VersionChain [rowId=RowId
[partitionId=0, uuid=00000191-94e2-c470-3d65-0eda1484f035],
row=org.apache.ignite.internal.schema.BinaryRowImpl@c9f60608,
ts=HybridTimestamp [physical=2024-08-27 17:29:35:096 +0000, logical=0,
composite=113035167340691456], txId=null, commitTableId=null,
commitPartitionId=-1]}, lastAppliedIndex=5, lastAppliedTerm=1,
leaseStartTime=1, safeTime = HybridTimestamp [physical=2024-08-27 17:29:35:096
+0000, logical=0, composite=113035167340691456]] {code}
On leader safeTime is 17:29:35:{*}096{*} +0000, logical=0
On primary safeTime is 17:29:35:{*}092{*} +0000, logical=1
was:
{code:java}
org.opentest4j.AssertionFailedError: Found null value after upsertAll. at
app//org.apache.ignite.internal.table.TxAbstractTest.checkIfNull(TxAbstractTest.java:537)
at
app//org.apache.ignite.internal.table.TxAbstractTest.deleteUpsertAll(TxAbstractTest.java:497)
at
app//org.apache.ignite.internal.table.TxAbstractTest.testDeleteUpsertAllRollback(TxAbstractTest.java:470)
{code}
[TC
link|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8430743?hideTestsFromDependencies=false&hideProblemsFromDependencies=false&expandBuildTestsSection=true&expandBuildDeploymentsSection=false&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true]
> ItTxDistributedTestThreeNodesThreeReplicas.testDeleteUpsertAllRollback is
> flaky with NPE
> ----------------------------------------------------------------------------------------
>
> Key: IGNITE-23086
> URL: https://issues.apache.org/jira/browse/IGNITE-23086
> Project: Ignite
> Issue Type: Bug
> Reporter: Alexander Lapin
> Priority: Major
> Labels: ignite-3
> Time Spent: 10m
> Remaining Estimate: 0h
>
> {code:java}
> org.opentest4j.AssertionFailedError: Found null value after upsertAll. at
> app//org.apache.ignite.internal.table.TxAbstractTest.checkIfNull(TxAbstractTest.java:537)
> at
> app//org.apache.ignite.internal.table.TxAbstractTest.deleteUpsertAll(TxAbstractTest.java:497)
> at
> app//org.apache.ignite.internal.table.TxAbstractTest.testDeleteUpsertAllRollback(TxAbstractTest.java:470)
> {code}
> [TC
> link|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8430743?hideTestsFromDependencies=false&hideProblemsFromDependencies=false&expandBuildTestsSection=true&expandBuildDeploymentsSection=false&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true]
> Failure reason is likely following:
> In PartitionReplicaListener we are waiting for the original command.safeTime
> {code:java}
> safeTime.waitFor(cmd.safeTime() {code}
> while in case of SafeTimeException new command will be created with new safe
> time
> {code:java}
> HybridTimestamp safeTimeForRetry = clockService.now();
>
> SafeTimePropagatingCommand
> clonedSafeTimePropagatingCommand =
> (SafeTimePropagatingCommand)
> safeTimePropagatingCommand.clone();
>
> clonedSafeTimePropagatingCommand.safeTime(safeTimeForRetry); {code}
> We can see it from the debug output:
> {code:java}
> Primary node for accounts table is [node=itdttntr_n_20001]
> Partition data [node=itdttntr_n_20001, groupId=0_part_0, data={},
> lastAppliedIndex=4, lastAppliedTerm=1, leaseStartTime=1, safeTime =
> HybridTimestamp [physical=2024-08-27 17:29:35:092 +0000, logical=1,
> composite=113035167340429313]]
> [2024-08-27T17:29:35,115][INFO ][Test
> worker][ItTxDistributedTestThreeNodesThreeReplicas] Partition data
> [node=itdttntr_n_20002, groupId=0_part_0, data={RowId [partitionId=0,
> uuid=00000191-94e2-c46f-101d-fa7dcdddaab7]=VersionChain [rowId=RowId
> [partitionId=0, uuid=00000191-94e2-c46f-101d-fa7dcdddaab7],
> row=org.apache.ignite.internal.schema.BinaryRowImpl@c9f591a9,
> ts=HybridTimestamp [physical=2024-08-27 17:29:35:096 +0000, logical=0,
> composite=113035167340691456], txId=null, commitTableId=null,
> commitPartitionId=-1], RowId [partitionId=0,
> uuid=00000191-94e2-c470-3d65-0eda1484f035]=VersionChain [rowId=RowId
> [partitionId=0, uuid=00000191-94e2-c470-3d65-0eda1484f035],
> row=org.apache.ignite.internal.schema.BinaryRowImpl@c9f60608,
> ts=HybridTimestamp [physical=2024-08-27 17:29:35:096 +0000, logical=0,
> composite=113035167340691456], txId=null, commitTableId=null,
> commitPartitionId=-1]}, lastAppliedIndex=5, lastAppliedTerm=1,
> leaseStartTime=1, safeTime = HybridTimestamp [physical=2024-08-27
> 17:29:35:096 +0000, logical=0, composite=113035167340691456]] {code}
> On leader safeTime is 17:29:35:{*}096{*} +0000, logical=0
> On primary safeTime is 17:29:35:{*}092{*} +0000, logical=1
--
This message was sent by Atlassian Jira
(v8.20.10#820010)