DbEnv::repmgr_set_incoming_queue_max()

#include <db_cxx.h>
int
DbEnv::repmgr_set_incoming_queue_max(u_int32_t gbytes,
u_int32_t bytes); 

The DbEnv::repmgr_set_incoming_queue_max() method sets a byte-count limit on the amount of dynamic memory used by the Replication Manager incoming queue. When the incoming queue reaches this limit, incoming messages are dropped until the Replication Manager processes some of the messages already in the queue. Any dropped messages are automatically rerequested at a later time. This limit is not a hard limit, and the message that exceeds this limit is the last one to be enqueued.

The Replication Manager incoming queue has a default size limit of 100MB. We recommend a minimum size limit of 32MB.

If the values passed to the DbEnv::repmgr_set_incoming_queue_max() method are both zero, then the incoming queue size limit is turned off.

We recommend increasing the incoming queue size limit in the following cases:

The database environment's replication subsystem may also be configured using the environment's DB_CONFIG file. The syntax of the entry in that file is a single line with the string "repmgr_set_incoming_queue_max", one or more whitespace characters, and the limit specified in two parts: the gigabytes and the bytes values. For example, "repmgr_set_incoming_queue_max 0 104857600" sets a 100 megabyte limit. Because the DB_CONFIG file is read when the database environment is opened, it will silently overrule configuration done before that time.

The DbEnv::repmgr_set_incoming_queue_max() method configures a database environment, not only operations performed using the specified DbEnv handle.

The DbEnv::repmgr_set_incoming_queue_max() method may be called at any time during the life of the application. If the limit is reduced, messages already in the queue are not removed, but further incoming messages are not added to the queue until its size drops below the new limit.

The DbEnv::repmgr_set_incoming_queue_max() 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

gbytes

The gbytes parameter specifies the number of gigabytes which, when added to the bytes parameter, specifies the maximum size limit of the incoming queue.

bytes

The bytes parameter specifies the number of bytes which, when added to the gbytes parameter, specifies the maximum size limit of the incoming queue.

Class

DbEnv

See Also

Replication and Related Methods