This function creates the cluster database and connects to other cluster nodes.
MCO_RET mco_cluster_db_open( /*IN*/ const char * dbname,
/*IN*/ mco_dictionary_h dict,
/*IN*/ mco_device_t * devs,
/*IN*/ mco_size_t n_devs,
/*IN*/ mco_db_params_t * db_params,
/*IN*/ mco_cluster_params_t * cl_params)
| dbname | The name of the database to open |
| dict | A handle to the dictionary that was generated by schema processor mcocomp. Normally, this handle is passed in by passing dbname_get_dictionary() |
| devs | Memory Device parameters |
|
n_devs |
The number of Memory Devices |
|
db_params |
Database specification parameters defined in structure mco_db_params_t |
|
cl_params |
Network (cluster) parameters defined in structure mco_cluster_params_t |
This function creates the cluster database dbname and connects to other cluster nodes specified in the cl_params structure. mco_cluster_db_open() should be called on each cluster node, once per process.
| MCO_S_OK | The database was created successfully, and connections to other nodes were established |
| MCO_E_CLUSTER_NOQUORUM | The database was created, but the cluster environment was not able to connect to a sufficient number of other nodes to achieve a quorum |
| MCO_E_CLUSTER_INVALID_PARAMETER | Wrong cluster parameters (e.g. node_id >= n_nodes) |
| MCO_E_CLUSTER_PROTOCOLERR | Protocol error during initialization of the database |
| MCO_E_CLUSTER_INCOMPATIBLE_MODE | Incompatible modes or dictionaries on different nodes |
| MCO_E_CLUSTER_SYNC | Error during database initial synchronization |
| MCO_E_NW_* | Error initializing the network layer |
| Other | Refer to mco_db_open_dev() |