RE: Replica Management - subtreespecification attribute

"Timothy Hahn" <[email protected]>
Newsgroups gmane.ietf.ldup
Message-ID <[email protected]>
Hi all,

Sorry for being silent for awhile on this topic - too many things to do.

I've put some comments below with <TJH> ... </TJH>

I have NOT updated the infomod document yet, we'll see how this line of
discussion pans out before I do that.

Regards,
Tim Hahn

Internet: [email protected]
Internal: Timothy Hahn/Endicott/IBM@IBMUS or IBMUSM00(HAHNT)
phone: 607.752.6388     tie-line: 8/852.6388
fax: 607.752.3681



                                                                                                                                       
                      "Ed Reed"                                                                                                        
                      <[email protected]        To:       <[email protected]>, <[email protected]>                            
                      M>                       cc:       <[email protected]>                                                           
                      Sent by:                 Subject:  RE: Replica Management - subtreespecification attribute                       
                      owner-ietf-ldup@m                                                                                                
                      ail.imc.org                                                                                                      
                                                                                                                                       
                                                                                                                                       
                      02/26/2002 10:04                                                                                                 
                      AM                                                                                                               
                                                                                                                                       
                                                                                                                                       




I can't tell if concensus was reached on this or not, so I'll bring it up
again...

The purpose of placing the subtree specification, along with other scoping
information, onto the replicaSubentry was precisely to create a single
entry
that would define the replication context.
<TJH>
I agree with this.
</TJH>

The purpose of allowing additional scoping information to refine what is
to be passed along certain replicationAgreements between particular
replicas was to control the flow of changes across certain links in the
replica topology.  By refinement, I mean further contraint.
ReplicaAgreements
inherit, by subordination in the namespace, the knowledge about
what entries and attributes are contained in the replica they're
subordinate
to, and to which they refer (by the very DN syntax method you suggest).
<TJH>
I don't agree with this "subtle change in usage" of the
subtreespecification
setting in the replicationAgreement entries.  Why?  I guess I just see this
as
too confusing.  I'm sort of "on the fence" on this one, so I could be
convinced otherwise I guess.  What's the consensus?
</TJH>

If my proposed model of name subordination is abandoned for
replicaAgreements,
then of course, there will need to be a DN reference to the second endpoint
of
the replicaAgreement association (falling into DEN-eese, here).  Or to all
of them,
if it's to be multivalued.

Tim - have we decided to move away from hierarchical subentries, so as to
more completely and "purely" embrace the X.501 subentry syntax?
<TJH>
I have NOT moved away from name subordination - I still think it is a good
idea to make use of the hierachy of entries to organize these.
</TJH>

If so, you'll wind up with a "bag" of replicaSubentries, together with a
"bag"
of replicationAgreements, all necessarily shared/known by all replicas,
with
some arbitrary graph where replicaSubentries are nodes of the graph and
replicationAgreements are the edges.  It will then be encombant on
administrators (and their tools) to ensure that the graph remains
connected,
that there are no black holes (replicaSubentries which are updateable but
have no outbound path of propagating changes to others), etc.  In
otherwords,
that there remains a "correct" graph, for some definition of "correct".

I must say I dislike designs that place the responsibility for insuring
"correct"
deployment on the administrators.  I much prefer designs which create
systems that are correct to begin with, and that can then be broken, if
necessary, with enough mule-headed persistance of those administrators.

Anyway.

Rick - I think your desire for an entry, somewhere, that describes the
replication context (scope) that will be shared by all the
replicaSubentries
(and possibly refined by them) is a good one.  In the absense of a
"primary"
replica (my preferred method of solving this problem), I suggest that a
subentry be defined that explicitly is used to designate the anchor point
for the ldup administrative area that coincides with the replication
context.
<TJH>
I've been hoping, perhaps naively, that the update reconciliation rules and
update replication protocol itself would be used to transfer the subentry
information between servers as well, allowing the "administration point"
to contact the server of its choice (within bounds of course) in
setting things up.  I've been reluctant to require the designation of any
one server in the replication topology as the "master master" or "primary
master", in hopes that the LDUP models would allow administration of
topology to be done in a distributed manner as well.
</TJH>

