You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Stig Rohde Døssing (JIRA)" <ji...@apache.org> on 2019/02/21 10:09:00 UTC
[jira] [Updated] (STORM-3343) JCQueueTest can still be flaky
[ https://issues.apache.org/jira/browse/STORM-3343?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stig Rohde Døssing updated STORM-3343:
--------------------------------------
Description:
Made a mistake in the fix for STORM-3310. The consumer in one of the tests check for interrupt in a place it shouldn't.
{code}
[ERROR] Failures:
[ERROR] JCQueueTest.lambda$testFirstMessageFirst$0:63 We expect to receive first published message first, but received null expected:<FIRST> but was:<null>
Exception in thread "Thread-125" java.lang.RuntimeException: java.lang.InterruptedException: ConsumerThd interrupted
at org.apache.storm.utils.JCQueueTest$1.accept(JCQueueTest.java:48)
at org.apache.storm.utils.JCQueue.consumeImpl(JCQueue.java:133)
at org.apache.storm.utils.JCQueue.consume(JCQueue.java:110)
at org.apache.storm.utils.JCQueue.consume(JCQueue.java:101)
at org.apache.storm.utils.JCQueueTest$ConsumerThd.run(JCQueueTest.java:207)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.InterruptedException: ConsumerThd interrupted
... 6 more
{code}
The consumer accept method shouldn't check for interrupt, as that is handled by the ConsumerThd.run method. When the accept check for interrupt is hit, the consumer exits without draining the JCQueue, and the test may fail.
was:
Made a mistake in the fix for STORM-3310. The consumer in one of the tests check for interrupt in a place it shouldn't.
{code}
[ERROR] Failures:
[ERROR] JCQueueTest.lambda$testFirstMessageFirst$0:63 We expect to receive first published message first, but received null expected:<FIRST> but was:<null>
Exception in thread "Thread-125" java.lang.RuntimeException: java.lang.InterruptedException: ConsumerThd interrupted
at org.apache.storm.utils.JCQueueTest$1.accept(JCQueueTest.java:48)
at org.apache.storm.utils.JCQueue.consumeImpl(JCQueue.java:133)
at org.apache.storm.utils.JCQueue.consume(JCQueue.java:110)
at org.apache.storm.utils.JCQueue.consume(JCQueue.java:101)
at org.apache.storm.utils.JCQueueTest$ConsumerThd.run(JCQueueTest.java:207)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.InterruptedException: ConsumerThd interrupted
... 6 more
{code}
The consumer accept method shouldn't check for interrupt, as that is handled by the ConsumerThd.run method.
> JCQueueTest can still be flaky
> ------------------------------
>
> Key: STORM-3343
> URL: https://issues.apache.org/jira/browse/STORM-3343
> Project: Apache Storm
> Issue Type: Bug
> Affects Versions: 2.0.0
> Reporter: Stig Rohde Døssing
> Assignee: Stig Rohde Døssing
> Priority: Major
>
> Made a mistake in the fix for STORM-3310. The consumer in one of the tests check for interrupt in a place it shouldn't.
> {code}
> [ERROR] Failures:
> [ERROR] JCQueueTest.lambda$testFirstMessageFirst$0:63 We expect to receive first published message first, but received null expected:<FIRST> but was:<null>
> Exception in thread "Thread-125" java.lang.RuntimeException: java.lang.InterruptedException: ConsumerThd interrupted
> at org.apache.storm.utils.JCQueueTest$1.accept(JCQueueTest.java:48)
> at org.apache.storm.utils.JCQueue.consumeImpl(JCQueue.java:133)
> at org.apache.storm.utils.JCQueue.consume(JCQueue.java:110)
> at org.apache.storm.utils.JCQueue.consume(JCQueue.java:101)
> at org.apache.storm.utils.JCQueueTest$ConsumerThd.run(JCQueueTest.java:207)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.InterruptedException: ConsumerThd interrupted
> ... 6 more
> {code}
> The consumer accept method shouldn't check for interrupt, as that is handled by the ConsumerThd.run method. When the accept check for interrupt is hit, the consumer exits without draining the JCQueue, and the test may fail.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)