https://bugzilla.wikimedia.org/show_bug.cgi?id=37225

--- Comment #56 from Aaron Schulz <aschulz4...@gmail.com> 2012-07-06 22:19:17 
UTC ---
I did some more live debug logging.

I see things like:
2012-07-06 22:05:50 mw69 frwiki: Could not load rev 80557024 for Bargen (Berne)
[208044].
2012-07-06 22:02:57 mw68 itwiki: Could not load rev 50844198 for Grandecourt
[195339].
2012-07-06 21:28:18 mw39 enwiki: Could not load last rev for Dallas Mavericks
[72880].
...which usually refer to duplicate edits.

So the "$revision = Revision::newFromPageId( $this->getId(), $latest );" call
in loadLastEdit() seems to return false sometimes, causing getRawText() to
return false, causing the strcmp( $text, $oldtext ) to detect a change in text.
This can lead to duplicate revision, and an RC row with a change size of the
whole text (since $oldsize is 0).

I don't know why that happens, or why newFromPageId() would return false there.
It falls back the master if the revision is not found, so in theory it
shouldn't be slave lag. But looking at the above logs (which give rev ID, page
title, and page ID) and inspecting the pages, those revs clearly exist with
those parameters, so there is no reason they shouldn't have been found.
Normally, something like this points to a bug around slave lag.

In any case, I may be able to stop this problem by just throwing exceptions
when getRawText() returns false but getLatest() is not zero.

I also see strange things like:
2012-07-06 21:49:15 srv216 enwiki: Could not find text with ID 0.
...that sounds like its own bug to look at. Sounds like something maybe using
Revision::newFromRow() without rev_text_id in the field list and then calling
getText().

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to