From: Tom Lane <tgl@sss.pgh.pa.us>
To: lars@greiz-reinsdorf.de
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #18210: libpq: PQputCopyData sometimes fails in non-blocking mode over GSSAPI encrypted connection
Date: Wed, 22 Nov 2023 10:11:26 -0500
Message-ID: <1675678.1700665886@sss.pgh.pa.us> (raw)
In-Reply-To: <18210-4c6d0b14627f2eb8@postgresql.org>
References: <18210-4c6d0b14627f2eb8@postgresql.org>
PG Bug reporting form <noreply@postgresql.org> writes:
> The error "GSSAPI caller failed to retransmit all data needing to be
> retried" is raised here:
> https://github.com/postgres/postgres/blob/eeb0ebad79d9350305d9e111fbac76e20fa4b2fe/src/interfaces/li...
> It happens only in non-blocking mode over GSSAPI encrypted connections. It
> isn't reliable and depends on the network timing. When sending a 7MB file in
> alternating pieces of 27KB and 180 Byte per PQputCopyData() there is a 50%
> chance to get the failure over the local network. It doesn't happen if TLS
> is used instead.
Hmm.
> The issue is fixed if I change libpq at either pqPutMsgEnd() or at
> pg_GSS_write().
Both of those seem like pretty obviously wrong "fixes". However,
I'm not quite sure I see the problem clearly enough to propose
a fix I'd believe in.
> Unfortunately so far I'm unable to provide a repro script. Maybe the above
> information is enough to understand the problem.
A repro script would be really really helpful here.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: tgl@sss.pgh.pa.us, lars@greiz-reinsdorf.de, pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #18210: libpq: PQputCopyData sometimes fails in non-blocking mode over GSSAPI encrypted connection
In-Reply-To: <1675678.1700665886@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox