-
Notifications
You must be signed in to change notification settings - Fork 113
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
Slowness while importing large projects or making POM changes #1670
Comments
@eliasbalasis please see here for how such reports should include at the required information: "This has become almost unbearable on projects with large number of modules." is quite vague and hard to address. |
Thanks @laeubi, the complaint is indeed vague but unfortunately the projects are private and I cannot publish them. I have been following Eclipse IDE and M2E since their birth and I am confident of what I am expressing. I will try to find alternative ways of describing the problem. |
Any other Opensource project that shows similar behavior will suffice :-) |
I am afraid no public project that I could create would be big enough to reproduce the problem accurately. That said, in relation to the original problem, it seems Eclipse is making unnecessary permutations.
Would this be helpful? |
Good question, if you can reproduce it you probably want to start a debug session to look further into it an provide a PR? |
@laeubi , I hope you will agree that I cannot afford learning m2e-core only to reproduce a problem. I was hoping for my observation to serve as a hint for someone familiar with the project. |
@eliasbalasis It's near impossible to fix such problems if we cannot reproduce them. Back then, there were some examples to reproduce, we could derive some from the huge Apache Camel project. |
If this is crucial to someones business and likes to speed up the development in that area a sponsoring would allow me to assign more time-slots to issues in general, also a dedicated contract for a specific issue is possible and then I can even sign a NDA or similar to get access to the non public example/code. If there is no public real projects as mentioned by @mickaelistria its hardly impossible and highly unlikely as then one can neither prove there is a problem, nor analyses it and even never be sure that a certain optimization even improves the situation. |
I understand the difficulties. I will try to monitor a "cluster" of my subprojects as suggested but I will also consider sponsoring or the NDA approach. |
@eliasbalasis @laeubi what about this idea:
|
@ahoehma we don't want to optimize m2e for nonsense but for real life projects, also you can make every process slow if you just use enough data but this mostly does not replicate the actual issue.
What abour cvs, svn, mecurial, ... |
I got your point @laeubi . Another idea: Maybe m2e could contain "something" which I as a user can enable to create a "report" which helps m2e develop to find bottlenecks? Full blown profiling is maybe too "private" ... something which is okay also for "closed source real world projects". A kind of build-metrics-report but "anonymized". |
If you like to provide such thing, it would be welcome but consider that even if one can provide such thing this does not mean it will/can be fixed (we are all working on our free time here!) so if not the project can be provided (aka closed source you make money with) its unlikely it gets fixed "for free", so either one can analyze it yourself (in wich case anonymized is not important at all) and suggest an fix/improvement, or you hire a person that then can sign an NDA contract so anonymized is also not that important. |
Thanks @ahoehma , @laeubi for sharing your thoughts. Unfortunately, it is a real life project that I am referring to. As I am suspecting and I could be wrong, if depth and complexity of Maven modules structure is leading to the slowness, perhaps due to increased or unnecessarily large number of permutations generated by M2E, then creating a very big project equivalent to the real one would be rather difficult but not impossible. I have to agree with @laeubi on the anonymized metrics report engine front. |
BTW next m2e is out so maybe test this, in general following the snapshots could help in reveling problems fast and getting them fixed fast as it is clear what causing them e.g. see this one: |
On Eclipse 2023-12 with m2e 2.6.0 when importing a descendand Maven project in a hierarchy of Maven projects, I am noticing the "Import Maven Projects" task reporting import of ancestor modules already imported into the workspace, unnecessarily in my point view, which sounds like extra permutations. Does this give you any hints or clues ? |
If you can construct an example of unnecessarily imports that would be good, in general its sadly hard to decide, because a project might be imported standalone, or with its parent, then one can have aggregator poms that aggregate projects with different parents and so on... |
see execution snapshot snapshot-1.zip I intend to provide a Maven hierarchy similar to ours, in order to demonstrate the unnecessary imports or other undesirable behaviours, but it will take time that I don't have at the moment.
This sounds a lot like our multi ancestor layered structure Our actual structure has a much larger number of modules and a couple of more layers but the driving thought process is the same, an ancestor modules chain forming a baseline of inherited dependencies and build steps for concrete solutions of different types but all part of the same organization's practices. Would this help? @laeubi Either way, |
Past slowness was fixed in #155 and m2e 1.20.0 which was made part of Eclipse 2022-03
However, the slowness has returned in 2023-09 with "M2E - Maven Intrgration for Eclipse" 2.4.100.20230827-1557
This has become almost unbearable on projects with large number of modules.
The problem becomes even worse when importing hierarchies of projects and making a configuration change in one of the ancestor projects.
The text was updated successfully, but these errors were encountered: