Migration Considerations

    +
    Prior to version 4, the Couchbase Elasticsearch connector was implemented as an Elasticsearch plug-in. Here’s what you need to know if you’re migrating from the plug-in to the new standalone connector.

    In this document, version 4 of the connector is referred to as the "standalone connector" to distinguish it from the Elasticsearch plug-in of prior versions.

    Upgrading from the Plug-in

    This is a major version upgrade. Because the plug-in and the standalone connector are so different, there is no online upgrade process.

    The standalone connector stores its replication state in a way that is incompatible with the plug-in. Unfortunately, the standalone connector cannot continue replicating from exactly where the plug-in stops.

    Upgrade with Re-streaming

    The recommended approach is to uninstall the plug-in and restart the Elasticsearch nodes for the removal to take effect. Then start the standalone connector and allow it to re-stream all Couchbase documents to Elasticsearch.

    If you intend to use the new metadata fields introduced by the new connector, this approach ensures all documents have complete metadata.

    Upgrade with Checkpoint Overlap

    If re-streaming is not possible for your deployment, consider this workaround.

    1. Use the new checkpoint management tools to create a checkpoint from the current state of the bucket (with cbes-checkpoint-clear --catch-up).

    2. Allow the plug-in to continue replicating documents until it has processed all changes that occurred prior to when you set the checkpoint.

    3. Uninstall the plugin and restart the Elasticsearch nodes for the removal to take effect.

    4. Start the standalone connector, which will begin streaming from the point in Couchbase history when you set the checkpoint.

    Parent-Child Relationships

    Elasticsearch 6 no longer supports parent-child relationships. Because the connector is primarily focused on Elasticsearch 6 and beyond, parent-child relationships are no longer supported by the connector.

    Document structure and metadata

    By default, Elasticsearch documents created by the standalone connector have the same structure and metadata as those created by the plug-in, with the addition of new metadata fields that can be used to build a Couchbase Mutation Token.

    Table 1. Metadata Fields
    Name Datatype New in 4.0?

    vbucket

    integer

    vbuuid

    long

    seqno

    long

    revSeqno

    long

    cas

    long

    lockTime

    integer

    rev

    string

    flags

    integer

    expiration

    integer

    id

    string