Re: streaming header too small - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: streaming header too small
Date
Msg-id CABUevEx3TRDDvqa_Af9BzAo2W7QpAsMTfb8OrKfK8iwOJtewUw@mail.gmail.com
Whole thread Raw
In response to streaming header too small  (Jaime Casanova <jaime@2ndquadrant.com>)
Responses Re: streaming header too small
List pgsql-hackers
On Mon, Jan 9, 2012 at 07:34, Jaime Casanova <jaime@2ndquadrant.com> wrote:
> Hi,
>
> I was trying pg_basebackup on head, i used this command:
> """
> postgres@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/


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: [PATCH] Allow breaking out of hung connection attempts
Next
From: Magnus Hagander
Date:
Subject: Re: streaming header too small