Hi Nick,
Thanks.
I tried that - but it appears that the subsequent call to getItem also fails. I think I've found the problem, it seems like these entries are self-referencing.
It look a HistoryBlobStub just points to another row in the text table. For ex:
mysql> select old_text from text where old_id=305923
returns
O:15:"HistoryBlobStub":3:{s:6:"mOldId";s:6:"163388";s:5:"mHash";s:32:"f7b8c3ca281ce771ac06fd23131dbe08";s:4:"mRef";s:6:"305923";}
When I load the revision that has rev_text_id=305923 it actually loads the text row where old_id = 163388, which is found in the contents of the serialized object for id 305923; This old version loads without problem for me from the page history:
But check out the entry I'm having problems with:
mysql> select old_text from text where old_id=246631;
O:15:"HistoryBlobStub":3:{s:6:"mOldId";s:6:"246631";s:5:"mHash";s:32:"c87a9d76bbd59c9a1218c5620fc889dd";s:4:"mRef";s:6:"246631";}
The OldId in the serialized object references itself - the same Id: 246631 - so it will never load the text.
It seems that compressOld messed this entry up, and it looks like we have about 466 of these self-referencing entries.
Any ideas on how to fix this, or what could have caused it?
Thanks, Travis