Re: Replication identifiers, take 4

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Petr Jelinek <petr(at)2ndquadrant(dot)com>
Cc: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Steve Singer <steve(at)ssinger(dot)info>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Replication identifiers, take 4
Date: 2015-02-22 08:57:16
Message-ID: 20150222085716.GB21496@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2015-02-19 00:49:50 +0100, Petr Jelinek wrote:
> On 16/02/15 10:46, Andres Freund wrote:
> >On 2015-02-16 11:34:10 +0200, Heikki Linnakangas wrote:
> >
> >>At a quick glance, this basic design seems workable. I would suggest
> >>expanding the replication IDs to regular 4 byte oids. Two extra bytes is a
> >>small price to pay, to make it work more like everything else in the system.
> >
> >I don't know. Growing from 3 to 5 byte overhead per relevant record (or
> >even 0 to 5 in case the padding is reused) is rather noticeable. If we
> >later find it to be a limit (I seriously doubt that), we can still
> >increase it in a major release without anybody really noticing.
> >
>
> I agree that limiting the overhead is important.
>
> But I have related though about this - I wonder if it's worth to try to map
> this more directly to the CommitTsNodeId.

Maybe. I'd rather go the other way round though;
replication_identifier.c/h's stuff seems much more generic than
CommitTsNodeId.

> I mean it is currently using that
> for the actual storage, but I am thinking of having the Replication
> Identifiers be the public API and the CommitTsNodeId stuff be just hidden
> implementation detail. This thought is based on the fact that CommitTsNodeId
> provides somewhat meaningless number while Replication Identifiers give us
> nice name for that number. And if we do that then the type should perhaps be
> same for both?

I'm not sure. Given that this is included in a significant number of
recordsd I'd really rather not increase the overhead as described
above. Maybe we can just limit CommitTsNodeId to the same size for now?

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Gierth 2015-02-22 09:59:56 Re: Abbreviated keys for Numeric
Previous Message Andres Freund 2015-02-22 08:52:07 Re: Replication identifiers, take 4