GitHub user junrao opened a pull request:
https://github.com/apache/kafka/pull/1703
KAFKA-3875: Transient test failure:
kafka.api.SslProducerSendTest.testSendNonCompressedMessageWithCreateTime
1. The IllegalStateException is actually thrown from
testCloseWithZeroTimeoutFromSenderThread() due to a bug. We call
producer.close() in the callback. Once the first callback is called, producing
records in the callback will hit the IllegalStateException. This only pollutes
the output, but doesn't fail the test. I fixed this by only calling
producer.send() in the first callback.
2. It's not clear which test throws TimeoutException and it's not
reproducible locally. One thing is that the error message in TimeoutException
is mis-leading since the timeout is not necessarily due to metadata. Improved
this by making the error message in TimeoutException clearer.
3. It's not clear what actually failed
testSendNonCompressedMessageWithCreateTime(). One thing I found is that since
we set the linger time to MAX_LONG and are sending small messages, those
produced messages won't be drained until we call producer.close(10000L,
TimeUnit.MILLISECONDS). Normally, 10 secs should be enough for the records to
be sent. My only hypothesis is that since SSL is more expensive, occasionally,
10 secs is still not enough. So, I bumped up the timeout from 10 secs to 20
secs.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/junrao/kafka kafka-3875
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/1703.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1703
----
commit c67640e7a45f95ff68cd140795fb9058c11f3dcb
Author: Jun Rao <[email protected]>
Date: 2016-08-03T22:29:25Z
KAFKA-3875: Transient test failure:
kafka.api.SslProducerSendTest.testSendNonCompressedMessageWithCreateTime
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---