pgjdbc/pgjdbc GitHub issues and pull requests (mirror)  
help / color / mirror / Atom feed
[pgjdbc/pgjdbc] PR #3960: fix: release COPY lock on IOException to prevent connection hang (#3957)
2+ messages / 2 participants
[nested] [flat]

* [pgjdbc/pgjdbc] PR #3960: fix: release COPY lock on IOException to prevent connection hang (#3957)
@ 2026-03-13 17:16  "vlsi (@vlsi)" <[email protected]>
  0 siblings, 0 replies; 2+ messages in thread

From: vlsi (@vlsi) @ 2026-03-13 17:16 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

When an IOException occurs during COPY operations (endCopy, writeToCopy, flushCopy, readFromCopy), the COPY lock was not released, causing all subsequent operations on the connection (e.g. isValid, rollback) to hang indefinitely in waitOnLock(). This matches the existing pattern in cancelCopy() which already releases the lock in its finally block.

Also adds closeAllClients() to StrangeProxyServer for triggering immediate IOExceptions in tests.


^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3960: fix: release COPY lock on IOException to prevent connection hang (#3957)
@ 2026-03-13 20:05  "davecramer (@davecramer)" <[email protected]>
  0 siblings, 0 replies; 2+ messages in thread

From: davecramer (@davecramer) @ 2026-03-13 20:05 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

I approve, it would be nice to somehow make this cleaner using autocloseble, but this works

^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2026-03-13 20:05 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2026-03-13 17:16 [pgjdbc/pgjdbc] PR #3960: fix: release COPY lock on IOException to prevent connection hang (#3957) "vlsi (@vlsi)" <[email protected]>
2026-03-13 20:05 Re: [pgjdbc/pgjdbc] PR #3960: fix: release COPY lock on IOException to prevent connection hang (#3957) "davecramer (@davecramer)" <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox