Re: Too-long socket paths are breaking several buildfarm members - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Too-long socket paths are breaking several buildfarm members
Date
Msg-id YsJDslK5br7D8wi8@paquier.xyz
Whole thread Raw
In response to Too-long socket paths are breaking several buildfarm members  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Too-long socket paths are breaking several buildfarm members
List pgsql-hackers
On Sun, Jul 03, 2022 at 07:22:11PM -0400, Tom Lane wrote:
> That path name is 3 bytes over the platform limit.  Evidently,
> "REL_15_STABLE" is just enough longer than "HEAD" to make this fail,
> whereas we didn't see the problem as long as the test case only
> ran in HEAD.

That tells enough about UNIXSOCK_PATH_BUFLEN.  It looks like test.sh
has been using for ages /tmp/pg_upgrade_check* as socket directory to
counter this issue.

> Members butterflyfish, massasauga, and myna likewise have yet to pass
> this test in REL_15_STABLE, though they're perfectly happy in HEAD.
> They are returning cut-down logs that don't allow diagnosing for
> certain, but a reasonable bet is that it's the same kind of problem.

Hmm.  That's possible.

> I think that the conversion of pg_upgrade's test script to TAP
> form missed a bet.  IIRC, we have mechanism somewhere to ensure
> that test socket path names are created under /tmp, or someplace else
> that's not subject to possibly-long paths of installation directories.
> That's evidently not being used here.

There is PostgreSQL::Test::Utils::tempdir_short for that, which is
what all the nodes created in Cluster.pm use for
unix_socket_directories.  One way to address the issue would be to
pass that to pg_upgrade with --socketdir, as of the attached.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: AIX support - alignment issues
Next
From: Tom Lane
Date:
Subject: Re: Too-long socket paths are breaking several buildfarm members