On 2017-10-06 10:03:37, Nico Williams wrote:
> Trungcating the log is not the same thing as resetting it, and preserves
> the version number.

To summarize this tread: The --reset flag should currently not be used
in a production systems since ipropd-master is unable to parse the
resulting log file.

In general the concensus seems to be that version numbers never
decrement during normal operations. If you need to trigger a full dump you
should do normal truncations on the master preserving few enough entries
that slaves are unable to catch up and probably --reset the log on
slaves so they do not think they can get away with just fetching the
delta.

Since loading a database dump using "kadmin -l load <dumpfile>" does not
increment the iprop log version, this means that if you are migrating to
a new master which has no log you will need to do something like this:

#1. Stop the current master.
#2. Dump the database on the current master.
#3. Load the database on the new master.
#4. Do some random modification of the database on the new master via
    kadmin -l in order to set the log version to at least 2.
#5. Make sure the log history does not look complete since this
    means a fresh slave (at version 0) will just try to get the delta:
    iprop-log truncate --keep-entries=1
#6. Start processes on the new master.
#7. Point slaves to the new master. They will now either have a log
    version greater than the master, and hence be considered out of sync, or 
they
    will be at version 0, unable to reach version 2 via log entries
    since version 1 was removed from the log in step #5.

Regards,
Patrik Lundin

Reply via email to