SYS.ICM
hidden class SYS.ICM
Methods intended for invocation by the InterSystems Cloud ManagerProperty Inventory
Method Inventory
Properties
property ArbiterURL as %String (MAXLEN = 256);
When configuring a mirror using ShardMirrorRole, this field can be
used to specify an Arbiter.
The format of this field is host:port
The format of this field is host:port
Property methods: ArbiterURLDisplayToLogical(), ArbiterURLGet(), ArbiterURLIsValid(), ArbiterURLLogicalToDisplay(), ArbiterURLLogicalToOdbc(), ArbiterURLNormalize(), ArbiterURLSet()
property ClusterURL as %String (MAXLEN = 256);
In node-level architecture, specifies the location of the initial data node.
This field should be populated for all values of Role other than NODE1.
The format of this field is: IRIS://host:port/namespace
The format of this field is: IRIS://host:port/namespace
Property methods: ClusterURLDisplayToLogical(), ClusterURLGet(), ClusterURLIsValid(), ClusterURLLogicalToDisplay(), ClusterURLLogicalToOdbc(), ClusterURLNormalize(), ClusterURLSet()
property Map as %String (MAXLEN = 256) [ InitialExpression = "primary,backup" ];
Map used to assign members of a mirror set. Requires that nodes be named in
a manner consistent with property Regexp, are ascending, and contiguous. Format
is a comma-separated list of values "primary", "backup", "drasync"/"rorasync"/"rwrasync"
- May contain only one "primary" and "backup"
- May contain multiple "*async" (up to the current maximum of fourteen)
Property methods: MapDisplayToLogical(), MapGet(), MapIsValid(), MapLogicalToDisplay(), MapLogicalToOdbc(), MapNormalize(), MapSet()
property MasterRegexp as %String (MAXLEN = 16) [ InitialExpression = "-0$" ];
Regular expression used to determine node type when Role is AUTO.
If the hostname matches this expression, role will be NODE1, otherwise DATA.
The default regular expression assumes that the hostname for the NODE1 node ends in "-0":
-
iris-data-0      // NODE1
iris-data-1      // DATA
. . .
iris-data-N      // DATA
-
iris-data-0-0      // Shard 0 primary
iris-data-0-1      // Shard 0 backup
iris-data-1-0      // Shard 1 primary
iris-data-1-1      // Shard 1 backup
. . .
iris-data-N-0      // Shard N primary
iris-data-N-1      // Shard N backup
Property methods: MasterRegexpDisplayToLogical(), MasterRegexpGet(), MasterRegexpIsValid(), MasterRegexpLogicalToDisplay(), MasterRegexpLogicalToOdbc(), MasterRegexpNormalize(), MasterRegexpSet()
property Member as %String (MAXLEN = 7);
Make this node part of a mirror:
- primary: This node will be the primary failover member
- backup: This node will be the backup failover member
- drasync This node will be a DR async member
- auto: Automatic failover member selection based on whether the hostname
contains an even or odd number after the final dash. Example:
Hostname Mirror Member iris-data-0 primary iris-data-1 backup Property methods: MemberDisplayToLogical(), MemberGet(), MemberIsValid(), MemberLogicalToDisplay(), MemberLogicalToOdbc(), MemberNormalize(), MemberSet()
property Name as %String (MAXLEN = 50);
Name is the name of the mirror set to be created. This name is converted to uppercase before storing.
Only alphanumeric characters are allowed to be in the mirror set name. This name can not be a null string.
Property methods: NameDisplayToLogical(), NameGet(), NameIsValid(), NameLogicalToDisplay(), NameLogicalToOdbc(), NameNormalize(), NameSet()
property Ordinal as %Integer [ InitialExpression = 0 ];
Allow proper indexing into ConfigMirror property Map when hostnames are offset from zero.
Example 1 - hostnames are zero-based
Hostname is sample-data-1
ConfigMirror properties:
-
Map="primary,backup,drasync"
Member=auto
- Host index: 1
- Member type: Map[1] = "backup"
Hostname is sample-data-102
ConfigMirror properties:
-
Map="drasync,rwrasync,rorasync"
Member=auto
Ordinal=100
- Host index: 102 - Ordinal = 2
- Member type: Map[2] = "rorasync"
Property methods: OrdinalDisplayToLogical(), OrdinalGet(), OrdinalIsValid(), OrdinalLogicalToDisplay(), OrdinalNormalize(), OrdinalSet()
property Primary as %String (MAXLEN = 256);
Specifies the host or IP of the initial mirror primary. This parameter is required for any
non-empty value of parameter Member other than "primary". If auto is
provided, the primary is determined based on whether the hostname contains an even or odd
number after the final dash:
- Even number: Current node is the primary
- Odd number: Previous ordinal hostname is the primary.
Hostname | Mirror Primary | |
---|---|---|
iris-data-0 | iris-data-0 | |
iris-data-1 | iris-data-0 |
Property methods: PrimaryDisplayToLogical(), PrimaryGet(), PrimaryIsValid(), PrimaryLogicalToDisplay(), PrimaryLogicalToOdbc(), PrimaryNormalize(), PrimarySet()
property Regexp as %String (MAXLEN = 16) [ InitialExpression = "-[0-9]+$" ];
Regular expression used to make sure that hostnames conform to a regular numbering scheme,
which is a prerequisite for using Role and Member in automatic mode. The default assumes
a scheme such as the following:
-
iris-data-0
iris-data-1
. . .
iris-data-N
Property methods: RegexpDisplayToLogical(), RegexpGet(), RegexpIsValid(), RegexpLogicalToDisplay(), RegexpLogicalToOdbc(), RegexpNormalize(), RegexpSet()
property Role as %String (MAXLEN = 7);
Specify the role of this IRIS instance in nod-level architecture:
- NODE1: This is the initial data node; if mirrored, set on primary failover member only
- DATA: For all data nodes other than NODE1
- AUTO: Automatically determine role by comparing hostname with MasterRegexp:
- Match: NODE1
- Non-match: DATA
- COMPUTE: This will be a compute node
Property methods: RoleDisplayToLogical(), RoleGet(), RoleIsValid(), RoleLogicalToDisplay(), RoleLogicalToOdbc(), RoleNormalize(), RoleSet()
property SSLDir as %String (MAXLEN = 256);
Path to a directory containing the following three files:
- CAFile.pem - Certificate Authority file
- CertificateFile.pem - Server Certificate file
- PrivateKeyFile.pem - Server Key file
Property methods: SSLDirDisplayToLogical(), SSLDirGet(), SSLDirIsValid(), SSLDirLogicalToDisplay(), SSLDirLogicalToOdbc(), SSLDirNormalize(), SSLDirSet()
Methods
classmethod FlushToDisk()
Borrowed from MIRRORMGR.mac:
Make sure the write daemon has written the new member into the disk
so the remote node could ask agent job to get it for member validation.