Re: Checkpoint gets stuck in mdsync

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Checkpoint gets stuck in mdsync
Date: 2007-04-05 10:58:40
Message-ID: 4614D660.5080503@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

ITAGAKI Takahiro wrote:
> Heikki Linnakangas <heikki(at)enterprisedb(dot)com> wrote:
>
>> Now that the CheckpointStartLock starvation has been taken care of, I'm
>> seeing another problem with checkpoints in my test run: mdsync never
>> finishes.
>>
>> My proposed fix is to make a copy of pendingOpsTable before entering the
>> loop. AbsorbFsyncRequest will put new requests to a fresh new
>> pendingOpsTable, while the mdsync loop will drain the copy. I'll write a
>> patch along those lines if there's no better ideas.
>
> Yeah, I'm also anxious about the stuck. I wrote a fix to use a copy of
> pendingOpsTable as you said, when I implemented Load distributed checkpoint
> patch. (http://momjian.us/mhonarc/patches/msg00025.html) It would make me
> very happy if you review my patch and check whether my fix is proper.

I just posted a patch to pgsql-patches that fixes the issue along the
lines of your Load distributed checkpoint patch. Load distributed
checkpoint patch now just needs to add the "calculate total file length"
and the nap delay to mdsync.

Thanks for the patch!

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message NikhilS 2007-04-05 11:05:31 Re: Auto Partitioning
Previous Message Heikki Linnakangas 2007-04-05 10:46:39 Fix mdsync never-ending loop problem