PHP Fatal error: GadgetRepo::getStructuredList(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "MediaWiki\Extension\Gadgets\Gadget" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide an autoloader to load the class definition in GadgetHooks.php:66 HookContainer.php:338 HookContainer.php:137 HookRunner.php:4103 DefaultOptionsLookup.php:108 UserOptionsManager.php:595 UserOptionsManager.php:497 UserOptionsManager.php:147 User.php:2357 RequestContext.php:384 Message.php:808 RequestContext.php:476 ContextSource.php:198 OutputPage.php:1010 Article.php:464 ViewAction.php:80 MediaWiki.php:544 MediaWiki.php:321 MediaWiki.php:910 MediaWiki.php:564 index.php:53 index.php:46 /srv/mediawiki/tags/2022-03-08_08:40:53/extensions/Gadgets/includes/GadgetRepo.php on line 94
This happened during translatewiki.net deployment window and caused 6 minute downtime for the site. I guess this is related to T303194: Gadgets extensions should not cache serialized PHP objects. During canary testing we have two code bases using same cache. WMF production only has very limited duration when this happens during deployments. But I think this would be an issue if rollback of the train is needed.
I think this could have abandoned by bumping the cache key(s).
I am not sure if anything can be done about this particular case anymore, but I would like to see someone take the ball on figuring how to reduce the likelihood of this happening again in the future.