public inbox for [email protected]
help / color / mirror / Atom feedFrom: Konstantin Osipov <[email protected]>
To: Andrey Borodin <[email protected]>
Cc: Tom Lane <[email protected]>
Cc: Greg Sabino Mullane <[email protected]>
Cc: Nikolay Samokhvalov <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Built-in Raft replication
Date: Wed, 16 Apr 2025 12:58:32 +0300
Message-ID: <Z_9_SIjTYQ-x_oOG@ark> (raw)
In-Reply-To: <[email protected]>
References: <Z_1Cq7JvabsFYjQo@ark>
<CAKAnmmJxGHcQmzXqEQ-nppZjXyH7i5W_7Cz8JNMb2+6c5+D+og@mail.gmail.com>
<CAM527d9+eGvdih1GxoPDJ2WYs6eitf39oNTxGxnCK1PgF=A8wg@mail.gmail.com>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
* Andrey Borodin <[email protected]> [25/04/16 11:06]:
> > Andrey Borodin <[email protected]> writes:
> >> I think it's what Konstantin is proposing. To have our own Raft implementation, without dependencies.
> >
> > Hmm, OK. I thought that the proposal involved relying on some existing
> > code, but re-reading the thread that was said nowhere. Still, that
> > moves it from a large project to a really large project :-(
> >
> > I continue to think that it'd be best to try to implement it as
> > an extension, at least up till the point of finding show-stopping
> > reasons why it cannot be that.
>
> I think I can provide some reasons why it cannot be neither extension, nor any part running within postmaster reign.
>
> 1. When joining cluster, there’s not PGDATA to run postmaster on top of it.
>
> 2. After failover, old Primary node must rejoin cluster by running pg_rewind and following timeline switch.
>
> The system in hand must be able to manipulate with PGDATA without starting Postgres.
>
> My question to Konstantin is Why wouldn’t you just add Raft to Patroni? Is there a reason why something like Patroni is not in core and noone rushes to get it in?
> Everyone is using it, or system like it.
Raft uses the same WAL to store configuration change records as is used
for commit records. This is at the core of the correctness of the
algorithm. This is also my biggest concern with correctness of
Patroni - but to the best of my knowledge 's 90%+ of
use cases of Patroni use a "fixed" quorum size, that's defined at
start of the deployment and never/rarely changes.
Contrast to that being able to a replica to the quorum at any
time, and all it takes is just starting this replica and pointing
it at the existing cluster. This greatly simplifies UX.
--
Konstantin Osipov, Moscow, Russia
view thread (36+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: Built-in Raft replication
In-Reply-To: <Z_9_SIjTYQ-x_oOG@ark>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox