Обсуждение: ERROR: left link changed unexpectedly
-----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-----
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
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)
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