A newer version of this documentation is available.
View Latest (v2.0)

Buckets requirements [metadata, helpers & data bucket]

Metadata Bucket

The user is required to create this specific bucket in order to let the Couchbase Eventing service to store its own metadata. For our convention this will be the “Metadata bucket” in which the eventing function will store the events metadata. The name can be, for example, “metadata-eventing” or “metadata-bucket” but it is not a constraint, it could be customized in the config file.

you will need 1 of this kind of bucket for all of your eventing functions. So, if you already have some eventing functions deployed into your Couchbase cluster you can use the same bucket.

Data bucket

The Data bucket is the bucket in your Couchbase Cluster that actually contains the data you would like to sync. The Gluesync replicator listens to events produced by document changes inside this bucket, and processes them using specific Eventing functions in order to replicate the data to the destination database.

Helper bucket (optional) [Sync Gateway’s user only]

The following steps are required to provide Gluesync compatibility in Couchbase Server buckets in which a Couchbase Sync Gateway instance is running into. In such case, the events produced by Couchbase document changes must be temporarily stored in a secondary bucket and then brought back to the Data bucket. This avoids a problematic condition called interbucket recursion.

The user is required to create a secondary bucket, named for the sake of example “Helper bucket”, in order to allow the custom Eventing functions to operate correctly.

In order to activate this feature you should enable it in the Gluesync config file setting the isSyncGatewayPresent variable to true inside the eventing declaration section, as shown in this example below:

{
  ...
  "couchbase": {
    ...
    "eventing": {
      "baseUrl": "https://COUCHBASE_SERVER_ADDRESS_HERE",
      "metadataBucketName": "MetadataBucket",
      "isSyncGatewayPresent": true,
      "helperBucketName": "HelperBucket"
    }
  }
}