Skip to content

Commit 0887149

Browse files
authored
DOC-13295: Preliminary release notes (#881)
* Add new features to release notes * Highlight future changes to Enable Shared Bucket Access * Highlight future changes to Disable All Public Docs * Fix broken attributes
1 parent d084851 commit 0887149

4 files changed

Lines changed: 56 additions & 37 deletions

File tree

modules/ROOT/pages/_partials/_define_page_index.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ endif::xref--pfx-sgw[]
206206
:configuration-schema-database--page: configuration-schema-database.adoc
207207
:configuration-schema-database--xref: {sgw--xref}{configuration-schema-database--page}[Database Configuration]
208208

209-
:configuration-schema-database--xref--enable-shared-bucket-access: {sgw--xref}{configuration-schema-database--page}#database-enable_xttrs[database.enable_shared_bucket_access]
209+
:configuration-schema-database--xref--enable-shared-bucket-access: {sgw--xref}{configuration-schema-database--page}#enable_shared_bucket_access[database.enable_shared_bucket_access]
210210

211211
:configuration-schema-database--xref-user-xattr-key: {sgw--xref}{configuration-schema-database--page}#databases-this_db-user_xattr_key[user_xattr_key]
212212

@@ -457,7 +457,7 @@ endif::xref--pfx-sgw[]
457457
:configuration-schema-database--xref--delta-sync-max-age: {configuration-schema-database--pfx--db}-delta_sync-rev_max_age_seconds[database.delta_sync.rev_max_age_seconds]
458458

459459
:configuration-schema-database--xref--import-filter: {configuration-schema-database--pfx--db}-import_filter[database.import_filter]
460-
:configuration-schema-database--xref--import-docs: {configuration-schema-database--pfx--db}-import_docs[database.import_docs]
460+
:configuration-schema-database--xref--import-docs: {configuration-schema-database--pfx}#import_docs[database.import_docs]
461461

462462
:configuration-schema-database--xref--oidc: {configuration-schema-database--pfx--oidc}[oidc]
463463
:configuration-schema-database--xref--oidc-username-claim: {configuration-schema-database--pfx--oidc}-providers-this_provider-username_claim[username_claim]

modules/ROOT/pages/_partials/release_notes/sync-gateway-3-3-0-release-note.adoc

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,18 @@
22

33
include::partial$block-caveats.adoc[tags=eventing-mixed-mode]
44

5-
=== TODO: New Feature
5+
=== Partitioned Indexes
6+
7+
Sync Gateway 3.3 introduces support for partitioned indexes.
8+
Partitioned indexes offer horizontal scalability for large deployments by sharding indexes across multiple nodes.
9+
10+
=== Disable the Public All Docs Endpoint
11+
12+
Sync Gateway 3.3 introduces an option to disable the xref:rest_api_public.adoc#tag/Document/operation/get_keyspace-_all_docs[`GET /{keyspace}/_all_docs`] operation in the Public REST API.
13+
14+
=== Interactive Admin Credentials for SG Collect Info
15+
16+
In Sync Gateway 3.3 and later, the `sgcollect_info` tool provides an interactive password prompt so that you can enter administrative credentials.
617

718
For more information on new features and enhancements in this release, see xref:whatsnew.adoc[].
819

modules/ROOT/pages/sync-with-couchbase-server.adoc

Lines changed: 41 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ ifdef::prerelease[:page-status: {prerelease}]
88
:description: Use Sync Gateway to sync Couchbase Server changes securely from cloud to edge
99
:keywords: sync gateway, replication, sync, synchronization, edge, cloud
1010
:pageOriginRel: "sg=1.5, Cbs=5.0)_"
11+
:imagesdir: ../assets/images
1112

1213
include::partial$_set_page_context.adoc[]
1314

@@ -20,7 +21,7 @@ include::partial$block-standard-footnotes.adoc[tags=sgw1x5;cbs5x0]
2021
:fn-sgw: footnote:fn-sgw[Prior to Release 2.5, Server 5.0 all writes had to go through Sync Gateway, or had to use bucket shadowing to ensure that the security and replication metadata needed by mobile applications was preserved.]
2122
// :fn-sgw-ref: footnote:fn-sgw[]
2223

23-
:enable-sba-config-item: {configuration-schema-database--pfx--db}-enable_shared_bucket_access[$dbname.enable_shared_bucket_access]
24+
:enable-sba-config-item: {configuration-schema-database--pfx}#enable_shared_bucket_access[$dbname.enable_shared_bucket_access]
2425
:xattr--page: xref:server:learn:data/extended-attributes-fundamentals.adoc[Extended Attributes (XATTR)]
2526

2627
include::partial$block-caveats.adoc[tags="cbs6.0ke-xattrs"]
@@ -29,16 +30,16 @@ include::partial$block-caveats.adoc[tags="cbs6.0ke-xattrs"]
2930
== Introduction
3031

3132

32-
{sgw-te} will automatically sync database changes if {configuration-schema-database--xref--import-docs} and {configuration-schema-database--xref--enable-shared-bucket-access} are set 'true'.
33+
{sgw-t} will automatically sync database changes if {configuration-schema-database--xref--import-docs} and {configuration-schema-database--xref--enable-shared-bucket-access} are set 'true'.
3334

34-
* Enable_Shared_Bucket_Access
35-
+
36-
This setting ensures that both {sgw} and {cbs-te} can read and write to the same bucket simultaneously and that {sgw} can access {cbs} document XATTRS +
35+
enable_shared_bucket_access::
36+
This setting ensures that both {sgw-t} and {cbs-t} can read and write to the same bucket simultaneously and that {sgw-t} can access {cbs} document XATTRS +
3737
See: <<sgw-paths>> and {configuration-schema-database--xref--enable-shared-bucket-access}.
38-
39-
* Import Docs
4038
+
41-
Setting this property true ensures that the {sgw} node performs import processing, obtaining the mobile metadata it requires to replicate changes -- see: <<import-process>>.
39+
Setting this property to `true` will be required in a future release, and `false` will not be supported.
40+
41+
import_docs::
42+
Setting this property true ensures that the {sgw-t} node performs import processing, obtaining the mobile metadata it requires to replicate changes -- see: <<import-process>>.
4243

4344
You can configure both these properties using the Admin Rest API {configuration-schema-database--xref} endpoint.
4445

@@ -53,7 +54,7 @@ image::shared-bucket-access.png[]
5354

5455
Mobile applications require additional metadata in order to manage security and replication.
5556

56-
{sgw} stores this information using {cbs} XATTRs (see {cbs} documentation on {server-data-xattr-fundamentals--xref}).
57+
{sgw-t} stores this information using {cbs} XATTRs (see {cbs} documentation on {server-data-xattr-fundamentals--xref}).
5758

5859

5960
=== Extended Attributes (XATTRs)
@@ -71,24 +72,24 @@ Extended attributes:
7172
* Can be accessed via {cbs} SDKs using the sub-document API, via command-line tools, and via views.
7273

7374
* Are accessible from {sqlpp} in {cbs} using the `().xattrs` property. +
74-
For example, `SELECT meta().xattrs._sync from travel-sample where Meta().id = "user::demo"`;.
75+
For example, `SELECT meta().xattrs._sync from travel-sample where Meta().id = "user::demo";`.
7576

7677

77-
Both {sgw} and {cbs} use a System extended attribute, with the following characteristics to support mobile convergence (shared bucket access):
78+
Both {sgw-t} and {cbs} use a System extended attribute, with the following characteristics to support mobile convergence (shared bucket access):
7879

7980
* Shares lifetime with the document metadata - when a document is deleted, system xattrs are preserved with the tombstone.
8081
* Allocated 1MB of storage, independent of the 20MB available for the document
8182

82-
WARNING: The sync metadata is maintained internally by {sgw} and its structure can change at any time.
83+
WARNING: The sync metadata is maintained internally by {sgw-t} and its structure can change at any time.
8384
It should not be used to drive business logic of applications.
8485
The direct use of the {sqlpp} query is unsupported and must not be used in production environments.
85-
The `_raw` endpoint (/db/_raw/{docid}) on {sgw}'s Admin REST API returns both the document and its associated mobile metadata.
86+
The `_raw` endpoint (/db/_raw/{docid}) on {sgw-t}'s Admin REST API returns both the document and its associated mobile metadata.
8687

8788
=== Documents
8889

89-
With bucket-sharing enabled, {cbs} documents can be inserted directly (using _{sqlpp}_ or _SDKs_) or by using {sgw}'s {rest-api--xref}.
90+
With bucket-sharing enabled, {cbs} documents can be inserted directly (using {sqlpp} or SDKs) or by using {sgw-t}'s {rest-api--xref}.
9091

91-
{sgw} {fn-sgw1x5} creates the metadata it needs by abstracting it from the SDK or {sqlpp} applications reading and writing data directly to {cbs} buckets.
92+
{sgw-t} {fn-sgw1x5} creates the metadata it needs by abstracting it from the SDK or {sqlpp} applications reading and writing data directly to {cbs} buckets.
9293
It uses {cbs} XATTRs {fn-cbs5x0} to store that metadata into an external document fragment -- see {xref-svr-pg-xattrs}.
9394

9495
// The REST API will also include the following behavioral changes:
@@ -99,7 +100,7 @@ It uses {cbs} XATTRs {fn-cbs5x0} to store that metadata into an external documen
99100
=== Blobs and Attachments
100101

101102
.Couchbase Server SDK/{sqlpp}
102-
Use {sgw}'s REST API's {xref-sgw-ep-public-api-attachment} endpoints to
103+
Use {sgw-t}'s REST API's {xref-sgw-ep-public-api-attachment} endpoints to
103104
manage attachments and blob data; you cannot use {cbs} SDKs to do this
104105
directly.
105106

@@ -114,7 +115,7 @@ Couchbase Lite apps seamlessly handle blobs and attachments, see the appropriate
114115
include::partial$blocklinks-cbl.adoc[]
115116

116117
.Using a WebApp
117-
Attachments can be accessed through {sgw}'s REST API using the xref:rest_api_public.adoc#tag/Document-Attachment/operation/get_keyspace-docid-attach[+/{keyspace}/{docid}/{attach}+] endpoint.
118+
Attachments can be accessed through {sgw-t}'s REST API using the xref:rest_api_public.adoc#tag/Document-Attachment/operation/get_keyspace-docid-attach[+/{keyspace}/{docid}/{attach}+] endpoint.
118119

119120
=== Tombstone Revisions
120121

@@ -131,19 +132,19 @@ The {sqlpp} query language {fnref-cbs5x0} supports the ability to query these ex
131132
[#simple-query]
132133
.Querying XATTRS-bsed sync metadata
133134
====
134-
[source,sql]
135+
[source,sqlpp]
135136
----
136137
SELECT meta().xattrs._sync FROM scope.collection WHERE meta().id = "mydocId"
137138
----
138139
====
139140

140-
WARNING: The sync metadata is maintained internally by {sgw} and its structure can change at any time.
141+
WARNING: The sync metadata is maintained internally by {sgw-t} and its structure can change at any time.
141142
It should not be used to drive business logic of applications. The direct use of the {sqlpp} query is *unsupported* and must not be used in production environments.
142143

143144
=== Enable Shared Bucket Access
144145

145146
Shared bucket access is an opt-in feature.
146-
You can enable it without bringing down the entire {sgw} cluster -- see <<enable-sba>>.
147+
You can enable it without bringing down the entire {sgw-t} cluster -- see <<enable-sba>>.
147148

148149
[#enable-sba]
149150
.Enable Bucket-Sharing
@@ -160,7 +161,7 @@ You can enable it without bringing down the entire {sgw} cluster -- see <<enabl
160161
}
161162
}
162163
----
163-
<.> The `import_docs` property is used to specify that a {sgw} node participates (exclusively) in {import-process--xref}. The mechanism by which {sgw} incorporates changes to data buckets it shares with {cbs} -- see: <<import-process>>.
164+
<.> The `import_docs` property is used to specify that a {sgw-t} node participates (exclusively) in {import-process--xref}. The mechanism by which {sgw-t} incorporates changes to data buckets it shares with {cbs} -- see: <<import-process>>.
164165
165166
====
166167

@@ -170,30 +171,37 @@ You can enable it without bringing down the entire {sgw} cluster -- see <<enabl
170171

171172

172173
The *import process* is a key part of mobile convergence.
173-
It is the means by which {sgw} becomes aware of non-{sgw} data changes and obtains the mobile metadata it requires to replicate changes.
174+
It is the means by which {sgw-t} becomes aware of non-{sgw-t} data changes and obtains the mobile metadata it requires to replicate changes.
174175

175176
image::shared-bucket-access.png[]
176177

177-
Any non-{sgw} change is eligible for import.
178+
Any non-{sgw-t} change is eligible for import.
178179
The document is first run through the Sync Function to compute read security and routing, with the following differences:
179180

180-
* The import is processed with an admin user context in the Sync Function, similar to writes made through the {sgw} Admin API.
181+
* The import is processed with an admin user context in the Sync Function, similar to writes made through the {sgw-t} Admin API.
181182
This means that `requireAccess`, `requireUser` and `requireRole` calls in the Sync Function are treated as no-ops.
182183
* During import, `oldDoc` is `nil` when the Sync Function is executed.
183184

184-
You can specify a filter function using the {configuration-schema-database--pfx--db}_import_filter[import_filter] property, which will only import specific documents.
185+
You can specify a filter function using the {configuration-schema-database--pfx}#import_filter[import_filter] property, which will only import specific documents.
185186

186187
TIP: Use the {bootstrap-schema--xref--logging-console-log-keys} log key to troubleshoot import processing issues in the logs.
187188

188189
=== Configuration
189190

190191
Note that `import_docs` only takes effect if the `enabled_shared_bucket_access` is set to `true`.
191192

192-
{enterprise}::
193+
****
194+
[.edition]#{enterprise}#
195+
193196
The `import_docs` parameter defaults to `true`, implying that, by default, all nodes in a cluster participate in import processing.
194197
To exclude a node, set `"import_docs": false`.
195-
{community}::
196-
The `import_docs` parameter defaults to false and must be explicitly set to `true`.
198+
199+
'''
200+
201+
[.edition]#{community}#
202+
203+
The `import_docs` parameter defaults to `false` and must be explicitly set to `true`.
204+
****
197205

198206
The following table describes the key behavior differences between Community Edition and Enterprise Edition when `import_docs` is enabled, disabled or not set at all.
199207

@@ -233,7 +241,7 @@ The following table describes the key behavior differences between Community Edi
233241
|===
234242

235243
=== High Availability
236-
In _Enterprise Edition_, import processing work is sharded across all {sgw} nodes with import enabled.
244+
In _Enterprise Edition_, import processing work is sharded across all {sgw-t} nodes with import enabled.
237245
This implies that if one of the nodes fail, the failed shard is automatically picked up by the remaining nodes in the cluster.
238246
This way, you get High Availability of import processing.
239247

@@ -246,7 +254,7 @@ As described in the table above, if `import_docs` is set to `false`, the node wi
246254
This configuration is specifically recommended for workload isolation: to isolate import nodes from the client-facing nodes.
247255
Workload isolation may be preferable in deployments with high write throughput.
248256

249-
The following diagram shows an example architecture of two {sgw} nodes handling the incoming client connections (`import_docs: false`) and two nodes sharing the import processing (`import_docs: true`).
257+
The following diagram shows an example architecture of two {sgw-t} nodes handling the incoming client connections (`import_docs: false`) and two nodes sharing the import processing (`import_docs: true`).
250258

251259
image:workload-isolation.png[]
252260

@@ -262,16 +270,16 @@ image:workload-isolation.png[]
262270
.Next Steps
263271
****
264272
265-
* Check out our getting started tutorial for more on how to setup, configure and run {sgw} replications - xref:tutorials:userprofile-sync:userprofile_sync.adoc[Sync tutorial]
273+
* Check out our getting started tutorial for more on how to setup, configure and run {sgw-t} replications - xref:tutorials:userprofile-sync:userprofile_sync.adoc[Sync tutorial]
266274
267275
* Further reading:
268276
** {cbs} documentation on {server-data-xattr-fundamentals--xref}
269277
270278
** Configuration file references:
271279
272280
*** {enable-sba-config-item} to enable convergence for a given database.
273-
*** {configuration-schema-database--pfx--db}-import_docs[$dbname.import_docs] to give a particular {sgw} node the role of importing the documents.
274-
*** {configuration-schema-database--pfx--db}-import_filter[$dbname.import_filter] to select which document(s) to make aware to mobile clients.
281+
*** {configuration-schema-database--pfx}#import_docs[$dbname.import_docs] to give a particular {sgw-t} node the role of importing the documents.
282+
*** {configuration-schema-database--pfx}#import_filter[$dbname.import_filter] to select which document(s) to make aware to mobile clients.
275283
276284
****
277285

modules/ROOT/pages/whatsnew.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ With a large number of documents, it may lead to timeouts and out-of-memory cond
4444
In any sizeable setup, it is recommended that you should instead use the xref:rest_api_public.adoc#tag/Database-Management/operation/get_keyspace-_changes[`GET /{keyspace}/_changes`] operation to get all documents for a user, or the xref:rest_api_public.adoc#tag/Document/operation/post_keyspace-_bulk_docs[`POST /{keyspace}/_bulk_docs`] operation to return any number of documents.
4545

4646
To disable the xref:rest_api_public.adoc#tag/Document/operation/get_keyspace-_all_docs[`GET /{keyspace}/_all_docs`] operation in the Public REST API, set xref:configuration-schema-database.adoc#disable_public_all_docs[`disable_public_all_docs`] to `true` in the database configuration.
47-
This option is set to `false` by default.
47+
This option is set to `false` by default; it will be set to `true` by default in a future release.
4848

4949
==== Interactive Admin Credentials for SG Collect Info
5050

0 commit comments

Comments
 (0)