Re: Fix mdsync never-ending loop problem

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
Cc: Patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Fix mdsync never-ending loop problem
Date: 2007-04-05 17:08:32
Message-ID: 28872.1175792912@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Heikki Linnakangas <heikki(at)enterprisedb(dot)com> writes:
> I think the failure handling is correct in the "to-do list" approach,
> when an entry is read from the list, it's checked that the entry hasn't
> been removed from the hash table. Actually there was a bug in the
> original LDC patch in the failure handling: it replaced the per-entry
> failures-counter with a local retry_counter variable, but it wasn't
> cleared after a successful write which would lead to bogus ERRORs when
> multiple relations are dropped during the mdsync. I kept the original
> per-entry counter, though the local variable approach could be made to work.

Yeah. One of the things that bothered me about the patch was that it
would be easy to mess up by updating state in the copied entry instead
of the "real" info in the hashtable. It would be clearer what's
happening if the to-do list contains only the lookup keys and not the
whole struct.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2007-04-05 17:12:54 Re: Fix mdsync never-ending loop problem
Previous Message Heikki Linnakangas 2007-04-05 16:57:04 Re: Fix mdsync never-ending loop problem

Browse pgsql-patches by date

  From Date Subject
Next Message Simon Riggs 2007-04-05 17:12:54 Re: Fix mdsync never-ending loop problem
Previous Message Heikki Linnakangas 2007-04-05 16:57:04 Re: Fix mdsync never-ending loop problem