postgres icon indicating copy to clipboard operation
postgres copied to clipboard

BrokenPipe: Broken pipe (os error 32) not handled in reconnect logic

Open meyer9 opened this issue 2 years ago • 8 comments

I'm currently getting a crash sometimes when connecting to a remote database.

BrokenPipe: Broken pipe (os error 32)
    at write (ext:deno_net/01_net.js:34:21)
    at TcpConn.write (ext:deno_net/01_net.js:97:12)
    at BufWriter.flush (https://deno.land/[email protected]/io/buffer.ts:745:40)
    at Connection.#preparedQuery (https://deno.land/x/[email protected]/connection/connection.ts:864:27)
    at eventLoopTick (ext:core/01_core.js:183:11)
    at async Connection.query (https://deno.land/x/[email protected]/connection/connection.ts:951:16)
    at async Client.#executeQuery (https://deno.land/x/[email protected]/client.ts:245:12)
    at async Client.queryObject (https://deno.land/x/[email protected]/client.ts:433:12)
    at async Db.executeSql (file:///src/_shared/queue/db.ts:7:20)
    at async Manager.createJob (file:///src/_shared/packages/pg-boss/manager.js:490:20)

Seems like there's a check for connection errors that will reconnect, but not broken pipe errors.

meyer9 avatar Nov 22 '23 17:11 meyer9

I am getting this one too. Is there any update on it?

tsaxking avatar Feb 11 '24 08:02 tsaxking

Hey, would be helpfully to check what version is being used and if it happens in the newest.

bombillazo avatar Feb 11 '24 13:02 bombillazo

Sure thing, I'm using 1.17.0, but I now see there's 1.17.2, I'm switching now, but I won't be able to recreate the problem for a few hours. My deno version is 1.40.3.

BrokenPipe: Broken pipe (os error 32)
    at write (ext:deno_net/01_net.js:58:21)
    at TcpConn.write (ext:deno_net/01_net.js:130:12)
    at BufWriter.flush (https://deno.land/[email protected]/io/buffer.ts:745:40)
    at Connection.#preparedQuery (https://deno.land/x/[email protected]/connection/connection.ts:864:27)
    at eventLoopTick (ext:core/01_core.js:64:7)
    at async Connection.query (https://deno.land/x/[email protected]/connection/connection.ts:951:16)
    at async Client.#executeQuery (https://deno.land/x/[email protected]/client.ts:245:12)
    at async Client.queryObject (https://deno.land/x/[email protected]/client.ts:433:12)
    at async file:///.../master/server/utilities/databases.ts:738:32
    at async attemptAsync (file:///.../master/shared/check.ts:134:23) {
  name: "BrokenPipe",
  code: "EPIPE"
}

tsaxking avatar Feb 11 '24 19:02 tsaxking

Same here, using 0.19.2

dylanpyle avatar Jul 16 '24 18:07 dylanpyle