Data domain profile operations

These commands operate on Endeca data domain profiles.

A data domain profile is a named template that provides configuration settings to be used for the creation of Endeca data domains. The configuration settings for new data domains include:
  • The number of follower nodes required
  • Whether the leader is dedicated to updating requests or is sharing a regular query load
  • Whether the Endeca Server can oversubscribe its nodes while sharing them with other data domains
  • Whether the Dgraph processes should be read-only
  • Session affinity configuration
  • The hardware characteristics of Dgraph processes (the number of threads and the cache size
  • The Dgraph flags to use to start up the Dgraph process

The commands described in this topic create and delete data domain profiles, as well as return information about them.

Important: Once you create a data domain profile, you cannot change its configuration.
The commands for managing data domain profiles are:

put-dd-profile

The put-dd-profile command creates a new data domain profile with the specified name. Note that a default data domain profile (named default) always exists in the Endeca Server and does not need to be created with this command.

The syntax for this command is:
endeca-cmd put-dd-profile <new-profile-name> [global-options] [create-options]
where new-profile-name is the name of the new data domain.
The following additional command options can be used to change the created data domain profile's configuration (defaults are used otherwise):
Create Option Description
--description <text> A full description of the data domain profile.

If the description contains spaces, it must be enclosed within double quotes.

If this option is not specified, the description defaults to an empty string.

--query-leader <bool> Whether the leader node can accept read-only queries.

If not specified, defaults to true.

--num-followers <int> How many follower nodes (Dgraph processes) should be configured in the data domain.

If not specified, defaults to 0.

--oversubscribe <bool> Whether a data domain (or any of its nodes) can be placed on an oversubscribed Endeca Server instance.

If not specified, defaults to true.

--num-compute-threads <int> Specifies the number of computational threads in the Dgraph node's threading pool.

The value must be a positive integer that is equal or greater than 2.

The recommended number of computational threads for the Dgraph process is typically equal to the number of CPU cores on the host Endeca Server node.

If no value is specified or 0 is specified, this defaults to the larger of 2 or the number of available processors.

--compute-cache-size <int> Specifies an absolute value in MB for the Dgraph process cache, for each Dgraph node in the data domain.

If no value is specified or 0 is specified, this defaults to the Dgraph default cache size computed as 10% of the amount of RAM available on the Endeca Server node hosting the Dgraph node.

--startup-timeout <int> Specifies the maximum length of time (in seconds) that is allowed for the data domain's Dgraph process to start up.

Default is 600 seconds.

--shutdown-timeout <int> Specifies the maximum length of time (in seconds) that is allowed for the data domain's Dgraph process to shut down.

Default is 30 seconds.

--read-only <bool> Whether a data domain should be created as read-only and not accept updating requests, including data loading requests.

If not specified, defaults to false.

--session-id-type <type> The method to use for establishing session affinity.

The available options are: header (for HTTP headers), parameter (for URL parameters), or cookie.

The default method is header.

--session-id-key <name> The name of the key to use for maintaining affinity.

The default name is X-Endeca-Session-ID.

--args <dgraph-flags> Specifies a list of the Dgraph flags that will be used for the data domain's Dgraph process.

The --args flag must be the last flag on the command line, as all of its arguments are passed on to the Dgraph process.

--args --usage Provides a list of the available Dgraph process flags.
This example:
endeca-cmd put-dd-profile MyProfile --description "group profile" --oversubscribe false --args --net-timeout 60
creates the data domain profile named MyProfile, which cannot be placed on an oversubscribed Endeca Server instance, and starts the Dgraph with a network timeout value of 60 seconds. MyProfile uses the default values for the other configuration settings.

get-dd-profile

The get-dd-profile command lists the characteristics of the data domain profile with the specified name.

The syntax for this command is:
endeca-cmd get-dd-profile <profile-name> [global-options]
where profile-name is the name of an existing data domain profile. This command has no options.
This example:
endeca-cmd get-dd-profile MyProfile
returns the following details for the data domain profile named MyProfile:
MyProfile
Description: group profile
AllowQueriesOnLeader: true
AllowOverSubscribe: false
NumFollowers: 0
ReadOnly: false
NumComputeThreads: 2
ComputeCacheSizeMB: 0
StartupTimeoutSeconds: 600
ShutdownTimeoutSeconds: 30
SessionIdType: HEADER
SessionIdKey: X-Endeca-Session-ID
Args: [--net-timeout, 60]

list-dd-profiles

The list-dd-profiles command returns a list of data domain profiles configured in the Endeca Server cluster. For each data domain profile, this command returns its name, description, and other characteristics, such as the number of nodes, the number of query processing threads, and the list of arguments (if any) that are sent to the Dgraph processes for this profile.

The syntax for this command is:
endeca-cmd list-dd-profiles [--verbose] [global-options]

The --verbose option includes additional status information for each data domain.

delete-dd-profile

The delete-dd-profile command deletes the data domain profile with the specified name. This command does not affect any data domains that may be using this profile.

The syntax for this command is:
endeca-cmd delete-dd-profile <profile-name> [global-options]
where profile-name is the name of an existing data domain profile. This command has no options.
This example:
endeca-cmd delete-dd-profile MyProfile
deletes the data domain profile named MyProfile.
Note that you cannot delete the default data domain profile (named default). If you attempt to do so, the command fails with this error:
OES-000107: Cannot delete the default data domain profile.

You can delete a data domain profile that was used to create an existing data domain — when the data domain is created, the configuration information from the profile is copied into the data domain's state. Therefore, the data domain does not use the profile after creation.