krb5 1.13 Replication enhancements

Richard Basch basch at alum.mit.edu
Wed Oct 1 21:22:26 EDT 2014


I have uploaded my commits to github (I am still testing, but I am
reasonably in my git commit)

See https://github.com/rbasch/krb5/wiki/1.13-Replication-enhancements

 

Basically, this uplifts the 1.13-beta1 code base to the same level as I
previously provided as an enhancement for 1.12, specifically:

- Do not require the DB first_sno to be present in the ulog (this avoids
extraneous db resyncs to downstream slaves)

- Implement downstream slave notification when ulog is updated.

 

The following are my GIT commits, but it may be better to reference the
commits via the wiki in case I have to apply another fix and rebase.

 

Allow kdb_first_* not to be present in the ulog

https://github.com/rbasch/krb5/commit/ce238c4a19e117caedc7ce53f4780270b86d52
1c      

 

Notify downstream slaves of pending ulog updates

https://github.com/rbasch/krb5/commit/db0c450f6c09f4623bff3c3aff16794ba4e2c7
63      

 

 

-----Original Message-----

From: Richard Basch [ <mailto:basch at alum.mit.edu> mailto:basch at alum.mit.edu]

Sent: Tuesday, September 30, 2014 3:26 PM

To: 'Greg Hudson'; 'tlyu at mit.edu'

Cc: 'kayla.c.harrison at gmail.com'

Subject: RE: krb5-1.13-beta1 iprop

 

Yeah, re #2... I originally went through all the code which I could find
which pertained to the ulog parsing... the only other change I had was in
kproplog at the time so that it wouldn't overrun a missing entry. I had
added some defensive checks in my original code to only allow for 1 missing
entry, but upon a ulog wrap, it would reset the number.

 

I'll try to re-incorporate all of this...

 

 

-----Original Message-----

From: Greg Hudson [ <mailto:ghudson at mit.edu> mailto:ghudson at mit.edu]

Sent: Tuesday, September 30, 2014 2:58 PM

To: Richard Basch;  <mailto:tlyu at mit.edu> tlyu at mit.edu

Cc:  <mailto:kayla.c.harrison at gmail.com> kayla.c.harrison at gmail.com

Subject: Re: krb5-1.13-beta1 iprop

 

On 09/30/2014 01:30 PM, Richard Basch wrote:

> If you want, I believe I can have patches for 1.13 beta in the next 

> couple days and publish them to github. In essence, there should be no 

> changes to command-line arguments at this point, since you have iprop 

> tree-based propagation already available.

> 

> Will that help?

 

Yes, that will provide a better starting point.

 

> Preliminary testing also suggests that it may be causing an extraneous 

> full resync (I had this problem in one of my early implementations 

> too). I suspect you are resetting the first_sno when you get your 

> first ulog entry (my 1.12 patches avoided resetting the first_sno 

> until it wrapped so that the first "dump/restore" would not be 

> followed by a second one if there were no additional ulog entries to 

> apply).  I am not certain if this is what is going on, but some 

> preliminary testing suggested such (again, I haven't looked at the 

> 1.13

code yet).

 

See item #2 in

 
<http://k5wiki.kerberos.org/wiki/Projects/Hierarchical_iprop#Related_problem
s>
http://k5wiki.kerberos.org/wiki/Projects/Hierarchical_iprop#Related_problems

 

Your implementation had a workaround for this issue, but it broke (at

least) the detection of ulog size changes.  I ran out of time to design a
better workaround.

 



More information about the krbdev mailing list