'net replicate' issues - update
Kamen Mazdrashki
kamenim at samba.org
Thu Aug 26 16:32:38 MDT 2010
Hi Tridge,
On Fri, Aug 27, 2010 at 00:59, <tridge at samba.org> wrote:
> Hi Kamen,
>
> > 'kccsrv' creates topology and related attributes correctly, but....
> after
> > 'dreplsrv' refreshes partitions.
> > So we have something like this:
> > 1. DREPL: dreplsrv_refresh_partitions() - at this point repsFrom values
> are
> > empty
> > 2. KCC: kccsrv_simple_update() - kcc set values for repsFrom
> > 3. DREPL: drepl_replica_sync() gets called - nothing happens dreplsrv
> > knows nothing about current topology
>
> ahh, ok.
>
> > Simple workaround is to:
> > 1. move dreplsrv_refresh_partitions() call before scheduling partitions
> pull
> > in dreplsrv_periodic module
> > 2. call dreplsrv_refresh_partitions() while processing
> drepl_replica_sync()
>
> I think we need a notification from the KCC to drepl telling it to
> reload partitions when it has made any changes.
>
> Just changing the order will help the startup problem, but it won't
> fix things when the topology changes at runtime due to a new DC being
> added.
>
> So the simple solution is a new async message sent from the KCC to
> drepl telling it to refresh.
>
> This is how I intended to fix it although, while implementing it,
I thought
may be better solution is to register a message handler in dreplsrv.
This way we could just notify dreplsrv to refresh its caches (the same
way you implemented rid_allocation requests).
What do you thing about notifying dreplsrv from a module in ldb stack?
We could monitor repsFrom/repsTo and if value is changed, dreplsrv gets
notified?
--
CU,
Kamen
More information about the samba-technical
mailing list