On 6/30/2006 9:55 AM, Tom Lane wrote:
> "Marko Kreen" <markokr(at)gmail(dot)com> writes:
>> The sl_log_* tables are indexed on xid, where the relations between
>> values are not exactly stable. When having high enough activity on
>> one node or having nodes with XIDs on different enough positions
>> funny things happen.
> Yeah, that was one of the first things I thought about, but the range of
> XIDs involved in these test cases isn't large enough to involve a
> wraparound, and anyway it's now looking like the problem is loss of heap
> entries, not index corruption at all.
> Slony's use of XID comparison semantics for indexes is definitely pretty
> scary though. If I were them I'd find a way to get rid of it. In
> theory, since the table is only supposed to contain "recent" XIDs,
> as long as you keep it vacuumed the index should never contain any
> inconsistently-comparable XIDs ... but in a big index, the boundary keys
> for upper-level index pages might hang around an awful long time ...
With the final implementation of log switching, the problem of xxid
wraparound will be avoided entirely. Every now and then slony will
switch from one to another log table and when the old one is drained and
logically empty, it is truncated, which should reinitialize all indexes.
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #
In response to
pgsql-hackers by date
|Next:||From: Marko Kreen||Date: 2006-06-30 15:17:26|
|Subject: Re: Index corruption|
|Previous:||From: Tom Lane||Date: 2006-06-30 14:04:38|
|Subject: Re: Index corruption |