From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, denis(dot)patron(at)previnet(dot)it, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: BUG #16663: DROP INDEX did not free up disk space: idle connection hold file marked as deleted |
Date: | 2020-10-15 01:26:36 |
Message-ID: | CA+hUKGJUM4CihcbcifKWYaxCbxkuEzGb0-2VU6G0oEwSog3=Xg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On Thu, Oct 15, 2020 at 8:15 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Thomas Munro <thomas(dot)munro(at)gmail(dot)com> writes:
> > On Wed, Oct 14, 2020 at 5:35 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
> >> I think we should consider either occasionally sending a sinval catchup
> >> interrupt to backends that have been idle for a while, or to use a timer
> >> that we use to limit the maximum time until we process sinvals. Just
> >> having to wait till all backends become busy and process sinval events
> >> doesn't really seem like good approach to me.
>
> > Oops, I also replied to this but now I see that I accidentally replied
> > only to Horiguchi-san and not the list! I was thinking that we should
> > perhaps consider truncating the files to give back the disk space (as
> > we do for the first segment), so that it doesn't matter so much how
> > long other backends take to process SHAREDINVALSMGR_ID, close their
> > descriptors and release the inode.
>
> +1, I was also thinking that. It'd be pretty easy to fit into the
> existing system structure (I think, without having looked at the relevant
> code lately), and it would not add any overhead to normal processing.
> Installing a timeout to handle this per Andres' idea inevitably *would*
> add overhead.
Alright, here is a first swing at making our behaviour more consistent
in two ways:
1. The first segment should be truncated even in recovery.
2. Later segments should be truncated on commit.
I don't know why the existing coding decides not to try to unlink the
later segments if the truncate of segment 0 failed. We already
committed, we should plough on.
Attachment | Content-Type | Size |
---|---|---|
0001-Free-disk-space-for-dropped-relations-on-commit.patch | text/x-patch | 3.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro Horiguchi | 2020-10-15 01:42:48 | Re: BUG #16663: DROP INDEX did not free up disk space: idle connection hold file marked as deleted |
Previous Message | Tom Lane | 2020-10-15 01:07:31 | Re: BUG #16672: Postgres user passwords are corrupted during migration |
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro Horiguchi | 2020-10-15 01:42:48 | Re: BUG #16663: DROP INDEX did not free up disk space: idle connection hold file marked as deleted |
Previous Message | David Rowley | 2020-10-15 01:23:01 | Re: jit and explain nontext |