From: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
---|---|
To: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
Cc: | Frank Wittig <fw(at)weisshuhn(dot)de>, Postgres General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: warm standby server stops doingcheckpointsafterawhile |
Date: | 2007-06-04 10:06:06 |
Message-ID: | 4663E40E.5070106@sigaev.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> 1. After a certain point, consecutive GIN index splits cause a problem.
> The new RHS block numbers are consecutive from 111780+
That's newly created page. Splitted page might have any number
>
> 2. The incomplete splits stay around indefinitely after creation and we
> aren't trying to remove the wrong split at any point. We're either never
> creating an xlog record, or we are ignoring it in recovery, or we are
> somehow making multiple entries then not removing all of them.
Agreed
> 3. The root seems to move, which isn't what I personally was expecting
> to see. It seems root refers to the highest parent involved in the
> split.
root in this context means parent of splitted page. Actually, there is a lot of
B-tree in GIN, see http://www.sigaev.ru/gin/GinStructure.pdf
>
> 4. We're writing lots of redo in between failed page splits. So *almost*
> everything is working correctly.
>
> 5. This starts to happen when we have very large indexes. This may be
> coincidental but the first relation file is fairly full (900+ MB).
Yes. It seems to me that conditions of error are very rare and B-tree over
ItemPointers (second level of GIN) has a big capacity, 1000+ items per page. So,
splits occur rather rare.
--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/
From | Date | Subject | |
---|---|---|---|
Next Message | PFC | 2007-06-04 10:06:47 | Re: Numeric performances |
Previous Message | Teodor Sigaev | 2007-06-04 09:54:50 | Re: warm standby server stops doingcheckpointsafterawhile |