Commits (3)
......@@ -18,6 +18,7 @@ OpenLDAP 2.5.5 Engineering
Fixed slapd syncrepl searches with empty base (ITS#6467)
Fixed slapd syncrepl refresh on startup (ITS#9324, ITS#9534)
Fixed slapd-asyncmeta quarantine handling (ITS#8721)
Fixed slapd-asyncmeta to have a default operations timeout (ITS#9555)
Fixed slapd-ldap quarantine handling (ITS#8721)
Fixed slapd-mdb deletion of context entry (ITS#9531)
Fixed slapd-meta quarantine handling (ITS#8721)
......
......@@ -446,6 +446,8 @@ Operations can be
\fB<op> ::= bind, add, delete, modrdn, modify, compare, search\fP
By default, the timeout for all operations is 2 seconds.
See
.B slapd\-meta(5)
for details.
......
......@@ -326,13 +326,15 @@ typedef struct a_metatarget_t {
#define META_BACK_TGT_NOREFS(mt) META_BACK_TGT_ISSET( (mt), LDAP_BACK_F_NOREFS )
#define META_BACK_TGT_NOUNDEFFILTER(mt) META_BACK_TGT_ISSET( (mt), LDAP_BACK_F_NOUNDEFFILTER )
#define META_BACK_CFG_MAX_PENDING_OPS 0x80
#define META_BACK_CFG_MAX_TARGET_CONNS 0xFF
#define META_BACK_CFG_MAX_PENDING_OPS 0x80
#define META_BACK_CFG_MAX_TARGET_CONNS 0xFF
#define META_BACK_CFG_DEFAULT_OPS_TIMEOUT 0x02
/* the interval of the timeout checking loop in microseconds
* possibly make this configurable? */
#define META_BACK_CFG_MAX_TIMEOUT_LOOP 0x70000
#define META_BACK_CFG_MAX_TIMEOUT_LOOP 0x70000
slap_mask_t mt_rep_flags;
int mt_timeout_ops;
int mt_timeout_ops;
} a_metatarget_t;
typedef struct a_metadncache_t {
......
......@@ -1177,7 +1177,7 @@ asyncmeta_back_cf_gen( ConfigArgs *c )
case LDAP_BACK_CFG_TIMEOUT:
for ( i = 0; i < SLAP_OP_LAST; i++ ) {
if ( mc->mc_timeout[ i ] != 0 ) {
if ( mc->mc_timeout[ i ] != META_BACK_CFG_DEFAULT_OPS_TIMEOUT ) {
break;
}
}
......
......@@ -149,6 +149,10 @@ asyncmeta_back_db_init(
mi->mi_nretries = META_RETRY_DEFAULT;
mi->mi_version = LDAP_VERSION3;
for ( i = 0; i < SLAP_OP_LAST; i++ ) {
mi->mi_timeout[ i ] = META_BACK_CFG_DEFAULT_OPS_TIMEOUT;
}
for ( i = LDAP_BACK_PCONN_FIRST; i < LDAP_BACK_PCONN_LAST; i++ ) {
mi->mi_conn_priv[ i ].mic_num = 0;
LDAP_TAILQ_INIT( &mi->mi_conn_priv[ i ].mic_priv );
......