Don't retry invalid thumbnail requests due to impossible width
authorGilles Dubuc <gdubuc@wikimedia.org>
Tue, 28 Jul 2015 15:21:17 +0000 (17:21 +0200)
committerGilles Dubuc <gdubuc@wikimedia.org>
Tue, 28 Jul 2015 15:21:17 +0000 (17:21 +0200)
At the moment this isn't going to work in production, because varnish
turns 400s into 500s. But I'll try to fix that separately.

Bug: T106740
Change-Id: Id156ee4ac986ad2a6d7e49dfe8aa7577764eca11

includes/jobqueue/jobs/ThumbnailRenderJob.php

index d1d9999..f558c48 100644 (file)
@@ -55,11 +55,10 @@ class ThumbnailRenderJob extends Job {
 
                                wfDebug( __METHOD__ . ": received status {$status}\n" );
 
-                               if ( $status === 200 || $status === 301 || $status === 302 ) {
+                               // 400 happens when requesting a size greater or equal than the original
+                               if ( $status === 200 || $status === 301 || $status === 302 || $status === 400 ) {
                                        return true;
                                } elseif ( $status ) {
-                                       // Note that this currently happens (500) when requesting sizes larger then or
-                                       // equal to the original, which is harmless.
                                        $this->setLastError( __METHOD__ . ': incorrect HTTP status ' . $status . ' when hitting ' . $thumbUrl );
                                        return false;
                                } else {