UnambiguousTimeoutException stacktrace after upgrade to 1.04

Hi,
I recently upgraded my Scala SDK client version to 1.0.4 from 1.0.0. Now, every time I start my Scala application, I get the following stacktrace. Note that I used to get the warning but not the stacktrace. My app seems to work fine; however, I’d like to confirm if this is just a change in logging or something different.

[WARN ] [2020-06-03 09:19:36,083] [cb-events] [com.couchbase.config] [com.couchbase.config][CollectionMapRefreshFailedEvent][2505ms] Collection Map refresh failed: FAILED {"coreId":"0xf829756200000001"}
com.couchbase.client.core.error.UnambiguousTimeoutException: GetCollectionManifestRequest
	at com.couchbase.client.core.msg.BaseRequest.cancel(BaseRequest.java:163)
	at com.couchbase.client.core.Timer.lambda$register$2(Timer.java:157)
	at com.couchbase.client.core.deps.io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:672)
	at com.couchbase.client.core.deps.io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:747)
	at com.couchbase.client.core.deps.io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:472)
	at com.couchbase.client.core.deps.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)

Thanks!

This might be interesting to you! @graham.pople

@ali.parsaei just to double check, can you see if it still happens on 1.0.5 ?

@ali.parsaei if you do still see it on 1.0.5 could you please provide debug logs?
Also it’s worth using cluster.waitUntilReady(30 seconds) as a matter of course, just to be certain that everything’s up and running before you do KV operations.

@ali.parsaei the 1.0.x series is not performing any breaking changes, it will/should work as a drop-in replacement.

@graham.pople
@daschl

I tried sdk 1.05. It did not change the result. (logs are attached).
Also tried using waitUntilReady(30 seconds) and got unexpected results. If I used it right after declaring Cluster.connect(…).get, the app would freeze forever. If I used it before I used it for the first time in the app, it seemed like it did not wait at all. Instead, I used wait(30000) to see what happens, that suspended the thread for 30 seconds, but did not help.
I recall you told me (sdk 1.0.0) that a similar warning (w/o the stacktrace) should be harmless & ignorable. Is this still the same case?
Thanks!
UnambiguousTimeoutException.zip (5.0 KB)

@graham.pople
Are there any updates on this issue?
Thanks!

@ali.parsaei apologies for the late response.

The collections manifest is still a harmless warning, but one that I should and will fix (basically the Scala SDK is always checking for a collections manifest even when it shouldn’t).

(Can I just confirm that you’re able to use the SDK and cluster without problem if you ignore the warning?)

Also tried using waitUntilReady(30 seconds) and got unexpected results. If I used it right after declaring Cluster.connect(…).get, the app would freeze forever. If I used it before I used it for the first time in the app, it seemed like it did not wait at all

This concerns me. The “it did not wait at all” is fine and expected, by then it’s likely the bucket has finished bootstrapping and is ready, so waitUntilReady will just return immediately. But “the app would freeze forever” is not so good… Which cluster version are you running, and how many nodes and what services? I’ll see if I can replicate this one.

Hi @graham.pople !
Thanks for getting back to me.
I believe I have not faced any issues in my app.
I have a single-node cluster on the latest version (6.5.1). Note that I am not using waitUntilReady in my app.
Thank you!
Ali