Deployment cache - Unable to install the %module module since it does not exist.

Created on 11 July 2022, almost 2 years ago
Updated 20 March 2023, about 1 year ago

Problem/Motivation

In our deployments we have a release folder setup.
Only after a deployments is successful the new release folder will be symlinked.
Therefor it is possible that during a deployment cache will be triggered on a previous release.

This can cause the \Drupal\Core\Extension\ExtensionList::getList method to think a module does not exist based on cache from another release.

In the past most of the issues occurring from this setup could be solved by setting the "Deployment identifier" correctly.
Unfortunately this is not the case for the ConfigImportSubscriber.
( webroot/core/lib/Drupal/Core/EventSubscriber/ConfigImportSubscriber.php:116 )

Steps to reproduce

Have separate release folders ( one with an new module and one without )
Trigger cache (getList) on release without the concerning module.
Run config import on the other release folder.

Proposed resolution

In \Drupal\Core\Extension\ExtensionList::getListCacheId make use of the "deployment_identifier".

πŸ› Bug report
Status

Needs work

Version

9.3

Component
ExtensionΒ  β†’

Last updated 3 days ago

No maintainer
Created by

πŸ‡³πŸ‡±Netherlands Willempje2

Live updates comments and jobs are added and updated live.
  • Needs tests

    The change is currently missing an automated test that fails when run with the original code, and succeeds when the bug has been fixed.

Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.69.0 2024