We’ve been using Java SDK 1.4.x since we started using Couchbase. It has worked well.
I know the 2.x SDK is out (and has been for a while now). But we’re a small shop and it just hasn’t been a priority to upgrade (especially without any issues with 1.4.x).
Are there known issues or expected problems with staying on 1.4.x? We expect to upgrade at some point, but what are the benefits of upgrading? Are there known drawbacks to continuing with 1.4.x? Is it known if/when 1.4.x will no longer function (i.e. couchbase 4? later version?)?
Couchbase 1.4.x is now bugfixes only. You won’t have support for new features like N1QL in CB4. IIRC 1.4 should still be compatible witht the Multi Dimensional Scaling in CB4 (that is, having some nodes scale up differently with only Query/Index services on them).
In addition to what @simonbasle mentioned, note that the 1.4 SDK will hit it’s end of support life in September 2015. Generally people would be asked to upgrade if an issue is hit rather than continue to maintain the old codebase. It should continue to function (as there are no interfaces being deprecated in newer Couchbase Servers yet), but the amount of integration testing with newer servers will steadily drop.
The support policy page now says the EOL for the 1.4 Java SDK is April 2016, not Sept 2015. Which is right? (The support policy page also doesn’t list CS server 4.0 at all, even though its available.)
@ben_wyckoff yes, we extended the supported period. That said, 1.4.x is in “bugfix only” mode, so we won’t put new features in. If you want N1QL, MDS or all the other new features we put into upcoming releases you need to upgrade.
Thanks. Yes, I understand it is bug fix only. I wanted clarification because I submitted a separate question about what I believe is a bug in the 1.4.x, and wondered if I should bother pursuing that. For reference, that other question is named “Resource leaks when connection lost due to “exceeded continuous timeout threshold””
We have several applications that use the JDK 1.4 client with CB 3. We’d like to be able incrementally upgrade to CB 4 without having to port all 1.4 clients over in order to switch to CB 4.
Towards that end, can you say definitively that JDK 1.4.x will remain compatible with CB 4?
As long as you don’t plan on using the new features of CB 4 like N1QL, GSI, MDS (the ability to have index-only nodes, N1QL-only nodes, key/value/view only nodes or a mix of the three), … the latest in the 1.4.x branch of the SDK is compatible.
Note that if your cluster uses MDS (eg. has an index-only node), the SDK should still be fine connecting to the rest of the cluster.
Keep in mind that you should make sure to provide node(s) that have the key-value service enabled for the bootstrapping of the CouchbaseClient though.
Current version of the “older” SDK, to which this answer applies, is 1.4.11 (see also release notes).