-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,
in my development server running a 7.4.5 I can replicate
continuously this error:

ERROR:  left link changed unexpectedly

I obtain this with a vacuum full:


test=# vacuum full verbose ua_user_data_exp;
INFO:  vacuuming "public.ua_user_data_exp"
INFO:  "ua_user_data_exp": found 361471 removable, 20867 nonremovable row versions in 28373 pages
DETAIL:  0 dead row versions cannot be removed yet.
Nonremovable row versions range from 432 to 1060 bytes long.
There were 0 unused item pointers.
Total free space (including removable row versions) is 218782956 bytes.
26761 pages are or will become empty, including 0 at the end of the table.
27543 pages containing 218591140 free bytes are potential move destinations.
CPU 1.73s/0.40u sec elapsed 17.66 sec.
INFO:  index "exp_id_provider" now contains 20867 row versions in 1077 pages
DETAIL:  0 index row versions were removed.
1003 index pages have been deleted, 1003 are currently reusable.
CPU 0.05s/0.06u sec elapsed 4.87 sec.
INFO:  index "exp_ci_login" now contains 20867 row versions in 1832 pages
DETAIL:  0 index row versions were removed.
866 index pages have been deleted, 866 are currently reusable.
CPU 0.18s/0.02u sec elapsed 12.96 sec.
^[INFO:  index "exp_country" now contains 20867 row versions in 1341 pages
DETAIL:  0 index row versions were removed.
1187 index pages have been deleted, 1187 are currently reusable.
CPU 0.11s/0.05u sec elapsed 5.89 sec.
INFO:  index "exp_os_type" now contains 20867 row versions in 1333 pages
DETAIL:  0 index row versions were removed.
1237 index pages have been deleted, 1237 are currently reusable.
CPU 0.05s/0.03u sec elapsed 5.84 sec.
INFO:  index "exp_card" now contains 20867 row versions in 1417 pages
DETAIL:  0 index row versions were removed.
1288 index pages have been deleted, 1288 are currently reusable.
CPU 0.09s/0.02u sec elapsed 6.14 sec.
ERROR:  left link changed unexpectedly



last lines in the logs ( with verbose on ):


Oct  1 21:35:31 porto postgres[31356]: [1268-5] LOCATION:  vacuum_index, vacuum.c:2728
Oct  1 21:35:38 porto postgres[31356]: [1269-1] ERROR:  XX000: left link changed unexpectedly
Oct  1 21:35:38 porto postgres[31356]: [1269-2] LOCATION:  _bt_pagedel, nbtpage.c:888


I don't care to fix the problem immediatelly, so if you want dig on it let me
know.

Regards
Gaetano Mendola
















-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBXbFL7UpzwH2SGd4RAn/SAKCKf7mTPRu31xza2McLTFo1tbIZfQCeIGKc
WqL010TWlrM4CsGcK6aI60g=
=B+S8
-----END PGP SIGNATURE-----


Fri, 01 Oct 2004 21:34:38 +0200
Gaetano Mendola <mendola@bigfoot.com>
ERROR:  left link changed unexpectedly
Anyone interested ?

Regards
Gaetano Mendola



Gaetano Mendola wrote:
> Hi all,
> in my development server running a 7.4.5 I can replicate
> continuously this error:
> 
> ERROR:  left link changed unexpectedly
> 
> I obtain this with a vacuum full:
> 
> 
> test=# vacuum full verbose ua_user_data_exp;
> INFO:  vacuuming "public.ua_user_data_exp"
> INFO:  "ua_user_data_exp": found 361471 removable, 20867 nonremovable 
> row versions in 28373 pages
> DETAIL:  0 dead row versions cannot be removed yet.
> Nonremovable row versions range from 432 to 1060 bytes long.
> There were 0 unused item pointers.
> Total free space (including removable row versions) is 218782956 bytes.
> 26761 pages are or will become empty, including 0 at the end of the table.
> 27543 pages containing 218591140 free bytes are potential move 
> destinations.
> CPU 1.73s/0.40u sec elapsed 17.66 sec.
> INFO:  index "exp_id_provider" now contains 20867 row versions in 1077 
> pages
> DETAIL:  0 index row versions were removed.
> 1003 index pages have been deleted, 1003 are currently reusable.
> CPU 0.05s/0.06u sec elapsed 4.87 sec.
> INFO:  index "exp_ci_login" now contains 20867 row versions in 1832 pages
> DETAIL:  0 index row versions were removed.
> 866 index pages have been deleted, 866 are currently reusable.
> CPU 0.18s/0.02u sec elapsed 12.96 sec.
> ^[INFO:  index "exp_country" now contains 20867 row versions in 1341 pages
> DETAIL:  0 index row versions were removed.
> 1187 index pages have been deleted, 1187 are currently reusable.
> CPU 0.11s/0.05u sec elapsed 5.89 sec.
> INFO:  index "exp_os_type" now contains 20867 row versions in 1333 pages
> DETAIL:  0 index row versions were removed.
> 1237 index pages have been deleted, 1237 are currently reusable.
> CPU 0.05s/0.03u sec elapsed 5.84 sec.
> INFO:  index "exp_card" now contains 20867 row versions in 1417 pages
> DETAIL:  0 index row versions were removed.
> 1288 index pages have been deleted, 1288 are currently reusable.
> CPU 0.09s/0.02u sec elapsed 6.14 sec.
> ERROR:  left link changed unexpectedly
> 
> 
> 
> last lines in the logs ( with verbose on ):
> 
> 
> Oct  1 21:35:31 porto postgres[31356]: [1268-5] LOCATION:  vacuum_index, 
> vacuum.c:2728
> Oct  1 21:35:38 porto postgres[31356]: [1269-1] ERROR:  XX000: left link 
> changed unexpectedly
> Oct  1 21:35:38 porto postgres[31356]: [1269-2] LOCATION:  _bt_pagedel, 
> nbtpage.c:888
> 
> 
> I don't care to fix the problem immediatelly, so if you want dig on it 
> let me
> know.
> 
> Regards
> Gaetano Mendola
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org


Tue, 05 Oct 2004 00:08:26 +0200
Gaetano Mendola <mendola@bigfoot.com>
Re: ERROR:  left link changed unexpectedly
On Tue, Oct 05, 2004 at 12:08:26AM +0200, Gaetano Mendola wrote:
> Anyone interested ?

I saw the code involved, and I think the only way this can happen is if
the index file itself was corrupted by previous operation.  How could
that happen elludes me; maybe a previous VACUUM changed a sibling's side
pointer but not the page itself's.  This is hard to believe however.
Maybe a partial write of some kind; but WAL should save whole-page
snapshots of the four pages involved, so I don't think the corruption
would survive WAL replay (that part of the code I didn't read however).

Not sure what to do about it.  I assume that if you reindex, the problem
disappears and you can't reproduce it again?  In any case, please save a
copy of the corrupted index file(s).  Would you send it to me?

> Gaetano Mendola wrote:
> >Hi all,
> >in my development server running a 7.4.5 I can replicate
> >continuously this error:
> >
> >ERROR:  left link changed unexpectedly
> >
> >I obtain this with a vacuum full:
> >
> >
> >test=# vacuum full verbose ua_user_data_exp;
> >INFO:  vacuuming "public.ua_user_data_exp"
> >INFO:  "ua_user_data_exp": found 361471 removable, 20867 nonremovable 
> >row versions in 28373 pages
> >DETAIL:  0 dead row versions cannot be removed yet.
> >Nonremovable row versions range from 432 to 1060 bytes long.
> >There were 0 unused item pointers.
> >Total free space (including removable row versions) is 218782956 bytes.
> >26761 pages are or will become empty, including 0 at the end of the table.
> >27543 pages containing 218591140 free bytes are potential move 
> >destinations.
> >CPU 1.73s/0.40u sec elapsed 17.66 sec.
> >INFO:  index "exp_id_provider" now contains 20867 row versions in 1077 
> >pages
> >DETAIL:  0 index row versions were removed.
> >1003 index pages have been deleted, 1003 are currently reusable.
> >CPU 0.05s/0.06u sec elapsed 4.87 sec.
> >INFO:  index "exp_ci_login" now contains 20867 row versions in 1832 pages
> >DETAIL:  0 index row versions were removed.
> >866 index pages have been deleted, 866 are currently reusable.
> >CPU 0.18s/0.02u sec elapsed 12.96 sec.
> >^[INFO:  index "exp_country" now contains 20867 row versions in 1341 pages
> >DETAIL:  0 index row versions were removed.
> >1187 index pages have been deleted, 1187 are currently reusable.
> >CPU 0.11s/0.05u sec elapsed 5.89 sec.
> >INFO:  index "exp_os_type" now contains 20867 row versions in 1333 pages
> >DETAIL:  0 index row versions were removed.
> >1237 index pages have been deleted, 1237 are currently reusable.
> >CPU 0.05s/0.03u sec elapsed 5.84 sec.
> >INFO:  index "exp_card" now contains 20867 row versions in 1417 pages
> >DETAIL:  0 index row versions were removed.
> >1288 index pages have been deleted, 1288 are currently reusable.
> >CPU 0.09s/0.02u sec elapsed 6.14 sec.
> >ERROR:  left link changed unexpectedly
> >
> >
> >
> >last lines in the logs ( with verbose on ):
> >
> >
> >Oct  1 21:35:31 porto postgres[31356]: [1268-5] LOCATION:  vacuum_index, 
> >vacuum.c:2728
> >Oct  1 21:35:38 porto postgres[31356]: [1269-1] ERROR:  XX000: left link 
> >changed unexpectedly
> >Oct  1 21:35:38 porto postgres[31356]: [1269-2] LOCATION:  _bt_pagedel, 
> >nbtpage.c:888
> >
> >
> >I don't care to fix the problem immediatelly, so if you want dig on it 
> >let me
> >know.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Crear es tan difï¿½cil como ser libre" (Elsa Triolet)


Mon, 4 Oct 2004 18:57:38 -0400
Alvaro Herrera <alvherre@dcc.uchile.cl>
Re: ERROR:  left link changed unexpectedly
Alvaro Herrera wrote:
> On Tue, Oct 05, 2004 at 12:08:26AM +0200, Gaetano Mendola wrote:
> 
>>Anyone interested ?
> 
> 
> I saw the code involved, and I think the only way this can happen is if
> the index file itself was corrupted by previous operation.  How could
> that happen elludes me; maybe a previous VACUUM changed a sibling's side
> pointer but not the page itself's.  This is hard to believe however.
> Maybe a partial write of some kind; but WAL should save whole-page
> snapshots of the four pages involved, so I don't think the corruption
> would survive WAL replay (that part of the code I didn't read however).
> 
> Not sure what to do about it.  I assume that if you reindex, the problem
> disappears and you can't reproduce it again?  In any case, please save a
> copy of the corrupted index file(s).  Would you send it to me?
> 

If you need the file for the index exp_card then I'm going to send you
the file.



Regards
Gaetano Mendola

Tue, 05 Oct 2004 02:07:01 +0200
Gaetano Mendola <mendola@bigfoot.com>
Re: ERROR:  left link changed unexpectedly