Re: shared tempfile was not removed on statement_timeout (unreproducible) - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: shared tempfile was not removed on statement_timeout (unreproducible)
Date
Msg-id CA+hUKGJf5uPTPz-9FoxnaOfeu74Hi494HG8EyVAmPUatPjPL9A@mail.gmail.com
Whole thread Raw
In response to Re: shared tempfile was not removed on statement_timeout(unreproducible)  (Justin Pryzby <pryzby@telsasoft.com>)
Responses Re: shared tempfile was not removed on statement_timeout
List pgsql-hackers
On Fri, Dec 13, 2019 at 3:13 PM Justin Pryzby <pryzby@telsasoft.com> wrote:
> On Fri, Dec 13, 2019 at 03:03:47PM +1300, Thomas Munro wrote:
> > On Fri, Dec 13, 2019 at 7:05 AM Justin Pryzby <pryzby@telsasoft.com> wrote:
> > >  2019-12-07 01:35:56 | 11025 | postgres | canceling statement due to statement timeout
              | CLUSTER pg_stat_database_snap USI
 
> > >  2019-12-07 01:35:56 | 11025 | postgres | temporary file: path
"base/pgsql_tmp/pgsql_tmp11025.0.sharedfileset/2.0",size 5455872 | CLUSTER pg_stat_database_snap USI
 
> >
> > Hmm.  But then... maybe the two log lines you quoted should
> > be the other way around for that.
>
> And, it's actually the other way around, when I order BY something better than
> left(log_time::text,19).

Hah.

Ok, so it looks like we shouldn't be relying on the same code path for
'happy' and 'error' cleanup.  This could probably be fixed with a well
placed explicit call to SharedFileSetDeleteAll() or a new function
SharedFileSetDestroy(), and perhaps a flag in shmem to say it's been
done so the callback doesn't do it again needlessly.  I don't think
this problem is specific to parallel index creation.



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Wrong assert in TransactionGroupUpdateXidStatus
Next
From: Thomas Munro
Date:
Subject: Re: On disable_cost