[Gluster-devel] Glusterd 'Management Volume' proposal
Jeff Darcy
jdarcy at redhat.com
Wed Dec 3 19:33:59 UTC 2014
> 1) With the current scheme in glusterd the O(N^2) is because the
> configuration is replicated to every peer in the cluster, correct?
No, the O(n^2) behavior is for the probe/heartbeat stuff. Config
replication is only O(n) but it's problematic because it doesn't
handle partitions and consistency very well.
> - We do have the limitation now that some clients _may_ not have got the
> latest graph (one of the configuration items here), with the new
> proposal, is there any thought regarding resolving the same? Is it
> required? I assume brick nodes, have this strict enforcement today as
> well as in the future.
What I would expect is that the *servers* hear about updates through
some sort of "watch" mechanism, then each is responsible for notifying
its own clients. Note that a client which is connected to multiple
servers might therefore get multiple notifications for the same event,
so we need to recognize that a "change" to the same graph as before is
a no-op and respond accordingly (which I believe we already do).
> 2) With a >1000 node setup, is it intended that we have a cascade
> functionality to handle configuration changes? I.e there are a defined
> set of _watchers_ to the configuration cluster, and each in turn serve a
> set of peers for their _watch_ functionality?
>
> This maybe an overkill (i.e requiring cascading), but is it required
> when we consider cases like Geo-rep or tiers in different data centers
> etc. that need configuration updates and all of them watching the
> configuration cluster maybe a problem requiring attention?
Cascading seems like overkill as long as we're talking about simple
notification and not some more complex sort of thing like 2PC. A
single config server notifying 1000 other servers directly shouldn't
be all that big a deal.
More information about the Gluster-devel
mailing list