MIT Incremental Propagation
Ken Hornstein
kenh at cmf.nrl.navy.mil
Fri Sep 21 20:49:05 EDT 2007
>Ubik is an elected-master protocol. All updates go to the master
>which replicates. If the master goes away, after a while the
>remaining nodes notice and revote a new master (this can take a while).
>
>I'm not sure that model works well with the KDC's single-threadedness.
>
>I expect a 3-phase commit model would be more robust.
I think you're conflating the master election protocol with the
transaction protocol. You still need to decide on a master (aka
"coordinator") with 2PC or 3PC. While Ubik does both the database
election and transaction protocol, this isn't really required. And
from looking at the description of 3PC, I think Ubik as implemented
today would be considered 3PC, since transactions are aborted if a new
master needs to be elected.
Of course you wouldn't want to use Ubik as currently implemented today,
unless you really like having a dependency on AFS LWP & Rx. I actually
wrote a completely new implementation of Ubik at one point ... the
recovery phase didn't quite work right, but I got busy with other things
before I could finish it.
As an aside ... I think the issue of the KDC being single/multithreaded
is a red herring. I don't see a reason why the database update process
has to be part of the KDC process. If you just restrict the multithreaded
parts to a seperate database update daemon, it shouldn't be a problem.
--Ken
More information about the Kerberos
mailing list