If Drupal fails to write cache or something in a certain point, Page Manager returns 404 page, instead of 5xx error.
It is because that \Drupal\page_manager\Routing\VariantRouteFilter
catches and ignores all \Exception
s thrown by route enhancers.
try {
$attributes = $enhancer->enhance($attributes, $request);
}
catch (\Exception $e) {
return FALSE;
}
DB errors should be reported as 5xx errors, not Not Found. This can be a serious problem if the site has a cache server. In our case, the cache server cached 404 responses, and then end-users could not access some existing pages. If 5xx status codes had been returned, it would have been just temporal errors due to high load.
\Drupal\Core\Database\DatabaseException
. (TODO: I will add such classes as test cases.)Catch and re-throw \PDOException
, DatabaseException
and TempStoreException
thrown by route enhancers.
None
None
None
Needs work
Code
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.