RE: Operations crossing replication contexts

"Steven Legg" <[email protected]>
Newsgroups gmane.ietf.ldup
Message-ID <[email protected]>

John,

John Strassner wrote:
> Hmmm, just when I was about to call to see if all of the comments were
> finished on URP, up pops this message. So I have a quick 
> question to John,
> Steven, and others that are interested in this thread: is it 
> your aim to
> resolve this question as part of the URP Last Call, or is 
> this something
> that you think affects other documents than URP?

The question of immediate relevance to the last call on URP is whether
there is a single Lost & Found per server, or per replication context.
However there is a more general problem that the current LDUP documents
don't adequately address partial replication. I regard two or more
replication contexts held in the same server as an example of partial
replication since moving an entry between replication contexts is
essentially the same problem as a modification altering whether an entry
appears in a sparse replica. We don't have a documented solution in
either case.

If the current LDUP specification can only be effectively implemented
for servers holding one replication context and participating in no
partial replication agreements then the question of whether there is
one L&F per server or one L&F per replication context is rather academic
since the total is one in both cases.

The choice before us is to either:

(1) Issue a first round of LDUP RFCs that address the particular case
of only one replication context per server and no partial replication
agreements. We can issue a second round of RFCs that updates the first
set once we have a general solution for partial replication. Apart
from the amendments discussed during the last call period, URP is ready
for such a first round.

OR

(2) Not issue any RFCs until we have a solution for partial replication.

It is likely that a general solution for partial replication will have
some impact on URP. I don't envision any changes to the existing
procedures for processing replication primitives, but there might need
to be some extra primitives, and the procedures for applying user updates
will have to address changes that span multiple areas of replication.


Recently I've been thinking seriously again about LDUP partial replication.
In order to give an indication of the sort of impact partial replication
will make, here is a summary of some changes that would need to be made
to the LDUP architecture to apply the most promising ideas I've been
kicking around.

(i) Hierarchically identified replication areas (RAs). RAs form
subset/superset relationships. Servers enter into agreements to
replicate specific identified RAs. The RA has to exist before the
replication agreement is created.

(ii) An update vector per RA instead of per server. This gets around
severe restrictions on topology imposed by the Update Vector and
facilitates expedited changes.

(iii) Tagging replication primitives with the identifier of the RA
where the original client update was performed and restricting the
flow of replication primitives from servers holding subset RAs to
servers holding superset RAs.

(iv) Tagging each entry with the RAs it currently appears in
(it could be an operational attribute). Entries moving in and
out of scope of an RA are explicitly indicated by modifying the
tags. This is where extra replication primitives might come in.

At the moment I not sure if a have a foolproof way for a server
holding a subset RA to get all the relevant content for an entry
that has just moved into the scope of the subset RA. Glue entries
in sparse replicas also complicate the picture. I'm looking at
both a "push" model where the server holding the superset RA sends
the entry contents it *thinks* the server holding the subset RA
*might* need, and a "pull" model where the server holding the
subset RA asks the server holding the superset RA for the information
it believes is missing. Either method implies extensions to the
replication protocol.

When I think I have a workable solution I'll write up the details
and post to the list.

Regards,
Steven
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.