Re: streaming header too small

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: streaming header too small
Date: 2012-01-09 10:09:35
Message-ID: CABUevEx3TRDDvqa_Af9BzAo2W7QpAsMTfb8OrKfK8iwOJtewUw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jan 9, 2012 at 07:34, Jaime Casanova <jaime(at)2ndquadrant(dot)com> wrote:
> Hi,
>
> I was trying pg_basebackup on head, i used this command:
> """
> postgres(at)jaime:/usr/local/pgsql/9.2$ bin/pg_basebackup -D $PWD/data2
> -x stream -P -p 54392
> """
>
> i got this error
> """
> 19093/19093 kB (100%), 1/1 tablespace
> pg_basebackup: streaming header too small: 17
> pg_basebackup: child process exited with error 1
> """
>
> now, this streaming header size is defined in
> src/bin/pg_basebackup/receivelog.c as "#define STREAMING_HEADER_SIZE
> (1+8+8+8)", so WTF is this?
> what are these numbers? shouldn't be at least a comment explaining
> those? more important it's seems obvious something broke that, unless

Those numbers are the size of WalDataMessageHeader - a struct which is
not available in the frontend, or at least wasn't at the time.

> i misunderstood something which is completely possible, and that the
> way is do it it will broke again in the future if the header change

Without looking at the details, I'm pretty sure it's the keepalive
message patch (64233902d22ba42846397cb7551894217522fad4).That one does
introduce a new message that's exactly that size.

pg_basebackup assumes the only kind of messages that can arrive are
the data messages, and this is no longer true. But if you check the
code for pg_basebackup, you'll see it checks the size of the message
*before* it checks the type of the message, which is why you get a
misleading error.

I'll dig into the details later - but you could try backing out that
patch to confirm if that's the problem.

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2012-01-09 11:00:15 Re: streaming header too small
Previous Message Heikki Linnakangas 2012-01-09 08:35:50 Re: [PATCH] Allow breaking out of hung connection attempts