8.5 Couchbase Profile

A Couchbase profile is used to read and write bucket data in a Couchbase database and can be accessed by workflows using Aggregation, Distributed Storage, or PCC. The profile should not be used to operate on data that has been inserted or updated by external third-party software.

As a client to Couchbase, the profile operates in synchronous mode. When sending a request to Couchbase, the profile expects a server response, indicating success or failure, before proceeding to send the next one in queue.

The Couchbase profile is loaded when you start a workflow that depends on it. Changes to the profile become effective when you restart the workflow.

Note!

Created or updated Couchbase profiles that are used for PCC do not become effective until you restart the EC/ECSAs.

Configuration

To create a new Couchbase profile, click on the New Configuration button in the upper left part of the Desktop window, and then select Couchbase Profile from the menu.

To open an existing Couchbase profile, double-click on the configuration in the Configuration Navigator, or right-click on the configuration, and then select Open Configuration(s)....

The contents of the menus in the menu bar may change depending on which configuration type has been opened in the currently displayed tab. The Couchbase profile uses the standard menu items and buttons that are visible for all configurations, and these are described in 2.1 Menus and Buttons.

The Edit menu is specific for Couchbase profile configurations.

ItemDesciption

External References

Select this menu item to Enable External References in an agent profile field. This can be used to configure the use of the following fields, and the respective external reference keys available:

    • Bucket Name
    • Bucket Password
    • Bucket User
    • Bucket User Password
    • Operation Timeout
    • Max Retries
    • Retry Interval
    • Host

For further information, see 8.11.4 Using External Reference in Agent Profile Fields and 8.11 External Reference Profile.

In a Couchbase profile, there are three tabs:  Connectivity, Management, and Advanced.

Connectivity Tab

The Connectivity tab is displayed by default.

Couchbase profile - Connectivity tab for Couchbase Releases 5.x - 7.x, and 4.x


Note!

Refer to /wiki/spaces/3PP/pages/1671475 for supported Couchbase versions.

Note!

From Couchbase version 5.0, buckets no longer use bucket-level passwords and you must access the bucket using a user and password that you must create in the Couchbase Web Console if it does not already exist.

The following settings are available in the Connectivity tab:

SettingDescription
Couchbase Release

Choose between Couchbase release 5.x - 7.x and 4.x. The Bucket Configuration settings are different depending on if you select Couchbase Release 5.x - 7.x or 4.x.

Note!

If you have upgraded to a Couchbase Release 5.x - 7.x, it is recommended that you select the Couchbase Release 5.x - 7.x version of the Couchbase profile. However, if you have upgraded to a Couchbase Release 5.x - 7.x, but you choose to use the Couchbase Release 4.x version of the Couchbase profile, the user must have the same name as the bucket that you want to use in , and you must enter the mandatory password as the bucket password, which you specify in the Couchbase profile as the Bucket Name and Bucket Password. For further information on creating a bucket, see 11.1 Adding and Removing Buckets.

Bucket Name

Enter the bucket that you want to access in Couchbase in this field.

Bucket UserEnter the user who has access rights to the bucket.

User Password

If you have selected Couchbase Release 4.x, you can enter an optional password for the bucket in this field.

If you have selected Couchbase Release 5.x - 7.x, enter the password for the user who has access to the bucket.

Note!

If you are using Couchbase Server 5.x - 7.x the password is mandatory. For further information, see https://developer.couchbase.com/documentation/server/current/security/security-authorization.html.

Operation Timeout (ms)

Enter the number of milliseconds after which you want Couchbase "CRUD" operations, that is, create, read, update, and delete, to timeout. Setting a lower value than the default 1000 ms may have a positive impact on throughput performance. However, if the value is set too low, indicated by a large number of operation timeouts errors in the EC/ECSA logs, a lower throughput can be expected.

Retry Interval Time (ms)

Enter the time interval, in milliseconds, that you want to wait before trying to read the cluster configuration again after a failed attempt.

Max Number Of Retries

Enter the maximum number of retries.

Cluster Nodes

In this section, add IP addresses/hostnames of at least one of the nodes in the cluster. This address information is used by the Couchbase profile to connect to the cluster at workflow start, and to retrieve the IP addresses of the other nodes in the cluster.

If the first node in the list cannot be accessed, the Couchbase profile will attempt to connect to the next one in order. This is repeated until a successful connection can be established. Hence it is not necessary to add all the nodes, but it is good practice to do so for a small cluster. For example, if there are just three nodes, you should add all of them.

Management Tab

The Management tab contains Cluster Management and Monitoring settings.

Couchbase profile - Management tab

The following settings are available in the Management tab:

SettingDescription

Admin User Name

If you want to create a new bucket that does not exist in your Couchbase cluster, enter the user name that you stated when installing Couchbase in this field.

Admin Password

If you want to create a new bucket that does not exist in your Couchbase cluster, enter the password that you stated when installing Couchbase in this field.

Bucket Size (MB)

Enter the size of the bucket you want to create, in MB.

Number of Replicas

Enter the number of replicas you want to have.

Monitoring - Active

Frequency (ms)

Obsolete

Failure Count

Obsolete


Note!

The Couchbase monitoring has become obsolete. Refer to Important Information to find out more. 

If the bucket you want to access in Couchbase does not exist, the Couchbase profile can be used for creating the bucket in runtime for you, provided that the Admin User Name and Admin Password for your Couchbase cluster have been entered in the Management tab. If the bucket you want to access already exists in your cluster, these two fields do not have to be filled in.

Advanced Tab

In the Advanced tab you can configure additional properties. These can typically be left unchanged in the standard Couchbase configuration.

It is recommended that you change these properties when using the Couchbase profile in Aggregation. For more information about using the Couchbase profile in Aggregation, see Performance Tuning with Couchbase Storage in 9.3.5.3 Aggregation Agent Configuration - Real-Time.

Couchbase profile - Advanced tab

Note on Client Management Timeout

If there is a need to control a timeout of any synchronous operation, a system property mz.cb.management.timeout can be used. It should be set for every execution context used to execute a workflow that may require longer timeout.

See the text in the Properties field for further information about the properties that you can set.

Logging Couchbase Statistics

You can use the property mz.cb.statistics.class if you want to log Couchbase statistics to file. The default value is com.digitalroute.mimexposer.statistics.NoDbStatistics.

To enable this property, set the value to com.digitalroute.mimexposer.statistics.MemDbStatistics or com.digitalroute.mimexposer.statistics.FileDbStatistics.

If you set the property value to com.digitalroute.mimexposer.statistics.MemDbStatistics, you can use the MIM agent to send statistics to System Insight. To do this, you must configure a workflow with a MIM agent. For further information, see 9.81.6 MIM Agent.

If you set the property value to com.digitalroute.mimexposer.statistics.FileDbStatistics, you can use the MIM agent to send statistics to System Insight or you can log to file. If you want to log to file only, you do not require the MIM agent. The log file is stored in $MZ_HOME/log per bucket, for example <bucket name>_couchbase_stats.log, and the file is flushed every 60 seconds by default. If you want to modify how often the file is flushed, set the property mz.cb.statistics.flush.period.in.seconds with the required value in the EC. 

The Couchbase statistics that you can log include the following:

  • Maximum answer time
  • Average answer time
  • Number of failed CRUDS
  • Maximum lock time
  • Average lock time
  • Number of failed locks
  • Number of timed out locks