'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