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

Additional repository kills Web Setup Wizard Component Manager performance #4986

Closed
fooman opened this issue Jun 12, 2016 · 7 comments
Closed
Labels
bug report feature request Issue: Format is not valid Gate 1 Failed. Automatic verification of issue format is failed Issue: Ready for Work Gate 4. Acknowledged. Issue is added to backlog and ready for development

Comments

@fooman
Copy link
Contributor

fooman commented Jun 12, 2016

Steps to reproduce

  1. Install Magento 2.1.0-rc1
  2. Add a custom repository to your main composer.json
  3. Navigate from the admin to the Web Setup Wizard
  4. Open the Component Manager

Expected result

  1. Component Manager is functional

Actual result

  1. Component Manager never finishes loading the grid in a timely manner (tested with 10 minute timeout)

Cause

This code here https://github.com/magento/magento2/blob/2.1.0-rc2/setup/src/Magento/Setup/Model/PackagesData.php#L361 causes an avalanche of individual composer commands for every single package including Magento ones, if more than 1 repository is present

@pboisvert
Copy link

@tanya-soroka can you have the team investigate this one?

@vancoz
Copy link

vancoz commented Jun 14, 2016

Hi @fooman, currently Component Manager support only repo.magento.com, there is no way to add new repos via web interface or change it.

In case if you have only repo.magento.com in your composer.json - performance of the Component Manager will be good. In case if you will add custom repo - Component Manager switches to kind of "qa/debug" mode and it calls "composer info" for each installed component, of corse this kills performance.

Conclusion:

  1. Component Manager supports only repo.magento.com right now;
  2. Please use command line if you need to use one more repo or custom repo;

Also we will work with @tanya-soroka on story to improve it (internal ticket MAGETWO-54289).

Thank you.

@vancoz vancoz closed this as completed Jun 14, 2016
@fooman
Copy link
Contributor Author

fooman commented Jun 14, 2016

@vancoz this ticket should remain open until a fix is available. It currently sounds like debug code that is used internally got shipped in the product.

Consider the following scenarios:

1.) I am a system integrator and I develop a custom extension for a client. The code is kept under version control in a separate repository. To install it I add a repository to my main composer.json

2.) I am a merchant and I develop a custom theme for my store. The code is kept under version control in a separate repository. To install it I add a repository to my main composer.json

3.) I am a merchant and want to install an open source extension which is only available on github. To install it I add a repository to my main composer.json.

Essentially anyone using Composer how it's meant to work will be kept from using the Component Manager due to this acknowledged limitation. My conclusion is that not addressing this will hurt Marketplace adoption.

@vancoz
Copy link

vancoz commented Jun 20, 2016

Hello @fooman, I agree, currently Component Manager does not support all this scenarios and our product team working on it. But I also can share my personal opinion, let's have a look from other side - Magento is responsible for Marketplace and what is stored in Marketplace, we do code check, we do make sure that extensions are secure etc. And we can't guarantee that extensions from other sources are safe to install.

In case of SI or developers - I think they should take this responsibility in case if they decide do share extensions in other way than Marketplace, and probably they should help merchants to install this extensions using command line (composer).

Btw, this is my personal opinion, and currently our PO team working on different scenarios and approach.

And thank you for your response, also feel free to comment or suggest what you think about that, we are community driven company and you response will impact our decision for sure.

@piotrekkaminski
Copy link
Contributor

It's a typical use case to have more composer repositories defined and Magento needs to support this flow.

@veloraven veloraven added the Issue: Ready for Work Gate 4. Acknowledged. Issue is added to backlog and ready for development label Oct 26, 2016
@magento-engcom-team magento-engcom-team added bug report Issue: Format is not valid Gate 1 Failed. Automatic verification of issue format is failed labels Sep 11, 2017
@magento-engcom-team
Copy link
Contributor

Could you please let us know if the issue is still actual for versions 2.2.1? Thank you.

@magento-engcom-team
Copy link
Contributor

Hi @fooman. Thank you for the report. We are moving your feature request to the special project. You can track this issue here: magento/community-features#42

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug report feature request Issue: Format is not valid Gate 1 Failed. Automatic verification of issue format is failed Issue: Ready for Work Gate 4. Acknowledged. Issue is added to backlog and ready for development
Projects
None yet
Development

No branches or pull requests

7 participants