Open antoinekociuba opened 3 years ago
Hi @antoinekociuba. Thank you for your report. To help us process this issue please make sure that you provided the following information:
Please make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce. To deploy vanilla Magento instance on our environment, please, add a comment to the issue:
@magento give me 2.4-develop instance
- upcoming 2.4.x release
For more details, please, review the Magento Contributor Assistant documentation.
Please, add a comment to assign the issue: @magento I am working on this
Join Magento Community Engineering Slack and ask your questions in #github channel.
:warning: According to the Magento Contribution requirements, all issues must go through the Community Contributions Triage process. Community Contributions Triage is a public meeting.
:clock10: You can find the schedule on the Magento Community Calendar page.
:telephone_receiver: The triage of issues 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.
:movie_camera: You can find the recording of the previous Community Contributions Triage on the Magento Youtube Channel
:pencil2: Feel free to post questions/proposals/feedback related to the Community Contributions Triage process to the corresponding Slack Channel
cc: @Vinai may have solid knowledges on this area
I've had issues in the past with Redis becoming unresponsive because of the number of cache clean requests generated by an import script. So in general I agree this issue exists when there are a large number of clean requests.
I heard from one colleague who also had issues and solved them by collecting cache clean requests instead of sending them to the backend immediately. Then a batch job (he used cron at the time) collected all pending tags and removed duplicates. It batched tags so they fit into a single request to Varnish (because of the header size limit).
Hi @engcom-Bravo. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:
[ ] 1. Verify that issue has all the required information. (Preconditions, Steps to reproduce, Expected result, Actual result).Details
If the issue has a valid description, the label Issue: Format is valid
will be added to the issue automatically. Please, edit issue description if needed, until label Issue: Format is valid
appears.
[ ] 2. Verify that issue has a meaningful description and provides enough information to reproduce the issue. If the report is valid, add Issue: Clear Description
label to the issue by yourself.
[ ] 3. Add Component: XXXXX
label(s) to the ticket, indicating the components it may be related to.
[ ] 4. Verify that the issue is reproducible on 2.4-develop
branchDetails
- Add the comment @magento give me 2.4-develop instance
to deploy test instance on Magento infrastructure.
- If the issue is reproducible on 2.4-develop
branch, please, add the label Reproduced on 2.4.x
.
- If the issue is not reproducible, add your comment that issue is not reproducible and close the issue and stop verification process here!
[ ] 5. Add label Issue: Confirmed
once verification is complete.
[ ] 6. Make sure that automatic system confirms that report has been added to the backlog.
Hi @engcom-Alfa. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:
[ ] 1. Verify that issue has all the required information. (Preconditions, Steps to reproduce, Expected result, Actual result).Details
If the issue has a valid description, the label Issue: Format is valid
will be added to the issue automatically. Please, edit issue description if needed, until label Issue: Format is valid
appears.
[ ] 2. Verify that issue has a meaningful description and provides enough information to reproduce the issue. If the report is valid, add Issue: Clear Description
label to the issue by yourself.
[ ] 3. Add Component: XXXXX
label(s) to the ticket, indicating the components it may be related to.
[ ] 4. Verify that the issue is reproducible on 2.4-develop
branchDetails
- Add the comment @magento give me 2.4-develop instance
to deploy test instance on Magento infrastructure.
- If the issue is reproducible on 2.4-develop
branch, please, add the label Reproduced on 2.4.x
.
- If the issue is not reproducible, add your comment that issue is not reproducible and close the issue and stop verification process here!
[ ] 5. Add label Issue: Confirmed
once verification is complete.
[ ] 6. Make sure that automatic system confirms that report has been added to the backlog.
Hi @engcom-Hotel. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:
[ ] 1. Verify that issue has all the required information. (Preconditions, Steps to reproduce, Expected result, Actual result).Details
If the issue has a valid description, the label Issue: Format is valid
will be added to the issue automatically. Please, edit issue description if needed, until label Issue: Format is valid
appears.
[ ] 2. Verify that issue has a meaningful description and provides enough information to reproduce the issue. If the report is valid, add Issue: Clear Description
label to the issue by yourself.
[ ] 3. Add Component: XXXXX
label(s) to the ticket, indicating the components it may be related to.
[ ] 4. Verify that the issue is reproducible on 2.4-develop
branchDetails
- Add the comment @magento give me 2.4-develop instance
to deploy test instance on Magento infrastructure.
- If the issue is reproducible on 2.4-develop
branch, please, add the label Reproduced on 2.4.x
.
- If the issue is not reproducible, add your comment that issue is not reproducible and close the issue and stop verification process here!
[ ] 5. Add label Issue: Confirmed
once verification is complete.
[ ] 6. Make sure that automatic system confirms that report has been added to the backlog.
Seem related with recently prob
Hello @antoinekociuba,
We are able to reproduce the issue in the 2.4-develop branch with the following steps, hence we are confirming the issue:
Thanks for the contribution.
@engcom-Hotel Thank you for verifying the issue.
Unfortunately, not enough information was provided to acknowledge ticket. Please consider adding the following:
"Reproduced on "
label(s) to this ticket based on verification resultOnce all required information is added, please add label "Issue: Confirmed"
again.
Thanks!
:white_check_mark: Confirmed by @engcom-Hotel
Thank you for verifying the issue. Based on the provided information internal tickets MC-43065
were created
Issue Available: @engcom-Hotel, You will be automatically unassigned. Contributors/Maintainers can claim this issue to continue. To reclaim and continue work, reassign the ticket to yourself.
I heard from one colleague who also had issues and solved them by collecting cache clean requests instead of sending them to the backend immediately. Then a batch job (he used cron at the time) collected all pending tags and removed duplicates. It batched tags so they fit into a single request to Varnish (because of the header size limit).
@Vinai seem this is private fix . Hope we can able deliver to repo public magento
Hi there,
After digging on clean cache by tags mechanism from the back office (save product, category, CMS block and CMS page) and from the CLI full reindex, I have notice that
clean_cache_by_tags
event is dispatched multiple times, at different places, which could makes sense, but also triggers many duplicated clean cache calls, with mostly same tag(s) to clean, which becomes pretty useless and overkill.I enclosed below some logs with backtraces on different kind of entities/actions:
cache_clean_category.log cache_clean_cms_block.log cache_clean_cms_page.log cache_clean_configurable_product_index_save.log cache_clean_configurable_product_index_schedule.log cache_clean_full_reindex.log cache_clean_simple_product_index_save.log cache_clean_simple_product_index_schedule.log
Preconditions (*)
Steps to reproduce (*)
Magento\CacheInvalidate\Observer\InvalidateVarnishObserver
PHP class or inMagento\PageCache\Observer\FlushCacheByTags
PHP class.Expected result (*)
Do not trigger duplicated cache clean actions with the exact same cache tags mostly, and reduce number of cache clean actions in the same execution thread (less connexions/traffic to Redis/Varnish/Anything else).
It could be nice to have a kind of 'Tags to clean' collector object, which will be responsible to collect, obviously, and to launch, at the very end of any save actions and/or full reindex CLI process, only one or needed cache clean calls, without any duplicated tags.
Actual result (*)
Thank you in advance for your help and your consideration.