DbEnv::rep_sync()

#include <db_cxx.h>
 
int
DbEnv::rep_sync(u_int32_t flags);

The DbEnv::rep_sync() method forces master synchronization to begin for this client. This method is the other half of setting the DB_REP_CONF_DELAYCLIENT flag via the DbEnv::rep_set_config() method.

If an application has configured delayed master synchronization, the application must synchronize explicitly (otherwise the client will remain out-of-date and will ignore all database changes forwarded from the replication group master). The DbEnv::rep_sync() method may be called any time after the client application learns that the new master has been established (by receiving a DB_EVENT_REP_NEWMASTER event notification).

Before calling this method, the enclosing database environment must already have been opened by calling the DbEnv::open() method and must already have been configured to send replication messages by calling the DbEnv::rep_set_transport() method.

The DbEnv::rep_sync() method either returns a non-zero error value or throws an exception that encapsulates a non-zero error value on failure, and returns 0 on success.

Parameters

flags

The flags parameter is currently unused, and must be set to 0.

Errors

The DbEnv::rep_sync() method may fail and throw a DbException exception, encapsulating one of the following non-zero errors, or return one of the following non-zero errors:

DB_REP_JOIN_FAILURE

If master synchronization requires an internal initialization but automatic internal initializations have been disabled by setting the DB_REP_CONF_AUTOINIT flag to 0.

EINVAL

If the database environment was not already configured to communicate with a replication group by a call to DbEnv::rep_set_transport(); the database environment was not already opened; or if an invalid flag value or parameter was specified.

Class

DbEnv

See Also

Replication and Related Methods