Re: Arbitary file size limit in twophase.c - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Arbitary file size limit in twophase.c
Date
Msg-id 25025.1210689263@sss.pgh.pa.us
Whole thread Raw
In response to Arbitary file size limit in twophase.c  (Gavin Sherry <swm@alcove.com.au>)
Responses Re: Arbitary file size limit in twophase.c  (Gavin Sherry <swm@alcove.com.au>)
Re: Arbitary file size limit in twophase.c  ("Heikki Linnakangas" <heikki@enterprisedb.com>)
List pgsql-hackers
Gavin Sherry <swm@alcove.com.au> writes:
> There's an apparently arbitary limit of 10,000,000 bytes in twophase.c
> on the size of a two phase commit file. I can't see why this limit
> exists.

The comment seems perfectly clear about why the limit exists:
    * Check file length.  We can determine a lower bound pretty easily. We    * set an upper bound mainly to avoid
palloc()failure on a corrupt file.
 

although certainly the specific value has been picked out of the air.

Perhaps it'd be better to use malloc() than palloc(), so that we'd not
lose control on out-of-memory, and then deem the file "too big" only
if we couldn't malloc the space.

Or we could try to fix things so that the file doesn't have to be all in
memory, but that seems pretty invasive.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: psql wrapped format default for backslash-d commands
Next
From: Alvaro Herrera
Date:
Subject: Re: psql wrapped format default for backslash-d commands