Re: BUG #15460: Error while creating index or constraint

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Geoghegan <pg@bowt.ie>
Cc: paul.vanderlinden@mapcreator.eu, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>, Heikki Linnakangas <hlinnaka@iki.fi>
Date: 2018-10-29T16:28:25Z
Lists: pgsql-bugs
Peter Geoghegan <pg@bowt.ie> writes:
> On Mon, Oct 29, 2018 at 3:25 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Sounds like papering over the bug ...

> I may have been unclear. It would be papering over the bug if I went
> ahead and did that now.

> The advantage of getting the file size from shared memory is that it
> doesn't leave it up to code like BufFileOpenShared() to find
> everything through readdir() iteration, an approach that might not be
> totally portable. We'll reliably fail if all BufFile segments cannot
> be accounted for with the size-in-shared-memory approach, which seems
> more robust. I wouldn't be surprised if that actually was the correct
> fix in the end.

Perhaps.  Anyway, I think we agree that we should identify why it's
failing before we decide on a fix.

			regards, tom lane


Commits

  1. Have BufFileSize() ereport() on FileSize() failure.

  2. Use 64 bit type for BufFileSize().

  3. Adjust trace_sort log messages.

  4. Fix some sloppiness in the new BufFileSize() and BufFileAppend() functions.