Re: BUG #18210: libpq: PQputCopyData sometimes fails in non-blocking mode over GSSAPI encrypted connection
Stephen Frost <sfrost@snowman.net>
From: Stephen Frost <sfrost@snowman.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: lars@greiz-reinsdorf.de, pgsql-bugs@lists.postgresql.org
Date: 2023-11-26T07:36:57Z
Lists: pgsql-bugs
Greetings, * Tom Lane (tgl@sss.pgh.pa.us) wrote: > I wrote: > > I wonder if we should drop the idea of returning a positive bytecount > > after a partial write, and just return the pqsecure_raw_write result, > > and not reset PqGSSSendConsumed until we write everything presented. > > In edge cases maybe that would result in some buffer bloat, but it > > doesn't seem worse than what happens when the very first > > pqsecure_raw_write returns EINTR. > > Here's a patch that fixes it along those lines. I like this better, > I think, not least because it removes the assumption that "interesting" > pqsecure_raw_write failures will recur on the next try. Thanks for looking into this. I agree with this approach and took a look through the patch and it all makes sense to me. > Still need to look at syncing the backend with this. I see you made similar changes to the backend and those also look good. Thanks again, Stephen
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