[ 
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)

Reply via email to