Re: Refactoring the checkpointer's fsync request queue

From: Kevin Grittner <kgrittn(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, Dmitry Dolgov <9erthalion6(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Shawn Debnath <sdn(at)amazon(dot)com>
Subject: Re: Refactoring the checkpointer's fsync request queue
Date: 2019-01-22 20:29:23
Message-ID: CACjxUsMVJAKtq8UU+xCRVVpeSGb-+u6jyGaOXCx1Qw+qz3d=Nw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jan 22, 2019 at 12:17 PM Andres Freund <andres(at)anarazel(dot)de> wrote:

> Unfortunately, unless something has changed recently, that patch is
> *not* sufficient to really solve the issue - we don't guarantee that
> there's always an fd preventing the necessary information from being
> evicted from memory:

But we can't lose an FD without either closing it or suffering an
abrupt termination that would trigger a PANIC, can we? And close()
always calls fsync(). And I thought our "PANIC on fsync" patch paid
attention to close(). How do you see this happening???

> Note that we might still lose the error if the inode gets evicted from
> the cache before anything can reopen it, but that was the case before
> errseq_t was merged. At LSF/MM we had some discussion about keeping
> inodes with unreported writeback errors around in the cache for longer
> (possibly indefinitely), but that's really a separate problem"
>
> And that's entirely possibly in postgres.

Is it possible for an inode to be evicted while there is an open FD
referencing it?

> The commit was dicussed on list too, btw...

Can you point to a post explaining how the inode can be evicted?
--
Kevin Grittner
VMware vCenter Server
https://www.vmware.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2019-01-22 20:31:53 Re: Refactoring the checkpointer's fsync request queue
Previous Message Andres Freund 2019-01-22 20:19:23 Re: [PATCH] Pass COPT and PROFILE to CXXFLAGS as well