All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Pete Zaitcev <zaitcev@redhat.com>
Cc: Project Hail List <hail-devel@vger.kernel.org>
Subject: Re: [tabled patch 3/3] Fix metadata replication
Date: Tue, 10 Aug 2010 15:14:19 -0400	[thread overview]
Message-ID: <4C61A50B.9020901@garzik.org> (raw)
In-Reply-To: <20100805214029.742b23c4@lembas.zaitcev.lan>

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@redhat.com>
>
> ---
>   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...


  reply	other threads:[~2010-08-10 19:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-06  3:40 [tabled patch 3/3] Fix metadata replication Pete Zaitcev
2010-08-10 19:14 ` Jeff Garzik [this message]
2010-08-10 21:19   ` Pete Zaitcev
2010-08-10 22:43     ` Jeff Garzik
2010-08-11  0:25       ` Pete Zaitcev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C61A50B.9020901@garzik.org \
    --to=jeff@garzik.org \
    --cc=hail-devel@vger.kernel.org \
    --cc=zaitcev@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.