Re: BUG #18210: libpq: PQputCopyData sometimes fails in non-blocking mode over GSSAPI encrypted connection
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: lars@greiz-reinsdorf.de
Cc: pgsql-bugs@lists.postgresql.org
Date: 2023-11-22T15:11:26Z
Lists: pgsql-bugs
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/libpq/fe-secure-gssapi.c#L110 > 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
Commits
-
Fix timing-dependent failure in GSSAPI data transmission.
- 18fad508b783 12.18 landed
- d053a879bb36 17.0 landed
- a50053777e95 15.6 landed
- 8f23e6a45009 14.11 landed
- 85eb77185483 16.2 landed
- 5abdfd88fa77 13.14 landed
-
Fix the initial sync tables with no columns.
- eeb0ebad79d9 17.0 cited