[ 
https://issues.apache.org/jira/browse/CASSANDRA-19794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Caleb Rackliffe updated CASSANDRA-19794:
----------------------------------------
    Status: Ready to Commit  (was: Review In Progress)

> NPE on Directory access during Memtable flush fails ShortPaxosSimulationTest
> ----------------------------------------------------------------------------
>
>                 Key: CASSANDRA-19794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19794
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Test/burn, Transactional Cluster Metadata
>            Reporter: Caleb Rackliffe
>            Assignee: Alex Petrov
>            Priority: Normal
>             Fix For: 5.x
>
>         Attachments: ci_summary.html, result_details.tar.gz
>
>
> Run {{ShortPaxosSimulationTest}} w/ the following arguments on trunk:
> {noformat}
> PaxosSimulationRunner.main(new String[] { "run", "-n", "3..6", "-t", "1000", 
> "-c", "2", "--cluster-action-limit", "2", "-s", "30", "--seed", 
> "0xe0247e19a75e3bba" });
> {noformat}
> You should see a failure, starting with...
> {noformat}
> [junit-timeout] WARN  [OptionalTasks:1] node5 2024-07-22 15:46:00,210 
> LegacyStateListener.java:158 - Token -6148914691236517205 changing ownership 
> from /127.0.0.1:7012 to /127.0.0.6:7012
> [junit-timeout] WARN  [OptionalTasks:1] node6 2024-07-22 15:46:00,259 
> SystemKeyspace.java:1287 - Using stored Gossip Generation 1577894856 as it is 
> greater than current system time 1577894855.  See CASSANDRA-3654 if you 
> experience problems
> [junit-timeout] WARN  [OptionalTasks:1] node6 2024-07-22 15:46:00,277 
> LegacyStateListener.java:158 - Token -6148914691236517205 changing ownership 
> from /127.0.0.1:7012 to /127.0.0.6:7012
> [junit-timeout] ERROR [isolatedExecutor:3] node6 2024-07-22 15:46:00,469 
> ReconfigureCMS.java:184 - Could not finish adding the node to the Cluster 
> Metadata Service
> [junit-timeout] java.lang.IllegalStateException: Can not commit 
> transformation: "SERVER_ERROR"(class java.lang.NullPointerException).
> [junit-timeout]       at 
> org.apache.cassandra.tcm.ClusterMetadataService.lambda$commit$6(ClusterMetadataService.java:491)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.ClusterMetadataService.commit(ClusterMetadataService.java:535)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.ClusterMetadataService.commit(ClusterMetadataService.java:488)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.sequences.ReconfigureCMS.executeNext(ReconfigureCMS.java:179)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.sequences.InProgressSequences.resume(InProgressSequences.java:200)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.sequences.InProgressSequences.finishInProgressSequences(InProgressSequences.java:72)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.ClusterMetadataService.reconfigureCMS(ClusterMetadataService.java:372)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.ClusterMetadataService.ensureCMSPlacement(ClusterMetadataService.java:379)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.sequences.BootstrapAndReplace.executeNext(BootstrapAndReplace.java:274)
> [junit-timeout]       at 
> org.apache.cassandra.simulator.cluster.OnClusterReplace$ExecuteNextStep.lambda$new$f5e64c00$1(OnClusterReplace.java:162)
> [junit-timeout]       at 
> org.apache.cassandra.distributed.api.IInvokableInstance.unsafeRunOnThisThread(IInvokableInstance.java:85)
> [junit-timeout]       at 
> org.apache.cassandra.simulator.systems.SimulatedActionTask.lambda$asSafeRunnable$0(SimulatedActionTask.java:83)
> [junit-timeout]       at 
> org.apache.cassandra.simulator.systems.SimulatedActionTask$1.run(SimulatedActionTask.java:93)
> [junit-timeout]       at 
> org.apache.cassandra.simulator.systems.InterceptingExecutor$InterceptingPooledExecutor$WaitingThread.lambda$new$1(InterceptingExecutor.java:318)
> [junit-timeout]       at 
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> [junit-timeout]       at java.base/java.lang.Thread.run(Thread.java:829)
> {noformat}
> ...and underneath that...
> {noformat}
> [junit-timeout] Thread[ScheduledTasks:1,5,node3]
> [junit-timeout] java.lang.NullPointerException
> [junit-timeout]       at 
> org.apache.cassandra.utils.btree.AbstractBTreeMap.get(AbstractBTreeMap.java:92)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.membership.Directory.endpoint(Directory.java:312)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.transformations.cms.AdvanceCMSReconfiguration.executeRemove(AdvanceCMSReconfiguration.java:242)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.transformations.cms.AdvanceCMSReconfiguration.execute(AdvanceCMSReconfiguration.java:123)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.sequences.ReconfigureCMS.applyTo(ReconfigureCMS.java:149)
> [junit-timeout]       at 
> org.apache.cassandra.tcm.ClusterMetadata.writePlacementAllSettled(ClusterMetadata.java:275)
> [junit-timeout]       at 
> org.apache.cassandra.db.DiskBoundaryManager.getLocalRanges(DiskBoundaryManager.java:158)
> [junit-timeout]       at 
> org.apache.cassandra.db.DiskBoundaryManager.getDiskBoundaryValue(DiskBoundaryManager.java:121)
> [junit-timeout]       at 
> org.apache.cassandra.db.DiskBoundaryManager.getDiskBoundaries(DiskBoundaryManager.java:65)
> [junit-timeout]       at 
> org.apache.cassandra.db.ColumnFamilyStore.getDiskBoundaries(ColumnFamilyStore.java:3676)
> [junit-timeout]       at 
> org.apache.cassandra.db.compaction.CompactionStrategyManager.maybeReloadDiskBoundaries(CompactionStrategyManager.java:587)
> [junit-timeout]       at 
> org.apache.cassandra.db.compaction.CompactionStrategyManager.handleNotification(CompactionStrategyManager.java:899)
> [junit-timeout]       at 
> org.apache.cassandra.db.lifecycle.Tracker.notify(Tracker.java:558)
> [junit-timeout]       at 
> org.apache.cassandra.db.lifecycle.Tracker.notifySwitched(Tracker.java:547)
> [junit-timeout]       at 
> org.apache.cassandra.db.lifecycle.Tracker.switchMemtable(Tracker.java:390)
> [junit-timeout]       at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.<init>(ColumnFamilyStore.java:1248)
> [junit-timeout]       at 
> org.apache.cassandra.db.ColumnFamilyStore.switchMemtable(ColumnFamilyStore.java:1074)
> [junit-timeout]       at 
> org.apache.cassandra.db.ColumnFamilyStore.switchMemtableIfCurrent(ColumnFamilyStore.java:1055)
> [junit-timeout]       at 
> org.apache.cassandra.db.ColumnFamilyStore.signalFlushRequired(ColumnFamilyStore.java:1482)
> [junit-timeout]       at 
> org.apache.cassandra.db.memtable.AbstractAllocatorMemtable.flushIfPeriodExpired(AbstractAllocatorMemtable.java:240)
> [junit-timeout]       at 
> org.apache.cassandra.db.memtable.AbstractAllocatorMemtable$1.runMayThrow(AbstractAllocatorMemtable.java:221)
> [junit-timeout]       at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:26)
> [junit-timeout]       at 
> org.apache.cassandra.simulator.systems.SimulatedExecution$1.call(SimulatedExecution.java:212)
> [junit-timeout]       at 
> org.apache.cassandra.concurrent.SyncFutureTask.run(SyncFutureTask.java:68)
> [junit-timeout]       at 
> org.apache.cassandra.simulator.systems.InterceptingExecutor$AbstractSingleThreadedExecutorPlus.lambda$new$0(InterceptingExecutor.java:585)
> [junit-timeout]       at 
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> [junit-timeout]       at java.base/java.lang.Thread.run(Thread.java:829)
> {noformat}
> Reverting the changes from CASSANDRA-19705 allows the test to complete 
> successfully, which makes sense, as {{ensureCMSPlacement()}} shows up in the 
> trace above.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to