couchbase - Issue when trying to connect to the cluster after updating the version of Java SDK -


we experiencing issue when trying connect cluster after updating version of java sdk.

the setup of system follows:

we have web application using java sdk , couchbase cluster. in between have vip (virtual ip address). realise isn’t ideal we’re not able change since vip mandated tech ops. vip there reroute initial request on application startup. way can make modifications on cluster , ensure when application starts can find cluster regardless of actual nodes in cluster , ips.

prior issue used java sdk version 1.4.4. our application start , java sdk initiate request on port 8091 vip. please note port 8091 port open on vip. vip reroute request 1 of node cluster in use cluster respond java sdk. @ point java sdk discover nodes in cluster , application run fine. during time if add, remove node cluster java sdk update automatically , run without issue.

in last sprint updated java sdk version 2.1.3. our application start , java sdk initiate request on port 11210 vip. since port not open request fail , java sdk throw exception:

caused by: java.lang.runtimeexception: java.util.concurrent.timeoutexception @ com.couchbase.client.java.util.blocking.blockforsingle(blocking.java:93) @ com.couchbase.client.java.couchbasecluster.openbucket(couchbasecluster.java:108) @ com.couchbase.client.java.couchbasecluster.openbucket(couchbasecluster.java:99) @ com.couchbase.client.java.couchbasecluster.openbucket(couchbasecluster.java:89) 

no further request made on port.

it appears order in port being used has been changed between versions. please confirm, or dispute, order in ports being used cluster discovery has been changed between versions. please provide advice on how resolve issue. trying understand clients behavior, if open ports on vip client still function correctly , @ full performance?

the issue happening on our production environment cannot use testing out potential solutions since interfere our products.

in v2.x of java sdk, defaults 11210 cluster map bootstrap application. huge improvement map comes managed cache , not cluster manager (8091). sdk should use 8091 fall if cannot map on 11210 though. regardless, want map 11210, trust me. cleans lot of problems.

to resolve long term , follow couchbase best practices, upgrade java 2.2.x sdk, rid of vip entirely , go dns srv record instead. gives 1 dns entry sdk connection object , manage node list in dns. works great. sdk 2.2 dns srv record solution supported there, in 2.1 experimental. vips recommended against couchbase these days. in older versions of sdks fine , helped limiting number of connections app db nodes, no longer necessary , can bad thing.


Comments

Popular posts from this blog

java - Date formats difference between yyyy-MM-dd'T'HH:mm:ss and yyyy-MM-dd'T'HH:mm:ssXXX -

c# - Get rid of xmlns attribute when adding node to existing xml -