public inbox for [email protected]  
help / color / mirror / Atom feed
From: Daniele Varrazzo <[email protected]>
To: Stefan Knecht <[email protected]>
Cc: [email protected]
Subject: Re: Puzzling situation with threads and psycopg2 on RDS
Date: Mon, 17 Oct 2022 12:55:53 +0100
Message-ID: <CA+mi_8aX4FsE6=HWF08tf579G8Wgg9cQOtN2BkmtTehyxAb5FA@mail.gmail.com> (raw)
In-Reply-To: <CAP50yQ-PUwP80+awO-U3Ud45HCZHZ=fjK3L2iWh4CfcEPF1p6A@mail.gmail.com>
References: <CAP50yQ-PUwP80+awO-U3Ud45HCZHZ=fjK3L2iWh4CfcEPF1p6A@mail.gmail.com>

Hi Stefan,

On Mon, 17 Oct 2022 at 12:25, Stefan Knecht <[email protected]> wrote:
>
> Hello
>
> I have this situation now, that I can't wrap my head around and I'm hoping someone can shed some light onto what is going on, before I spend hours trying to reproduce this by taking the code apart into a test case.
>
> A few facts:
>
> - I've got a piece of code split into several classes.
> - It initializes a dynamic number of threads. For the sake of this topic, I'll stick to just 2 threads to illustrate.
> - Each thread creates its own database connection (psycopg2.connect()) when it's started
> - Each thread, for each task it does, prints out its own name and the PID of the database session.
...

> Perhaps you can already see the problem. One thread randomly disconnects.

I understand this happens on RDS. Does it happen on normal Postgres
too, from a normal process (not some serverless thing?)

Are there processes/forks involved? Which version of psycopg are you
using? Some old one have problems with closing connections in
multiprocess environments. That was fixed in psycopg 2.8 (#829).

Cheers

-- Daniele





view thread (6+ messages)  latest in thread

reply

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: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: Puzzling situation with threads and psycopg2 on RDS
  In-Reply-To: <CA+mi_8aX4FsE6=HWF08tf579G8Wgg9cQOtN2BkmtTehyxAb5FA@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

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