Re: Fix overflow of bgwriter's request queue - Mailing list pgsql-patches

From Qingqing Zhou
Subject Re: Fix overflow of bgwriter's request queue
Date
Msg-id dq7m4q$5nk$1@news.hub.org
Whole thread Raw
In response to Fix overflow of bgwriter's request queue  (ITAGAKI Takahiro <itagaki.takahiro@lab.ntt.co.jp>)
Responses Re: Fix overflow of bgwriter's request queue
List pgsql-patches
"ITAGAKI Takahiro" <itagaki.takahiro@lab.ntt.co.jp> wrote
>
> AbsorbFsyncRequests will be called during the fsync loop in my patch,
> so new files might be added to pendingOpsTable and they will be removed
> from the table *before* writing the pages belonging to them.
> So I changed it to copy the contents of pendingOpsTable to a local
> variables and iterate on the vars later.
>

I see - it is the AbsorbFsyncRequests() added in mdsync() loop and you want
to avoid unecessary fsyncs. But the remove-recover method you use has a
caveat: if any hash_search(HASH_ENTER) failed when you try to reinsert them
into the pendingOpsTable, you have to raise the error to PANIC since we
can't get back the missing fds any more.

Regards,
Qingqing



pgsql-patches by date:

Previous
From: ITAGAKI Takahiro
Date:
Subject: Re: Fix overflow of bgwriter's request queue
Next
From: Tom Lane
Date:
Subject: Re: Index padding optimization