Re: [tabled patch 3/3] Fix metadata replication

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/05/2010 11:40 PM, Pete Zaitcev wrote:
The metadata replication in tabled nominally existed, but did not
worked. There were a couple of small bugs (such as an attempt to
boot directly into Slave state would lead to a hang). However, the
biggest problem was how the identity of nodes in Replication Manager
API had to be the same as hostname. When doing so, repmgr code
used the hostname to bind instead of a wildcard socket. But when
doing so, on any stock Fedora or RHEL system it would end listening
on loopback only, because the /etc/hosts aliased the hostname to
loopback address. Thus running any replication required addition
host configuration that can cause any kind of unexpected consequences.
In addition it's impossible to run two nodes on one host for testing.

This patch does away with the Replication Manager and uses Base API
instead. This way, issues with host aliasing are addressed, and
the state transitions occur much faster because there is no voting.

Note that the provision is added to run peers on the same host,
using a configuration clause TDBRepName. I was unable to come up with
a reliable way to make persistent, nonconflicting identifiers that
would replace hostnames. Fortunately, this should only be used
for build tests, where we probably can live with it.

The resulting replication feature was tested to work. Not sure if
it is enough to trust it with one's data, but it's better than before.

Signed-off-by: Pete Zaitcev<zaitcev@xxxxxxxxxx>

---
  doc/etc.tabled.conf |    8
  doc/setup.txt       |   13 +
  include/tdb.h       |   15 -
  lib/tdb.c           |  130 ++++++-------
  server/Makefile.am  |    2
  server/bucket.c     |   34 +--
  server/cldu.c       |  416 ++++++++++++++++++++++++++++++++++++------
  server/config.c     |   10 +
  server/object.c     |   22 +-
  server/replica.c    |    8
  server/server.c     |  404 ++++++++++++++++++++++++++++++++++++----
  server/tabled.h     |   97 +++++++++
  server/tdbadm.c     |   51 +----
  13 files changed, 963 insertions(+), 247 deletions(-)

Including metarep.c would be helpful ;-)

Will wait on release for this...


--
To unsubscribe from this list: send the line "unsubscribe hail-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Fedora Clound]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux