Page MenuHomePhabricator

Fix intermittend ghost entries in FileModule 'fileHashes' data
Closed, ResolvedPublic

Description

Original discovery reported at https://phabricator.wikimedia.org/T102578#1584302.

This is yet another bug that is causing all file module cache to be invalidated whenever we deploy a new branch.

@@ -1,5 +1,5 @@
 > return $wgVersion;
-1.26wmf19
+1.26wmf20
 > return $m->getModuleContent( $c );
 array(3) {
   ["scripts"]=>
@@ -82,15 +82,13 @@
       bool(false)
     }
     ["fileHashes"]=>
-    array(2) {
+    array(1) {
       [0]=>
       string(40) "2c8553784d9e0e8b565d6c4cd525556ce87fbdd0"
-      [1]=>
-      string(40) "2c8553784d9e0e8b565d6c4cd525556ce87fbdd0"
     }
     ["msgBlobMtime"]=>
     int(1)
   }
 }
 > return $m->getVersionHash( $c );
-f1Ifa+cB
+eqAznAKY

The funny thing is that when switching it's alternating inconsistently. One when I switched testwiki from wmf19 to wmf20 the entry was added. Another time the entry was removed. It doesn't seem deterministic (e.g. not a bug in wmf20, but something we've had for a while).

The same happened when wikis switched to wmf21 earlier this week.

Event Timeline

Krinkle claimed this task.
Krinkle raised the priority of this task from to High.
Krinkle updated the task description. (Show Details)
Krinkle added subscribers: ori, Krinkle, Aklapper.
Krinkle added a subscriber: aaron.

Change 240301 had a related patch set uploaded (by Krinkle):
[WIP] resourceloader: Placeholderize all the things

https://gerrit.wikimedia.org/r/240301

I think there is a good chance that this is caused by T113868: File dependency tracking unstable (varies by language). But if that were true, this would happen regularly, and not just when new versions are deployed.

Change 240301 merged by jenkins-bot:
resourceloader: Store relative instead of absolute paths in module_deps

https://gerrit.wikimedia.org/r/240301