}
while( true ) {
try {
- return $this->doGetText( $id );
+ $text = $this->doGetText( $id );
+ $ex = new MWException("Graceful storage failure");
} catch (DBQueryError $ex) {
+ $text = false;
+ }
+ if( $text === false ) {
$this->failures++;
if( $this->failures > $this->maxFailures ) {
throw $ex;
} else {
$this->progress( "Database failure $this->failures " .
- "of allowed $this->maxFailures! " .
+ "of allowed $this->maxFailures for revision $id! " .
"Pausing $this->failureTimeout seconds..." );
sleep( $this->failureTimeout );
}
+ } else {
+ return $text;
}
}
}
array( 'old_id' => $id ),
'TextPassDumper::getText' );
$text = Revision::getRevisionText( $row );
+ if( $text === false ) {
+ return false;
+ }
$stripped = str_replace( "\r", "", $text );
$normalized = UtfNormal::cleanUp( $stripped );
return $normalized;