[
https://issues.apache.org/jira/browse/CASSANDRA-20805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18011219#comment-18011219
]
Maxim Muzafarov edited comment on CASSANDRA-20805 at 7/31/25 3:34 PM:
----------------------------------------------------------------------
I've fixed the simulator cli, but got another issue that is not related to the
picocli transion:
{code:java}
Exception: java.lang.IllegalStateException thrown from the
UncaughtExceptionHandler in thread "RMI Scheduler(3996)"
at
org.apache.cassandra.simulator.systems.InterceptorOfGlobalMethods$IfInterceptibleThread.nanoTime(InterceptorOfGlobalMethods.java:360)
at
org.apache.cassandra.simulator.systems.InterceptorOfSystemMethods$Global.nanoTime(InterceptorOfSystemMethods.java:213)
at
java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2112)
at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
at
java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
java.lang.IllegalStateException: Using time is not allowed during simulation:
main
at
org.apache.cassandra.simulator.systems.SimulatedTime$Delegating.check(SimulatedTime.java:153)
at
org.apache.cassandra.simulator.systems.SimulatedTime$Delegating.nanoTime(SimulatedTime.java:156)
at org.apache.cassandra.utils.Clock$Global.nanoTime(Clock.java:100)
at org.apache.cassandra.utils.NoSpamLogger.error(NoSpamLogger.java:264)
at
org.apache.cassandra.simulator.SimulationRunner$Run.run(SimulationRunner.java:407)
at
org.apache.cassandra.simulator.paxos.PaxosSimulationRunner$Run.run(PaxosSimulationRunner.java:77)
at
org.apache.cassandra.simulator.paxos.PaxosSimulationRunner$Run.run(PaxosSimulationRunner.java:47)
at
org.apache.cassandra.simulator.SimulationRunner$BasicCommand.run(SimulationRunner.java:394)
at
org.apache.cassandra.simulator.paxos.PaxosSimulationRunner$Run.run(PaxosSimulationRunner.java:47)
at
org.apache.cassandra.simulator.SimulationRunner$BasicCommand.run(SimulationRunner.java:359)
at
org.apache.cassandra.simulator.paxos.PaxosSimulationRunner$Run.run(PaxosSimulationRunner.java:47)
at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
at
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
at picocli.CommandLine.execute(CommandLine.java:2174)
at
org.apache.cassandra.simulator.paxos.PaxosSimulationRunner.main(PaxosSimulationRunner.java:213)
at
org.apache.cassandra.simulator.test.ShortPaxosSimulationTest.simulationTest(ShortPaxosSimulationTest.java:100)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at
com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
at
com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
at
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
at
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
{code}
The set of permitted thread names must be also updated, to include "RMI
Scheduler":
{code:java}
private static final Pattern PERMITTED_TIME_THREADS =
Pattern.compile("(logback|SimulationLiveness|Reconcile)[-:][0-9]+");
{code}
was (Author: mmuzaf):
I've fixed the simulator cli, but got another issue that is not related to the
picocli transion:
{code:java}
Exception: java.lang.IllegalStateException thrown from the
UncaughtExceptionHandler in thread "RMI Scheduler(3996)"
at
org.apache.cassandra.simulator.systems.InterceptorOfGlobalMethods$IfInterceptibleThread.nanoTime(InterceptorOfGlobalMethods.java:360)
at
org.apache.cassandra.simulator.systems.InterceptorOfSystemMethods$Global.nanoTime(InterceptorOfSystemMethods.java:213)
at
java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2112)
at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
at
java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
java.lang.IllegalStateException: Using time is not allowed during simulation:
main
at
org.apache.cassandra.simulator.systems.SimulatedTime$Delegating.check(SimulatedTime.java:153)
at
org.apache.cassandra.simulator.systems.SimulatedTime$Delegating.nanoTime(SimulatedTime.java:156)
at org.apache.cassandra.utils.Clock$Global.nanoTime(Clock.java:100)
at org.apache.cassandra.utils.NoSpamLogger.error(NoSpamLogger.java:264)
at
org.apache.cassandra.simulator.SimulationRunner$Run.run(SimulationRunner.java:407)
at
org.apache.cassandra.simulator.paxos.PaxosSimulationRunner$Run.run(PaxosSimulationRunner.java:77)
at
org.apache.cassandra.simulator.paxos.PaxosSimulationRunner$Run.run(PaxosSimulationRunner.java:47)
at
org.apache.cassandra.simulator.SimulationRunner$BasicCommand.run(SimulationRunner.java:394)
at
org.apache.cassandra.simulator.paxos.PaxosSimulationRunner$Run.run(PaxosSimulationRunner.java:47)
at
org.apache.cassandra.simulator.SimulationRunner$BasicCommand.run(SimulationRunner.java:359)
at
org.apache.cassandra.simulator.paxos.PaxosSimulationRunner$Run.run(PaxosSimulationRunner.java:47)
at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
at
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
at picocli.CommandLine.execute(CommandLine.java:2174)
at
org.apache.cassandra.simulator.paxos.PaxosSimulationRunner.main(PaxosSimulationRunner.java:213)
at
org.apache.cassandra.simulator.test.ShortPaxosSimulationTest.simulationTest(ShortPaxosSimulationTest.java:100)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at
com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
at
com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
at
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
at
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
{code}
The set of permitted thread names must be also updated, to include "RMI
Scheduler" and "main":
{code:java}
private static final Pattern PERMITTED_TIME_THREADS =
Pattern.compile("(logback|SimulationLiveness|Reconcile)[-:][0-9]+");
{code}
> ShortPaxosSimulationTest exits immediatly without executing a command
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-20805
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20805
> Project: Apache Cassandra
> Issue Type: Bug
> Components: Test/unit
> Reporter: Maxim Muzafarov
> Assignee: Maxim Muzafarov
> Priority: Normal
> Fix For: 5.x
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Test prints help with output. However, the specified command must be run.
> {code:java}
> JVM Args:
> "-Dstorage-config=/Users/maxim.muzafarov/IdeaProjects/cassandra/test/conf"
> "-Djava.awt.headless=true"
> "-javaagent:/Users/maxim.muzafarov/IdeaProjects/cassandra/lib/jamm-0.4.0.jar"
> "-ea" "-Dcassandra.debugrefcount=true" "-Xss384k"
> "-XX:SoftRefLRUPolicyMSPerMB=0" "-XX:ActiveProcessorCount=2"
> "-XX:HeapDumpPath=build/test"
> "-Dcassandra.test.driver.connection_timeout_ms=10000"
> "-Dcassandra.test.driver.read_timeout_ms=24000"
> "-Dcassandra.memtable_row_overhead_computation_step=100"
> "-Dcassandra.test.use_prepared=true"
> "-Dcassandra.test.sstableformatdevelopment=true"
> "-Djava.security.egd=file:/dev/urandom" "-Dcassandra.testtag=.jdk11"
> "-Dcassandra.keepBriefBrief=true" "-Dcassandra.allow_simplestrategy=true"
> "-Dcassandra.strict.runtime.checks=true"
> "-Dcassandra.reads.thresholds.coordinator.defensive_checks_enabled=true"
> "-Dcassandra.test.flush_local_schema_changes=false"
> "-Dcassandra.test.messagingService.nonGracefulShutdown=true"
> "-Dcassandra.use_nix_recursive_delete=true"
> "-Dcie-cassandra.disable_schema_drop_log=true"
> "-Dlogback.configurationFile=file:///Users/maxim.muzafarov/IdeaProjects/cassandra/test/conf/logback-simulator.xml"
> "-Dcassandra.ring_delay_ms=10000" "-Dcassandra.tolerate_sstable_size=true"
> "-Dcassandra.skip_sync=true" "-Dcassandra.debugrefcount=false"
> "-Dcassandra.test.simulator.determinismcheck=strict"
> "-Dcassandra.test.simulator.print_asm=none"
> "-javaagent:/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/lib/jars/simulator-asm.jar"
>
> "-Xbootclasspath/a:/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/lib/jars/simulator-bootstrap.jar"
> "-XX:ActiveProcessorCount=4" "-XX:-TieredCompilation"
> "-XX:-BackgroundCompilation" "-XX:CICompilerCount=1"
> "-XX:Tier4CompileThreshold=1000" "-XX:ReservedCodeCacheSize=256M" "-Xmx16G"
> "--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED"
> "--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED"
> "--add-exports=java.base/sun.nio.ch=ALL-UNNAMED"
> "--add-exports=java.management.rmi/com.sun.jmx.remote.internal.rmi=ALL-UNNAMED"
> "--add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED"
> "--add-exports=java.rmi/sun.rmi.server=ALL-UNNAMED"
> "--add-exports=java.sql/java.sql=ALL-UNNAMED"
> "--add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED"
> "--add-opens=java.base/java.lang.module=ALL-UNNAMED"
> "--add-opens=java.base/java.net=ALL-UNNAMED"
> "--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED"
> "--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED"
> "--add-opens=java.base/jdk.internal.reflect=ALL-UNNAMED"
> "--add-opens=java.base/jdk.internal.math=ALL-UNNAMED"
> "--add-opens=java.base/jdk.internal.module=ALL-UNNAMED"
> "--add-opens=java.base/jdk.internal.util.jar=ALL-UNNAMED"
> "--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED"
> "--add-opens=jdk.management.jfr/jdk.management.jfr=ALL-UNNAMED"
> "--add-opens=java.desktop/com.sun.beans.introspect=ALL-UNNAMED"
> "-Didea.test.cyclic.buffer.size=25600000" "-javaagent:/Applications/IntelliJ
> IDEA.app/Contents/lib/idea_rt.jar=52516:/Applications/IntelliJ
> IDEA.app/Contents/bin"
> "-javaagent:/Users/maxim.muzafarov/Library/Caches/JetBrains/IntelliJIdea2024.3/captureAgent/debugger-agent.jar"
> "-Dkotlinx.coroutines.debug.enable.creation.stack.trace=false"
> "-Ddebugger.agent.enable.coroutines=true"
> "-Dkotlinx.coroutines.debug.enable.flows.stack.trace=true"
> "-Dkotlinx.coroutines.debug.enable.mutable.state.flows.stack.trace=true"
> "-Dfile.encoding=UTF-8"
> Command Args: "run" "--variant" "v2" "-n" "3..6" "-t" "1000" "-c" "2"
> "--cluster-action-limit" "2" "-s" "30"
> JVM Argument -Dcassandra.disable_tcactive_openssl=true not set,
> non-determinism possible. Typically set -XX:Tier4CompileThreshold=1000
> JVM Argument -Dlog4j2.disableJmx=true not set, non-determinism possible
> JVM Argument -Dlog4j.shutdownHookEnabled=false not set, non-determinism
> possible
> JVM Argument -Dcassandra.simulator.skiplog4jreload=true not set,
> non-determinism possible
> Usage: paxos [COMMAND]
> Run a paxos simulation
> Commands:
> help Display help information about the specified command.
> run
> version Display version information
> record
> reconcile {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]