Patch to support Scalable CTDB

Martin Schwenke martin at
Sat Apr 28 06:41:50 UTC 2018

Hi Partha,

On Fri, 27 Apr 2018 08:31:27 -0700, Partha Sarathi via samba-technical
<samba-technical at> wrote:

> How do we do the VNNMAP groups, could you please give an example of doing
> that.

Just in case Amitay was unclear, VNNMAP groups is a feature that
doesn't exist in CTDB yet.  We were talking about the problem you're
trying to solve and Amitay came up with the term.  :-)

To make the idea more concrete, we would associate a VNNMAP group
number with each node address.  One possible implementation would be to
have an optional VNNMAP group for each address in the nodes file.  The
default group, when left unspecified, could be 0.  So, the default case
would leave all nodes in group 0 and a cluster would behave the way it
does now.  However, if some nodes are in a different group then the
behaviour changes.

This tells us how VNNMAP groups would be used but not how it would be

The implementation needs to change all of the places in the code where
actions involving volatile databases use the VNNMAP and ensure that the
(local) VNNMAP for the group is used instead.   Operations on
persistent/replicated databases involve all active nodes.  The
operations on volatile databases would include calculation of LMASTER
when a record is being migrated, recovery, traverse, vacuuming, ...

For example, if a node triggers a recovery then volatile databases would
only be recovered within the VNNMAP group but persistent/replicated
databases would be recovered cluster-wide.

This would be a very neat feature!

peace & happiness,

More information about the samba-technical mailing list