For clarity, here, I reproduce from memory what I mean by those words...

A replication context is a partion of the DIT for which there are one or
more replicas.  Each replica is represented by a replicationSubentry
immediately subordinate to the base entry of the replication context.
Replicas of the replication context may be full or partial.  If they are
administratively constrained to hold less than the full replication context
(ie, all the entries and all their attributes in the partion of the DIT
represented by the replication context), the refinements (constraints)
for each replica are represented by filters on the respective
replicaSubentry
for that replica.  Note that I'm explicitly using terminology here to
preclude the notion that a replica holds MORE than ALL the entries
and attributes of the DIT, because that seems nonsensical.  The data in the
DIT is the data in the DIT.

(Aside - if the replica context EXPLICITLY
lists the entries or attributes, by including filters in its very
definition, then
it is effectively PROHIBITING subordinate replicas from holding information
not permitted in those filters.  On the other hand, if it's not prohibited,
as would be the case when there are no filters on the replica context
definition, then subordinate replicas MIGHT define schema elements
locally that THEY can hold, but which cannot be held by other replicas
unless the changes to the schema can be propagated via LDUP - which
may or may not be possible, depending on the replication agreements
and constraints defined on those other replicas).
<TJH>
In light of what I said above, perhaps replication and/or subentry
information must be replicated all the time, without regard to the
scoping and filtering done for "other entries".  Further, administration
of topology MUST be performed on SOME server that will allow this
information to "eventually appear" on ALL servers in the topology (e.g.
you can't administer replication agreements on a server that is
not configured to replicate TO anyone else)
</TJH>

As aluded to, above, replicationAgreements, which document the
dataflow between replicas, may themselves have constraints as to
the entries and/or attributes which may be passed across them.  Again,
though, those constraints, if present, cannot by definition exceed the
set of entries and attributes permitted by replica context definition
(however
it is represented).  So, again, if the replica context definition is
permissive,
subordinate replicas and their replicationAgreements can create local
extensions of the schema they share among themselves.  But if
explicitly defined through constraints, the replica context schema
definition
cannot be expanded upon in ways to permit in a replica or
replicationAgreement
what is prohibited by the replica context definition.

Make sense?

Ed

=================
Ed Reed
Reed-Matthews, Inc.
+1 585 624 2402
http://www.Reed-Matthews.COM
Note:  Area code is 585

>>> "Steven Legg" <[email protected]> 01/28/02 11:45PM >>>


Rick,

Richard V Huber wrote:
> We noted in a previous email that, to allow overlapping areas of
> replication, we feel that an area of replication is defined by a
> replicaSubentry.  The replicaSubentry defines the boundary of the area
> via the subtreespecification attribute.

Note that a subtree specification identifies a collection of entries,
but not a subset of the attributes within them. That is, it specifies the
sparseness of a partial replica. Something else in addition to the subtree
specification is required to specify the fractionalness of a partial
replica,
i.e. the attributeExclusionFilter and attributeInclusionFilter attributes.

Regarding terminology, you appear to be using "area of replication" to mean
some part, possibly but not necessarily all, of the information in a
replication
context. Thus a single replication context can have more than one area
of replication within its scope. This is what I assume it means, however
areas of replication (a.k.a replication areas) are not defined in the
architecture and model drafts and tend to be used as synonyms for
"replication context".


> Because a subtreespecification may need to be shared across a
> number of
> subentries (e.g. all the replicaSubentries that refer to a common area
> of replication), we would like to have a single subtreespecification
> that can be referenced from multiple subentries.  Accordingly, we
> would like to change the subentry objectclass to use
> subtreeSpecificationDN and allow the subtree specification to
> be stored
> as a separate entry which can be referenced as needed.

This separate (sub?)entry would contain the attributeExclusionFilter and
attributeInclusionFilter attributes as well.

An alternative to a subtreeSpecificationDN attribute would be to place
the replica subentries subordinate to the (sub)entry describing their
area of replication.

Either way, I would support making such a change to the information model.

Regards,
Steven

>
> This may be useful in other cases where a single subtreespecification
> needs to be used consistently in several places.
>nis effectively PROHIBITING subordinate r
> Rick Huber
> John McMeeking
> Ryan Moats
>
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.