#48992 Total init may fail if the pushed schema is rejected
Closed: Fixed None Opened 2 years ago by tbordaz.

Environment

Supplier
ipa3.0
389-ds_1.2.11.15-78

Consumer 
ipa4.4.0-12.el7
389-ds_1.3.5.10-11.el7

During a total update, in the case that the supplier schema is a subset of the consumer schema, the pushed schema is rejected (UNWILLING_TO_PERFORM).

On the server side, the failure of the schema push is not fatal to the total update that continues.
On the consumer side, the failure triggers the closure of the connection. In fact since https://fedorahosted.org/389/ticket/47788, UNWILLING_TO_PERFORM of a replicated update is considered as a fatal error => close connection.

So the server can not complete total update because the consumer closes the connection


Please help me understand your fix.

The reason why you changed the error code from UNWILLING TO PERFORM to CONSTANT VIOLATION is to move is to make the error case into the ignore_error_and_keep_going group?

I just did a quick search to find ignore_error_and_keep_going is not directly called in repl5_total.c and repl5_tot_protocol.c. Is it called indirectly from somewhere else?

Thanks!

Hi Noriko,

Thank you very much reviewing this fix. You are right the first patch was missing some details why and how the failure occurs. I prepared a new patch (same fix) with more description.
https://fedorahosted.org/389/attachment/ticket/48992/0002-Ticket-48992-Total-init-may-fail-if-the-pushed-schem.patch

thanks

Thanks for your thorough explanation, Thierry! Now you have my ack. But it seems there is an investigation request from Ludwig in the email thread. I'm leaving the Review status untouched...

Bug fix reviewed by Noriko/Ludwig

'''Master'''

Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.95 KiB | 0 bytes/s, done.
Total 6 (delta 4), reused 0 (delta 0)
To ssh://git.fedorahosted.org/git/389/ds.git
b3a1675..1b48622 master -> master

commit 1b48622
Author: Thierry Bordaz tbordaz@redhat.com
Date: Thu Sep 22 20:48:13 2016 +0200

'''389-ds-base-1.3.5'''
Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.97 KiB | 0 bytes/s, done.
Total 6 (delta 4), reused 0 (delta 0)
To ssh://git.fedorahosted.org/git/389/ds.git
89b3381..e2bc8fd 389-ds-base-1.3.5 -> 389-ds-base-1.3.5

commit e2bc8fd
Author: Thierry Bordaz tbordaz@redhat.com
Date: Thu Sep 22 20:48:13 2016 +0200

Metadata Update from @tbordaz:
- Issue assigned to tbordaz
- Issue set to the milestone: 1.3.5.14

2 years ago

Login to comment on this ticket.

Metadata