Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate cache_types from app/etc/config.php #32605

Open
wants to merge 1 commit into
base: 2.5-develop
Choose a base branch
from

Conversation

kassner
Copy link
Contributor

@kassner kassner commented Mar 26, 2021

Description

When trying to run Magento in a read-only filesystem, ideally both config.php and env.php should be read-only as well, but that breaks the ability of turning on/off any cache type in using php bin/magento cache:(disable|enable). This PR splits the cache_types key away from config.php, so system administrators can still guarantee that the config.php and all its values can't be changed during execution, but still allow the caches to be toggled by mounting app/etc/cache.php into a writable filesystem.

Fixed Issues (if relevant)

  1. Fixes Read-only app/etc/ #26292

Manual testing scenarios

  1. Deploy magento in a read-only filesystem;
  2. Mount app/etc/cache.php in a writable filesystem (symbolic link works);
  3. Use php bin/magento cache:disable

Contribution checklist (*)

  • Pull request has a meaningful description of its purpose
  • All commits are accompanied by meaningful commit messages
  • All new or changed code is covered with unit/integration tests (if applicable)
  • All automated tests passed successfully (all builds are green)

@m2-assistant
Copy link

m2-assistant bot commented Mar 26, 2021

Hi @kassner. Thank you for your contribution
Here are some useful tips how you can test your changes using Magento test environment.
Add the comment under your pull request to deploy test or vanilla Magento instance:

  • @magento give me test instance - deploy test instance based on PR changes
  • @magento give me 2.5-develop instance - deploy vanilla Magento instance

❗ Automated tests can be triggered manually with an appropriate comment:

  • @magento run all tests - run or re-run all required tests against the PR changes
  • @magento run <test-build(s)> - run or re-run specific test build(s)
    For example: @magento run Unit Tests

<test-build(s)> is a comma-separated list of build names. Allowed build names are:

  1. Database Compare
  2. Functional Tests CE
  3. Functional Tests EE,
  4. Functional Tests B2B
  5. Integration Tests
  6. Magento Health Index
  7. Sample Data Tests CE
  8. Sample Data Tests EE
  9. Sample Data Tests B2B
  10. Static Tests
  11. Unit Tests
  12. WebAPI Tests
  13. Semantic Version Checker

You can find more information about the builds here

ℹ️ Please run only needed test builds instead of all when developing. Please run all test builds before sending your PR for review.

For more details, please, review the Magento Contributor Guide documentation.

⚠️ According to the Magento Contribution requirements, all Pull Requests must go through the Community Contributions Triage process. Community Contributions Triage is a public meeting.

🕙 You can find the schedule on the Magento Community Calendar page.

📞 The triage of Pull Requests happens in the queue order. If you want to speed up the delivery of your contribution, please join the Community Contributions Triage session to discuss the appropriate ticket.

🎥 You can find the recording of the previous Community Contributions Triage on the Magento Youtube Channel

✏️ Feel free to post questions/proposals/feedback related to the Community Contributions Triage process to the corresponding Slack Channel

@kandy
Copy link
Contributor

kandy commented Mar 26, 2021

Thanks for your contribution.
I believe that move the cache part to a separate file has the same drawback as having it in env.php.
Can I propose a slightly different approach to such a problem:
Let's modify logic of \Magento\Framework\App\DeploymentConfig and merge configuration from file with data from environment variables.
For example: for disabling Layout Cache you can set env variable MAGENTO_CACHE_TYPES__LAYOUT=0 (config key cache_types/layout)

@kassner
Copy link
Contributor Author

kassner commented Mar 26, 2021 via email

@kassner
Copy link
Contributor Author

kassner commented Mar 26, 2021 via email

@ihor-sviziev
Copy link
Contributor

ihor-sviziev commented Mar 29, 2021

Moved to #26292 (comment)

@kassner
Copy link
Contributor Author

kassner commented Mar 29, 2021

@ihor-sviziev please open this discussion in #26292.

@gabrieldagama gabrieldagama added the Priority: P3 May be fixed according to the position in the backlog. label May 4, 2021
@ihor-sviziev
Copy link
Contributor

@magento run all tests

@magento-automated-testing
Copy link

The requested builds are added to the queue. You should be able to see them here within a few minutes. Please re-request them if they don't show in a reasonable amount of time.

@hostep
Copy link
Contributor

hostep commented Apr 15, 2023

@ihor-sviziev: should we change the target branch to 2.4-develop again? Because 2.5 is seemingly never going to happen in the near future (and maybe never at all) as far as I know?

@ihor-sviziev
Copy link
Contributor

ihor-sviziev commented Apr 15, 2023

@hostep I think yes, but general question if we can accept it at all due to this is a backward incompatible change

@engcom-Hotel
Copy link
Contributor

engcom-Hotel commented Aug 24, 2023

Hello @kassner,

Thanks for the contribution!

As this PR is targeted to the 2.5-develop branch, we are not processing the PRs with 2.5-develop for now. So I request you to please change the target to 2.4-develop so that we can move further with this PR.

Till the time we are moving this PR on hold.

Thanks

@sinhaparul
Copy link
Contributor

We are currently processing PRs targeted to 2.4-develop only. So, removing this from the community picked backlog for now.

@sinhaparul sinhaparul added the Project: Community Picked PRs upvoted by the community label Dec 18, 2023
@sinhaparul sinhaparul removed the Project: Community Picked PRs upvoted by the community label Dec 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Award: advanced Priority: P3 May be fixed according to the position in the backlog. Progress: pending review Release Line: 2.5
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants