Skip to content

Commit 339a75b

Browse files
CNG
1 parent 56cff4e commit 339a75b

5 files changed

Lines changed: 78 additions & 1 deletion

File tree

modules/hello-world/pages/start-using-sdk.adoc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,19 @@ Now that you have a `Cluster`, add this code snippet to access your `Bucket`:
240240
include::devguide:example$StartUsingCapella.java[tag=bucket,indent=0]
241241
----
242242

243+
244+
245+
////
246+
[TIP]
247+
.Connecting to Cloud Native Gateway, for Kubernetes or OpenShift
248+
====
249+
Couchbase's large number of ports across the URLs of many services can be proxied by using a `couchbase2://` endpoint as the connection string -- read more on the xref:howtos:managing-connections.adoc#cloud-native-gateway[Connections] page.
250+
====
251+
////
252+
253+
254+
255+
243256
=== Add and Retrieve Documents
244257

245258
The Java SDK supports full integration with the xref:{version-server}@server:learn:data/scopes-and-collections.adoc[Collections] feature introduced in Couchbase Server 7.0.

modules/howtos/pages/error-handling.adoc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,3 +466,15 @@ Please note that we do not provide any stability guarantees on the names and val
466466
| If already sent to a node contains the channel ID that can be used to correlate with the server logs.
467467

468468
|===
469+
470+
471+
472+
473+
474+
475+
== Cloud Native Gateway
476+
477+
If you connect to the Kubernetes or OpenShift over our xref:howtos:managing-connections.adoc#cloud-native-gateway[CloudNative Gateway], using the new `couchbase2://` endpoints, there are a few changes in the error messages returned.
478+
479+
Some error codes are more generic -- in cases where the client would not be expected to need to take specific action -- but should cause no problem, unless you have written code looking at individual strings within the error messages.
480+

modules/howtos/pages/managing-connections.adoc

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,45 @@ E.....@.@.............+....Z.'yZ..#........
230230
--
231231
====
232232

233+
234+
235+
236+
237+
== Cloud Native Gateway
238+
239+
240+
Couchbase's next generation connection protocol, introduced in Go SDK 2.7 and a future release of Couchbase Autonomous Operator, can be enabled simply by changing the connection string to `couchbase2://` but there are a few differences to be aware of, described <<#limitations,below>>.
241+
// Couchbase's next generation connection protocol, introduced in Go SDK 2.7 and Couchbase Autonomous Operator 2.6.1, can be enabled simply by changing the connection string to `couchbase2://` but there are a few differences to be aware of, described <<#limitations,below>>.
242+
243+
The protocol implements a gRPC-style interface between the SDK and Couchbase Server (in this case, only available in the Server running on Kubernetes or OpenShift, with a forthcoming release of xref:operator::overview.adoc[Couchbase Autonomous Operator].
244+
245+
246+
247+
=== Limitations
248+
249+
The protostellar protocol will not work with certain legacy features: MapReduce Views (a deprecated Service --
250+
use xref:howtos:n1ql-queries-with-sdk.adoc[Query] instead) and
251+
Memcached buckets (superseded by the improved xref:{server_version}@server:learn:buckets-memory-and-storage/buckets.adoc#bucket-types[Ephemeral Buckets]).
252+
253+
The following are not currently implemented over the `couchbase2://` protocol:
254+
255+
* Authentication by client certificate.
256+
* Multi-document ACID transactions.
257+
* Analytics service.
258+
* Health Check.
259+
260+
There are some different behaviors seen with this protocol:
261+
262+
* Some config options are unsupported -- see the xref:ref:client-settings.adoc#cloud-native-gateway[Settings page].
263+
* The SDK will poll the gRPC channels until they are in a good state, or return an error, or timeout while waiting -- in our standard protocol there is an option of setting `waitUntilReady()` for just certain services to become available.
264+
* Some error codes are more generic -- in cases where the client would not be expected to need to take specific action -- but should cause no problem, unless you have written code looking at individual strings within the error messages.
265+
* Although documents continue to be stored compressed by Couchbase Server, they will not be transmitted in compressed form (to and from the client) over the wire, using `couchbase2://`.
266+
267+
268+
269+
270+
271+
233272
include::{version-common}@sdk:shared:partial$dnssrv-pars.adoc[tag=dnssrv]
234273

235274
DNS SRV bootstrapping is available in the Java SDK from version 2.1.0.

modules/project-docs/pages/compatibility.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ The downside of these workarounds is potentially reduced performance, which can
154154
[.table-merge-cells]
155155
[cols="7,5,6.7"]
156156
|===
157+
157158
| | Server 6.6 | Server 7.0 & 7.1 | Server 7.2
158159

159160
| Enhanced Durability
@@ -188,7 +189,7 @@ The downside of these workarounds is potentially reduced performance, which can
188189

189190
| Cloud Native Gateway
190191
2+| Not Supported
191-
| From SDK 3.5.0 (with xref:operator::overview.adoc[Couchbase Autonomous Operator] 2.6+)
192+
| From SDK 3.5.0 (with xref:operator::overview.adoc[Couchbase Autonomous Operator] 2.6.1+)
192193
|===
193194

194195

modules/ref/pages/client-settings.adoc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -680,3 +680,15 @@ This profile changes the default timeouts.
680680
| `managementTimeout`
681681
| 120s
682682
|===
683+
684+
685+
686+
== Cloud Native Gateway
687+
////
688+
Using the xref:howtos:managing-connections.adoc#cloud-native-gateway[Cloud Native Gateway] protocol (to connect to Couchbase Server running on xref:operator::overview.adoc[Couchbase Autonomous Operator] 2.6.1 or newer) should not need any changes to config.
689+
////
690+
Some settings will be ignored when using the `couchbase2://` protocol -- and this will be logged at `WARNING` level.
691+
Currently, these include:
692+
693+
* Compression
694+
* `numKvConnections`

0 commit comments

Comments
 (0)