clintropolis commented on PR #16907:
URL: https://github.com/apache/druid/pull/16907#issuecomment-2300001101
this failure seems like it happens when the timeout happens before we get to
the part where we are expecting the timeout to happen, so i'm not sure this PR
fixes it (i just saw this on one of my PRs after this has been merged).
In the stacktrace it shows failing in the part that is priming the sequence
to start the timeout countdown, calling yielders.each and yielder.next before
the call to yielder.next that expects the timeout exception to happen:
```
Error: Tests run: 21, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
26.71 s <<< FAILURE! -- in
org.apache.druid.java.util.common.guava.ParallelMergeCombiningSequenceTest
Error:
org.apache.druid.java.util.common.guava.ParallelMergeCombiningSequenceTest.testTimeoutExceptionDueToStoppedReader
-- Time elapsed: 8.394 s <<< ERROR!
QueryTimeoutException{msg=Query did not complete within configured timeout
period. You can increase query timeout or tune the performance of query.,
code=Query timeout, class=org.apache.druid.query.QueryTimeoutException,
host=fv-az1776-229}
at
org.apache.druid.java.util.common.guava.ParallelMergeCombiningSequence$3$1.hasNext(ParallelMergeCombiningSequence.java:237)
at
org.apache.druid.java.util.common.guava.BaseSequence.toYielder(BaseSequence.java:70)
at
org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88)
at
org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84)
at
org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55)
at
org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83)
at
org.apache.druid.java.util.common.guava.ParallelMergeCombiningSequence.toYielder(ParallelMergeCombiningSequence.java:185)
at
org.apache.druid.java.util.common.guava.Yielders.each(Yielders.java:32)
at
org.apache.druid.java.util.common.guava.ParallelMergeCombiningSequenceTest.testTimeoutExceptionDueToStoppedReader(ParallelMergeCombiningSequenceTest.java:599)
at java.lang.reflect.Method.invoke(Method.java:498)
```
I would assume this is due to the test sometimes running a bit slower than
expected so the timeout has elapsed by the time we get to the sequence. I think
to be effective both the sequence timeout millis _and_ the thread.sleep should
match the 5s set here (i think I wasn't expecting setting up the sequence to
take 1s+ when I wrote it so i thought it would be safe...)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]