Back to bug 1294770

Who When What Removed Added
Noriko Hosoi 2016-01-18 20:03:37 UTC CC mreynolds
Status NEW POST
Status POST MODIFIED
Fixed In Version 389-ds-base-1.2.11.15-72.el6
errata-xmlrpc 2016-01-18 20:09:31 UTC Status MODIFIED ON_QA
Noriko Hosoi 2016-01-18 20:48:39 UTC Doc Text Cause:
If a replicated update fails on the consumer, the update is never tried. This is due to the replication async result thread missing the failure before another update is replicated and it succeeds.

Consequence:
This second update that succeeds updates the consumer RUV. This makes it appear that the consumer is caught up, and the supplier never resends that original failed update.

Fix:
When a replicated update fails, and its an error we can not ignore, the connection is closed. Which stops the replication session, and prevents any further updates coming in and updating the consumer RUV. This allows the supplier to correctly retry the operation that failed on the next replication session.

Result:
Even if a replication failure occurs, there is no missing change in the consumer.
Noriko Hosoi 2016-02-02 17:03:28 UTC Status ON_QA ASSIGNED
Noriko Hosoi 2016-02-11 17:24:23 UTC CC tbordaz
Noriko Hosoi 2016-02-12 22:34:06 UTC Status ASSIGNED POST
Noriko Hosoi 2016-02-12 23:00:36 UTC Status POST MODIFIED
Fixed In Version 389-ds-base-1.2.11.15-72.el6 389-ds-base-1.2.11.15-73.el6
Noriko Hosoi 2016-02-12 23:32:59 UTC Status MODIFIED ON_QA
Simon Pichugin 2016-03-23 10:04:17 UTC Status ON_QA VERIFIED
CC spichugi
Petr Bokoc 2016-04-22 13:43:23 UTC CC pbokoc
Docs Contact pbokoc
Petr Bokoc 2016-04-28 14:14:24 UTC Doc Text Cause:
If a replicated update fails on the consumer, the update is never tried. This is due to the replication async result thread missing the failure before another update is replicated and it succeeds.

Consequence:
This second update that succeeds updates the consumer RUV. This makes it appear that the consumer is caught up, and the supplier never resends that original failed update.

Fix:
When a replicated update fails, and its an error we can not ignore, the connection is closed. Which stops the replication session, and prevents any further updates coming in and updating the consumer RUV. This allows the supplier to correctly retry the operation that failed on the next replication session.

Result:
Even if a replication failure occurs, there is no missing change in the consumer.
Replication failures no longer result in missing changes after additional updates

Previously, if a replicated update failed on the consumer side, it was never retried due to a bug in the replication asynchronous result thread which caused it to miss the failure before another update was replicated successfully. The second update also updated the consumer Replica Update Vector (RUV), and the first (failed) update was lost. In this release, replication failures cause the connection to close, stopping the replication session and preventing any subsequent updates from updating the consumer RUV, which allows the supplier to retry the operation in the next replication session. No updates are therefore lost.
errata-xmlrpc 2016-05-09 16:01:46 UTC Status VERIFIED RELEASE_PENDING
errata-xmlrpc 2016-05-10 19:22:35 UTC Status RELEASE_PENDING CLOSED
Resolution --- ERRATA
Last Closed 2016-05-10 15:22:35 UTC
Têko Mihinto 2017-01-02 12:59:59 UTC CC tmihinto
Simon Pichugin 2020-09-13 21:04:26 UTC Link ID Github 389ds/389-ds-base/issues/1119

Back to bug 1294770