Re: released savepoint blocking further statements

From: Miklós Fazekas <mfazekas(at)szemafor(dot)com>
To: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Cc: Pg Bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: released savepoint blocking further statements
Date: 2016-04-10 14:17:17
Message-ID: CAAMmcSTrhYA_wzExn0R8QCQo=mfqNxBirEm00rjZL2raDWk47g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Jeff,

Thanks much for your help. There was an issue with rails 5 beta connection
pool where in some cases a connection with an open transaction returned to
pool.

Regards,
Miklós

On Fri, Apr 8, 2016 at 8:00 PM, Jeff Janes <jeff(dot)janes(at)gmail(dot)com> wrote:

> On Thu, Apr 7, 2016 at 1:26 AM, Miklós Fazekas <mfazekas(at)szemafor(dot)com>
> wrote:
>
>
> > [2.] I've tried to use the query Lock Monitoring wiki from to find out
> what
> > is blocking:
> >
> > it shows that 79469 | RELEASE SAVEPOINT active_record_2_47 is the
> > current_statement_in_blocking_process.
> >
> > https://wiki.postgresql.org/wiki/Lock_Monitoring
> >
> > SELECT bl.pid AS blocked_pid,
> >
> > a.usename AS blocked_user,
> > ka.query AS current_statement_in_blocking_process,
> > now() - ka.query_start AS blocking_duration,
> > kl.pid AS blocking_pid,
> > ka.usename AS blocking_user,
> > a.query AS blocked_statement,
> > now() - a.query_start AS blocked_duration
> > FROM pg_catalog.pg_locks bl
> > JOIN pg_catalog.pg_stat_activity a ON a.pid = bl.pid
> > JOIN pg_catalog.pg_locks kl ON kl.transactionid =
> > bl.transactionid AND kl.pid != bl.pid
> > JOIN pg_catalog.pg_stat_activity ka ON ka.pid = kl.pid
> > WHERE NOT bl.GRANTED;
>
>
> That is probably not the current statement in the blocking process.
> It is likely that the blocking process is in the state "idle in
> transaction", and the RELEASE SAVEPOINT is actually the most recent
> statement, not the current statement.
>
> I've updated the wiki to clarify that, but it could use some more
> polishing.
>
> So your savepoint release has executed successfully, but the outer
> transaction is still holding on to locks which block the other
> process. You have to convince that outer transaction to either commit
> or rollback.
>
> Cheers,
>
> Jeff
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message David G. Johnston 2016-04-10 15:54:58 Re: BUG #14080: JSONB order changes when using json_pretty()
Previous Message cgh_chen 2016-04-10 08:00:39 BUG #14081: System LC_COLLATE changed