What are the minimal changes required to upgrade from CB v2.2.0 to CB v5.1 if my applications use .NET SDK 1.3.12 & Java SDK 1.4.3?



Greetings, most esteemed Couchbase community!

I have a 5-node couchbase v2.2.0 community edition (CE) server deployed on Windows 2008) used by both a C# and a Java application.

The C# application uses .net SDK 1.3.12. The Java application uses java SDK v1.4.3.

My development environment differs from the production environment only by the number of nodes in the cluster - reducing the number of nodes from 5 down to 1.

I upgraded the Couchbase cluster to version 5.1 (CentOS 7) (community edition) by using XDCR.

I then shutdown the apps, updated the DNS to point to the new Couchbase Server, and restarted the apps.

But the two apps were unable to connect to the new server, and I suspect that it has to do with the new role-based access control (RBAC)

What is the least invasive way to get my apps talking to Couchbase CE on Linux? (I would consider using Couchbase CE version 4.5 instead of 5.1.)

  1. Do I just need to change the connect strings in the code?
  2. Do I just need to upgrade the SDKs? If so, can the 2.x library function as a drop-in replacement for the 1.3.12 library, or would I have to change the code in some way to use the 2.x libraries?

I also speculate that another way to do this might be to XDCR from v2.2.0 to v4.5.1, and then upgrade to v5.1 by adding v5.1 node(s) to the cluster, and then removing the v4.5.1 node(s) from the cluster, as this might setup RBAC correctly for v5.1 nodes.



Hi @gz.rb,

I would definitely recommend taking both those steps (updating connection config information and upgrading the SDK), in order to take full advantage of the new features that 5.x has to offer.

If RBAC is an issue, a quick & dirty fix is to create a user in Couchbase 5 with the same name as the bucket. Then your SDK should continue to work as before.