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

Maxim Muzafarov commented on CASSANDRA-18780:
---------------------------------------------

Another thing, that happens when an error occurs during the test execution 
(like the one mentioned in the ticket description) is that the test itself 
waits indefinitely on inbound/outbound socket close futures, because the signal 
is not released in the Verifry class. Here are some stack traces to illustrate 
the issue.

{code}
"main" #1 prio=5 os_prio=31 cpu=1826.36ms elapsed=20.33s tid=0x0000000154016800 
nid=0x2203 waiting on condition  [0x000000016b5c9000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@11.0.17/Native Method)
        at 
java.util.concurrent.locks.LockSupport.parkNanos(java.base@11.0.17/LockSupport.java:357)
        at 
org.apache.cassandra.utils.concurrent.WaitQueue$Standard$AbstractSignal.awaitUntil(WaitQueue.java:302)
        at 
org.apache.cassandra.utils.concurrent.Awaitable$AsyncAwaitable.awaitUntil(Awaitable.java:314)
        at 
org.apache.cassandra.utils.concurrent.AsyncFuture.awaitUntil(AsyncFuture.java:160)
        at 
org.apache.cassandra.utils.concurrent.Awaitable$Defaults.await(Awaitable.java:114)
        at 
org.apache.cassandra.utils.concurrent.AbstractFuture.await(AbstractFuture.java:449)
        at 
org.apache.cassandra.utils.concurrent.AbstractFuture.get(AbstractFuture.java:252)
        at 
org.apache.cassandra.net.ConnectionBurnTest$Test.run(ConnectionBurnTest.java:509)
        at 
org.apache.cassandra.net.ConnectionBurnTest.test(ConnectionBurnTest.java:678)
        at 
org.apache.cassandra.net.ConnectionBurnTest.test(ConnectionBurnTest.java:719)
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@11.0.17/Native 
Method)
{code}

{code}
"Messaging-EventLoop-6-1" #24 daemon prio=5 os_prio=31 cpu=3231.92ms 
elapsed=18.01s tid=0x0000000141b38800 nid=0x8203 waiting on condition  
[0x000000016ea0e000]
   java.lang.Thread.State: WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@11.0.17/Native Method)
        at 
java.util.concurrent.locks.LockSupport.park(java.base@11.0.17/LockSupport.java:323)
        at 
org.apache.cassandra.utils.concurrent.WaitQueue$Standard$AbstractSignal.await(WaitQueue.java:289)
        at 
org.apache.cassandra.utils.concurrent.WaitQueue$Standard$AbstractSignal.await(WaitQueue.java:282)
        at 
org.apache.cassandra.net.Verifier$EventSequence.ensureChunk(Verifier.java:1341)
        at 
org.apache.cassandra.net.Verifier$EventSequence.put(Verifier.java:1314)
        at org.apache.cassandra.net.Verifier.onSerialize(Verifier.java:293)
        at org.apache.cassandra.net.Connection.serialize(Connection.java:199)
        at 
org.apache.cassandra.net.ConnectionBurnTest$Test$1.serialize(ConnectionBurnTest.java:161)
        at 
org.apache.cassandra.net.ConnectionBurnTest$Test$1.serialize(ConnectionBurnTest.java:157)
        at 
org.apache.cassandra.net.Message$Serializer.serialize(Message.java:712)
        at 
org.apache.cassandra.net.OutboundConnection$EventLoopDelivery.doRun(OutboundConnection.java:817)
        at 
org.apache.cassandra.net.OutboundConnection$Delivery.run(OutboundConnection.java:691)
{code}

> ConnectionBurnTest fails with NullPointerException
> --------------------------------------------------
>
>                 Key: CASSANDRA-18780
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18780
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Maxim Muzafarov
>            Assignee: Maxim Muzafarov
>            Priority: Normal
>
> The ConnectionBurnTest is used to check the throughput of outgoing and 
> incoming connections and report the results of execution to the log. During 
> the test run, I noticed a couple of errors that actually prevent us from 
> getting any results.
>  # The {{NullPointerException}} is thrown during the test execution
> {code:java}
> java.lang.NullPointerException: null
>       at 
> org.apache.cassandra.metrics.ClientMetrics.unpauseConnection(ClientMetrics.java:69)
>       at 
> org.apache.cassandra.net.AbstractMessageHandler.onReserveCapacityRegained(AbstractMessageHandler.java:314)
>       at 
> org.apache.cassandra.net.AbstractMessageHandler.onGlobalReserveCapacityRegained(AbstractMessageHandler.java:289)
>       at 
> org.apache.cassandra.net.AbstractMessageHandler$WaitQueue$Ticket.reactivateHandler(AbstractMessageHandler.java:792)
>       at 
> org.apache.cassandra.net.AbstractMessageHandler$WaitQueue$ReactivateHandlers.run(AbstractMessageHandler.java:740)
> {code}
>  # The exception is swallowed and the test exits almost immediately, but the 
> exception itself is not rethrown and the exit code is zero. The test is 
> always green on CI, but a fatal exception has occurred;



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