dirsrvtests/tickets/ticket48226_test.py | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
New commits:
commit e8ce19a987fce434de0d1e93bda4d5fad5b2f7ad
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Sep 9 18:27:31 2015 -0700
Ticket #48226 - CI test: fixing test case for ticket 48226
Description: commit f5d24450477f8341261c3e5cb5c54ec1ab83328f had an
issue in valgrind check. The script calls valgrind_check_leak twice,
in which the server is stopped. Before calling the second valgrind_
check_leak, the server (master 2) has to be restarted. Also, "Invalid"
is reported after another server (master 1) is restarted. To capture
it, start master 1 before calling the second valgrind_check_leak.
diff --git a/dirsrvtests/tickets/ticket48226_test.py b/dirsrvtests/tickets/ticket48226_test.py
index 87814e7..a7bafba 100644
--- a/dirsrvtests/tickets/ticket48226_test.py
+++ b/dirsrvtests/tickets/ticket48226_test.py
@@ -205,6 +205,13 @@ def test_ticket11111_1(topology):
else:
log.info('test_csnset_dup: No leak is present!')
+ topology.master2.start(10)
+
+ # Disnable valgrind
+ valgrind_disable(sbin_dir)
+
+ topology.master1.start(10)
+
if valgrind_check_leak(topology.master2, 'Invalid'):
log.info('Valgrind reported invalid!')
else:
@@ -213,11 +220,6 @@ def test_ticket11111_1(topology):
#log.info("You can attach yourself")
#time.sleep(60)
- # Enable valgrind
- valgrind_disable(sbin_dir)
-
- topology.master1.start(10)
-
def test_ticket11111_final(topology):
topology.master1.delete()
--
389 commits mailing list
389-commits@%(host_name)s
http://lists.fedoraproject.org/postorius/389-commits@lists.fedoraproject.org
VERSION.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 670629e9a2e7537e840c0e5a5597c0ca7faffb7b
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Fri Sep 4 13:54:08 2015 -0700
bump version to 1.3.3.13
diff --git a/VERSION.sh b/VERSION.sh
index 5ab6022..1ae68d2 100644
--- a/VERSION.sh
+++ b/VERSION.sh
@@ -10,7 +10,7 @@ vendor="389 Project"
# PACKAGE_VERSION is constructed from these
VERSION_MAJOR=1
VERSION_MINOR=3
-VERSION_MAINT=3.12
+VERSION_MAINT=3.13
# if this is a PRERELEASE, set VERSION_PREREL
# otherwise, comment it out
# be sure to include the dot prefix in the prerel
--
389 commits mailing list
389-commits@%(host_name)s
http://lists.fedoraproject.org/postorius/389-commits@lists.fedoraproject.org
VERSION.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit d5363deac6c3c81e1f0c4bbf2706db5e8c761311
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Fri Sep 4 13:13:34 2015 -0700
bump version to 1.3.4.4
diff --git a/VERSION.sh b/VERSION.sh
index ddefa71..79d7624 100644
--- a/VERSION.sh
+++ b/VERSION.sh
@@ -10,7 +10,7 @@ vendor="389 Project"
# PACKAGE_VERSION is constructed from these
VERSION_MAJOR=1
VERSION_MINOR=3
-VERSION_MAINT=4.3
+VERSION_MAINT=4.4
# if this is a PRERELEASE, set VERSION_PREREL
# otherwise, comment it out
# be sure to include the dot prefix in the prerel
--
389 commits mailing list
389-commits@%(host_name)s
http://lists.fedoraproject.org/postorius/389-commits@lists.fedoraproject.org
ldap/servers/plugins/replication/repl5_tot_protocol.c | 26 +++++++++++++++---
1 file changed, 22 insertions(+), 4 deletions(-)
New commits:
commit e577ea612abfb7b8c1b2e1d59a4b9540974edc1c
Author: Ludwig Krispenz <lkrispen(a)redhat.com>
Date: Fri Sep 4 15:59:27 2015 +0200
Ticket 48255- total update request can be lost
Bug Description: if the initial replica acquire fails the
protocol switches to incremental update
but the database has not been initialized and
the incremental update will als fail continously
Fix Description: for transient failures do a few retries.
https://fedorahosted.org/389/ticket/48255
Reviewed by: Noriko, thanks
diff --git a/ldap/servers/plugins/replication/repl5_tot_protocol.c b/ldap/servers/plugins/replication/repl5_tot_protocol.c
index d9401cf..da73ac4 100644
--- a/ldap/servers/plugins/replication/repl5_tot_protocol.c
+++ b/ldap/servers/plugins/replication/repl5_tot_protocol.c
@@ -306,7 +306,9 @@ repl5_tot_waitfor_async_results(callback_data *cb_data)
* total update protocol OID and supplier's ruv.
* - Send a series of extended operations containing entries.
* - send an EndReplicationRequest extended operation
- */
+ */
+#define INIT_RETRY_MAX 5
+#define INIT_RETRY_INT 1
static void
repl5_tot_run(Private_Repl_Protocol *prp)
{
@@ -318,6 +320,7 @@ repl5_tot_run(Private_Repl_Protocol *prp)
int portnum = 0;
Slapi_DN *area_sdn = NULL;
CSN *remote_schema_csn = NULL;
+ int init_retry = 0;
PR_ASSERT(NULL != prp);
@@ -331,17 +334,32 @@ repl5_tot_run(Private_Repl_Protocol *prp)
/* acquire remote replica */
agmt_set_last_init_start(prp->agmt, current_time());
+retry:
rc = acquire_replica (prp, REPL_NSDS50_TOTAL_PROTOCOL_OID, NULL /* ruv */);
/* We never retry total protocol, even in case a transient error.
This is because if somebody already updated the replica we don't
want to do it again */
+ /* But there are scenarios where a total update request could completely
+ * be lostif the initial acquire fails: do a few retries for transient
+ * errors.
+ */
if (rc != ACQUIRE_SUCCESS)
{
- int optype, ldaprc;
+ int optype, ldaprc, wait_retry;
conn_get_error(prp->conn, &optype, &ldaprc);
- agmt_set_last_init_status(prp->agmt, ldaprc,
+ if (rc == ACQUIRE_TRANSIENT_ERROR && INIT_RETRY_MAX > init_retry++) {
+ wait_retry = init_retry * INIT_RETRY_INT;
+ slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name, "Warning: unable to "
+ "acquire replica for total update, error: %d,"
+ " retrying in %d seconds.\n",
+ ldaprc, wait_retry);
+ DS_Sleep(PR_SecondsToInterval(wait_retry));
+ goto retry;
+ } else {
+ agmt_set_last_init_status(prp->agmt, ldaprc,
prp->last_acquire_response_code, 0, NULL);
- goto done;
+ goto done;
+ }
}
else if (prp->terminate)
{
--
389 commits mailing list
389-commits@%(host_name)s
http://lists.fedoraproject.org/postorius/389-commits@lists.fedoraproject.org
ldap/servers/plugins/replication/repl5_tot_protocol.c | 26 +++++++++++++++---
1 file changed, 22 insertions(+), 4 deletions(-)
New commits:
commit 411ed8590f49b2b02ebb68d4f7819d28b6602221
Author: Ludwig Krispenz <lkrispen(a)redhat.com>
Date: Fri Sep 4 15:59:27 2015 +0200
Ticket 48255- total update request can be lost
Bug Description: if the initial replica acquire fails the
protocol switches to incremental update
but the database has not been initialized and
the incremental update will als fail continously
Fix Description: for transient failures do a few retries.
https://fedorahosted.org/389/ticket/48255
Reviewed by: Noriko, thanks
diff --git a/ldap/servers/plugins/replication/repl5_tot_protocol.c b/ldap/servers/plugins/replication/repl5_tot_protocol.c
index d9401cf..da73ac4 100644
--- a/ldap/servers/plugins/replication/repl5_tot_protocol.c
+++ b/ldap/servers/plugins/replication/repl5_tot_protocol.c
@@ -306,7 +306,9 @@ repl5_tot_waitfor_async_results(callback_data *cb_data)
* total update protocol OID and supplier's ruv.
* - Send a series of extended operations containing entries.
* - send an EndReplicationRequest extended operation
- */
+ */
+#define INIT_RETRY_MAX 5
+#define INIT_RETRY_INT 1
static void
repl5_tot_run(Private_Repl_Protocol *prp)
{
@@ -318,6 +320,7 @@ repl5_tot_run(Private_Repl_Protocol *prp)
int portnum = 0;
Slapi_DN *area_sdn = NULL;
CSN *remote_schema_csn = NULL;
+ int init_retry = 0;
PR_ASSERT(NULL != prp);
@@ -331,17 +334,32 @@ repl5_tot_run(Private_Repl_Protocol *prp)
/* acquire remote replica */
agmt_set_last_init_start(prp->agmt, current_time());
+retry:
rc = acquire_replica (prp, REPL_NSDS50_TOTAL_PROTOCOL_OID, NULL /* ruv */);
/* We never retry total protocol, even in case a transient error.
This is because if somebody already updated the replica we don't
want to do it again */
+ /* But there are scenarios where a total update request could completely
+ * be lostif the initial acquire fails: do a few retries for transient
+ * errors.
+ */
if (rc != ACQUIRE_SUCCESS)
{
- int optype, ldaprc;
+ int optype, ldaprc, wait_retry;
conn_get_error(prp->conn, &optype, &ldaprc);
- agmt_set_last_init_status(prp->agmt, ldaprc,
+ if (rc == ACQUIRE_TRANSIENT_ERROR && INIT_RETRY_MAX > init_retry++) {
+ wait_retry = init_retry * INIT_RETRY_INT;
+ slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name, "Warning: unable to "
+ "acquire replica for total update, error: %d,"
+ " retrying in %d seconds.\n",
+ ldaprc, wait_retry);
+ DS_Sleep(PR_SecondsToInterval(wait_retry));
+ goto retry;
+ } else {
+ agmt_set_last_init_status(prp->agmt, ldaprc,
prp->last_acquire_response_code, 0, NULL);
- goto done;
+ goto done;
+ }
}
else if (prp->terminate)
{
--
389 commits mailing list
389-commits@%(host_name)s
http://lists.fedoraproject.org/postorius/389-commits@lists.fedoraproject.org