Three identical queries from the 'research_prod' user have just passed one
month execution time on s1-anlytics-slave:
select count(*)
from staging.ourvision r
where exists (
select *
from staging.ourvision r1
inner join
staging.ourvision r2
on r2.sha1 = r1.sha1
where r1.page_id = r.page_id
and r2.page_id = r.page_id
and DATE_ADD(r.timestamp, INTERVAL 1 HOUR)
and r2.timestamp between r.timestamp and DATE_SUB(r.timestamp ,
INTERVAL 1 HOUR)
and r1.sha1!= r.sha1
);
I havn't checked to see if the queries are just that amazingly slow, or if
they're part of a larger ongoing transaction. In any case, three month-long
transactions is pushing the resource limits of the slave and will soon
result in either mass replication lag or some other interesting lockup that
may in turn take days to rollback :-)
Can we kill these? Can we optimize and/or redesign the jobs? Happy to
help...