Details
Description
CouchbaseConnectorStressTest.testStreamLifecycleSingleThread performs the following in a loop:
Client client = Client.configure()
|
.eventLoopGroup(CBTestEnvironmentProvider.getEnvironment().ioPool())
|
.bucket(bucket)
|
.password(cbPassword)
|
.hostnames(cbNodes)
|
.connectionNameGenerator(() -> threadName)
|
.controlParam(DcpControl.Names.CONNECTION_BUFFER_SIZE, 16384)
|
.bufferAckWatermark(80)
|
.build();
|
|
client.controlEventHandler(ReferenceCountUtil::release);
|
client.dataEventHandler(event -> {
|
try {
|
client.acknowledgeBuffer(event);
|
} finally {
|
ReferenceCountUtil.release(event);
|
}
|
});
|
|
timedAwait("client.connect()", client.connect());
|
timedAwait("client.disconnect()", client.disconnect());
|
This intermittently hangs (times out after 90s) on the client.connect()- observed on the initial or later iterations.
Example thread dump when await() times out attached.
See also Jenkins log here: http://analytics.jenkins.couchbase.com/job/couchsterix-test/com.couchbase.analytics$cbas-ingestion-test/912/consoleFull. The same failure occurs in both the single and multi-threadded tests on that Jenkins run.
Observed in both 0.2.0 and 0.3.0-SNAPSHOT (f259c97)
Repro instructions to follow.
Attachments
Issue Links
- blocks
-
MB-20977 [CX] Lifecycle issue:Hang seen in case of multiple connections in one request
- Closed
For Gerrit Dashboard: JDCP-15 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
68238,2 | retry connect await() invocations that time out; workaround JDCP-15 | master | asterix-opt | Status: ABANDONED | 0 | -1 |
68399,2 | Timeout on client().await() getting numer of vbuckets | master | asterix-opt | Status: MERGED | +2 | +1 |
68494,2 | one-off DCP w/ trace logging | master | asterix-opt | Status: ABANDONED | 0 | -1 |
68606,2 | Use Latest DCP Master + PR 19 + PR 20 | master | asterix-opt | Status: ABANDONED | 0 | +1 |
68626,2 | DCP client -> 0.5.0, reenable stress test | master | asterix-opt | Status: MERGED | +2 | +1 |