The eXtremeDB Cluster feature (included with eXtremeDB High Availability) is configured by specifying the parameters described below.
For an overview see page Cluster Applications in C
Cluster Parameters
The following structure is initialized and passed to function
mco_cluster_db_open()
:typedef struct mco_cluster_params_t_ { uint4 rtrans_commit; /* nbr of successful remote transactions */ mco_cluster_node_params_t *nodes; uint2 n_nodes; uint2 node_id; uint2 conn_pool_factor; uint4 sync_msg_objects; /* max number of objects per message during synchronization */ uint4 sync_msg_size; /* max size of message in bytes during synchronization */ mco_cluster_transsize_f transsize_callback; mco_cluster_check_quorum_f check_quorum_func; void *check_quorum_param; mco_cluster_window_t window; mco_cluster_notifying notifying_callback; void *notifying_context; mco_cluster_connection_context_f connect_ctx_callback; void *connect_ctx_param; uint4 cl_sndbuf; uint4 cl_rcvbuf; uint4 mode_mask; void* stream_handle; mco_stream_read input_stream_reader; union { mco_clnw_tcp_params_t tcp; mco_clnw_mpi_params_t mpi; } nw; } mco_cluster_info_t, * mco_cluster_info_h;Transaction Window
The cluster transaction window is defined by the following structure:
typedef struct mco_cluster_window_t_ { uint4 bsize; /* in bytes */ uint4 length; /* in transactions */ timer_unit timeout; } mco_cluster_window_t;Channel Parameters
The network element
nw
allows the application to specify TCP or MPI channel as the network protocol. The following structures are used to specify channel-specific network settings.TCP
typedef struct mco_clnw_tcp_params_t_ { uint4 so_sndbuf; uint4 so_rcvbuf; timer_unit connect_timeout; timer_unit connect_interval; timer_unit keepalive_time; uint4 keepalive_probes; MCO_SOCK_DOMAIN socket_domain; int compression_level; void *ssl_params; } mco_clnw_tcp_params_t;MPI
typedef struct mco_clnw_mpi_params_t_ { uint4 flags; void *communicator; } mco_clnw_mpi_params_t;