[ 
https://issues.apache.org/jira/browse/CASSANDRA-17928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17628273#comment-17628273
 ] 

Benedict Elliott Smith edited comment on CASSANDRA-17928 at 11/3/22 11:24 AM:
------------------------------------------------------------------------------

It looks like the problem is that the {{CommitLogSegmentManager}} assigns its 
{{executor}} variable after {{InfiniteLoopExecutor}} starts its thread, which 
may therefore process the exception immediately (i.e. before the executor is 
made visible via {{executor}}). Since the custom JVMKiller kills the thread 
that is starting the commit log, and this causes abnormal termination of the 
thread, this can prevent the field from being assigned entirely.

Why is this thread being killed here, though? This is not semantically 
equivalent to any execution that is possible in a normal system.

Who authored the test, perhaps their insight can be sought as to what the 
intention was?


was (Author: benedict):
This is a weird test. It looks like the problem is that the 
{{CommitLogSegmentManager}} assigns its {{executor}} variable after 
{{InfiniteLoopExecutor}} starts its thread, which may therefore process the 
exception immediately (i.e. before the executor is made visible via 
{{executor}}). Since the custom JVMKiller kills the thread that is starting the 
commit log, and this causes abnormal termination of the thread, this can 
prevent the field from being assigned entirely.

Why is this thread being killed here, though? This is not semantically 
equivalent to any execution that is possible in a normal system.

Who authored the test, perhaps their insight can be sought as to what the 
intention was?

> Test Failure: 
> org.apache.cassandra.db.commitlog.CommitLogInitWithExceptionTest.testCommitLogInitWithException-compression
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-17928
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17928
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Test/unit
>            Reporter: Josh McKenzie
>            Assignee: Brandon Williams
>            Priority: Normal
>             Fix For: 4.1-rc
>
>
> [Link|https://ci-cassandra.apache.org/job/Cassandra-4.1/169/testReport/org.apache.cassandra.db.commitlog/CommitLogInitWithExceptionTest/testCommitLogInitWithException_compression/]
> Failed 1 times in the last 14 runs. Flakiness: 7%, Stability: 92%
> Stacktrace
> {code:java}
> java.lang.NullPointerException
>       at 
> org.apache.cassandra.db.commitlog.CommitLogInitWithExceptionTest.testCommitLogInitWithException(CommitLogInitWithExceptionTest.java:93)
>       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.util.concurrent.FutureTask.run(FutureTask.java:264)
>       at java.base/java.lang.Thread.run(Thread.java:829)
> {code}
> {code:java}
> Standard Output
> INFO  [main] 2022-09-25 11:43:16,512 Reflections.java:219 - Reflections took 
> 1221 ms to scan 8 urls, producing 1756 keys and 6922 values
> INFO  [main] 2022-09-25 11:43:17,480 Reflections.java:219 - Reflections took 
> 907 ms to scan 8 urls, producing 1756 keys and 6922 values
> INFO  [main] 2022-09-25 11:43:17,573 YamlConfigurationLoader.java:104 - 
> Configuration location: 
> file:////home/cassandra/cassandra/build/test/cassandra.compressed.yaml
> DEBUG [main] 2022-09-25 11:43:17,574 YamlConfigurationLoader
> ...[truncated 35568 chars]...
> .apache.cassandra.db.commitlog.CommitLogInitWithExceptionTest$MockCommitLogSegmentMgr.createSegment(CommitLogInitWithExceptionTest.java:106)
>       at 
> org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$AllocatorRunnable.run(AbstractCommitLogSegmentManager.java:155)
>       at 
> org.apache.cassandra.concurrent.InfiniteLoopExecutor.loop(InfiniteLoopExecutor.java:121)
>       at 
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
>       at java.lang.Thread.run(Thread.java:748)
> {code}



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