Page MenuHomePhabricator

Missing record in replica
Closed, ResolvedPublic

Description

DB replica are missing record, for example for plwikisource

select rev_page from revision where rev_id=782789;

rev_page

+----------+

291098

1 row in set (0.00 sec)

MariaDB [plwikisource_p]> select * from page where page_id=291098;
Empty set (0.00 sec)

There is hundred of page like this where the revision table is uptodate but the page table entry doesn't exist.

With a greater page_id than the missing:

select page_title from page where page_id=292652;

Śmierć_urzędnika

So it's not a trouble with replag.

Event Timeline

Phe created this task.Feb 17 2015, 12:54 AM
Phe raised the priority of this task from to Needs Triage.
Phe updated the task description. (Show Details)
Phe added a project: Cloud-Services.
Phe added a subscriber: Phe.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptFeb 17 2015, 12:54 AM
scfc assigned this task to Springle.Feb 17 2015, 12:57 AM
scfc added subscribers: scfc, Springle.

@Springle, could you look into this as well, please?

Ankry added a subscriber: Ankry.Feb 17 2015, 1:09 AM
Krenair added a subscriber: Krenair.
Krenair added a comment.EditedAug 17 2015, 4:42 AM

Given example shows up for me now, however others are missing

krenair@tools-bastion-01:~$ mysql --defaults-file=replica.my.cnf -h labsdb1001.eqiad.wmnet -s -e "select count(*) from revision left join page on rev_page = page_id where page_id is null" plwikisource_p
count(*)
58
krenair@tools-bastion-01:~$ mysql --defaults-file=replica.my.cnf -h labsdb1002.eqiad.wmnet -s -e "select count(*) from revision left join page on rev_page = page_id where page_id is null" plwikisource_p
count(*)
58
krenair@tools-bastion-01:~$ mysql --defaults-file=replica.my.cnf -h labsdb1003.eqiad.wmnet -s -e "select count(*) from revision left join page on rev_page = page_id where page_id is null" plwikisource_p
count(*)
64
Ankry added a comment.Sep 26 2015, 9:57 AM

@Krenair , can you verify if the orphaned revisions exist also in the production database? IMO, it is likely. They all seem to be related to page move process and likely created because of some bug. At least the recent ones:

{from Quarry}

select rev_id,rev_page,rev_timestamp from plwikisource_p.revision left join plwikisource_p.page on rev_page = page_id where page_id is null and rev_timestamp > '20150813170500';

rev_id	rev_page rev_timestamp	rev_user_text

929000	335961	20150813170533	Ankry
929201	336061	20150813170716	Ankry
929404	336162	20150813170907	Ankry
929607	336262	20150813171127	Ankry
929809	336362	20150813171332	Ankry
930010	336462	20150813171513	Ankry
930212	336562	20150813171645	Ankry
930414	336662	20150813171813	Ankry
930615	336762	20150813171945	Ankry
930816	336862	20150813172129	Ankry
931017	336962	20150813172255	Ankry
931220	337062	20150813172632	Ankry
931421	337162	20150813172833	Ankry

seem to be created as side effect of moving a page that has >1300 subpages (the page was moved multiple times there and back over redirect to bypass the 100 subpages limit).
I do not see any way to verify existence of these revisions in the production database via web interface.

Krenair closed this task as Resolved.Sep 26 2015, 1:01 PM

They all appear to me.