SDK config reloading questions


#1

Hi.

I can see following logs every minute (sometimes every 30 seconds):
2015-05-26 13:49:32 UTC api-prod [cb-io-1-1] DEBUG c.c.c.core.logging.Slf4JLogger.debug():91 - [ec2-52-28-9-38.eu-central-1.compute.amazonaws.com/172.31.10.144:11210][KeyValueEndpoint]: Identified Idle State, signalling config reload.
2015-05-26 13:49:32 UTC api-prod [cb-core-3-1] DEBUG c.c.c.core.logging.Slf4JLogger.debug():91 - Received signal for outdated configuration.
2015-05-26 13:49:32 UTC api-prod [cb-io-1-1] DEBUG c.c.c.core.logging.Slf4JLogger.debug():91 - [ec2-52-28-9-38.eu-central-1.compute.amazonaws.com/172.31.10.144:11210][KeyValueEndpoint]: KeepAlive fired
2015-05-26 13:49:32 UTC api-prod [cb-computations-2] DEBUG c.c.c.core.logging.Slf4JLogger.debug():96 - New Bucket image config proposed.
2015-05-26 13:49:32 UTC api-prod [cb-computations-2] DEBUG c.c.c.core.logging.Slf4JLogger.debug():96 - Completed refreshing config for bucket “image”

It wouldn’t bother me, but I do receive sometimes ‘timeout’ exception under very small load (less than 5 ops/s).
Can it be anyhow related?
During those timeouts nothing new in CB Logs in Admin tool. Another request in a second after failed works perfectly fine.


#2

Can you let me know what verison of the SDK you’re using?


#3

@kiv this is our heartbeat which triggers simple calls from time to time to keep the connection alive when no traffic is going through. In general timeouts should not be related to those calls. Which SDK version are you using exactly?


#4

I have this kind of Couchbase behavior on 2.1.3, 2.1.2, 2.0.x, 1.4.7 with different kinds of server, 3.0, 3.0.1-3.0.3, 2.5 on different networks and machines (Ubuntu 14.x, both in my LAN and Amazon EC2).
Usually it is as follows:
if there was no KV operations for a long time, first KV operation will fail with TimeoutException (with 10s timeout), but if I’m adding re-try feature (just recall same code, after receiving TimeoutException) which works perfectly fine.
My current workload is 1-2 op/s, while sometimes 30-50 op/s (transaction logging). Timeouts I do receive even if I specify PersistTo.NONE.

During the day I usually do receive 30-50 Timeout errors (after adding re-try policy with 2 attempts I receive none).

PS All CB instances have at least 2GB RAM given to CB.


#5

@Rabajaba what timeout are you using, and what are your ping times? Could it be that your network has latency spikes and that’s why you see the timeouts coming in from time to time? What is your latency when no timeouts are happening?


#6

I’ll measure latency, but servers are in US-EAST EC2 Region. Thanks for reply, will try to investigate network.