Skip to content

[MRESOLVER-32] Parallel deploy and more #237

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

Closed
wants to merge 8 commits into from

Conversation

cstamas
Copy link
Member

@cstamas cstamas commented Jan 31, 2023

General improvements regarding threads and thread pool use in code, leaving all the functionality untouched (same things are done, just centralized), while basic connector is the only modified one, that is now able to perform parallel upload as well.

Changes:

  • introduced ThreadUtils that supports "core count" expressions (blatantly copied from Maven -T parsing)
  • all thread using components redirected to ThreadUtils, removed scattered boiler plate and duplications
  • BF collector enhanced: now skipper and parallelCollector are both closeable, ensuring there is no thread pool left dangling
  • connector new feature (disabled by default): perform PUTs in parallel

In action: https://asciinema.org/a/fBTcOTSJF0cRmHsr8hZuIQrpw
(note: local repo contained m-deploy-p 3.1.0-SNAPSHOT installed, needed to fully utilize deployAtEnd apache/maven-deploy-plugin#38)


https://issues.apache.org/jira/browse/MRESOLVER-32

Applied very same logic that download has, uses same pool
as well.

---

https://issues.apache.org/jira/browse/MRESOLVER-32
@cstamas cstamas self-assigned this Jan 31, 2023
@cstamas cstamas marked this pull request as ready for review January 31, 2023 19:12
@cstamas cstamas changed the title [MRESOLVER-32] Parallel deploy [MRESOLVER-32] Parallel deploy and more Feb 1, 2023
Every new feature should remain dormant unless said so.
Copy link
Member

@michael-o michael-o left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move the introduction of ThreadsUtils to a separate PR. Also the change from int to String might lead to missed input stream the config utils request an int, no?

Copy link
Member

@slawekjaranowski slawekjaranowski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should provide separate PR with separate issue for each new feature.
As you mention in description I see new features or improvements like:

  • dynamic core count
  • BF collector enhanced
  • PUTs in parallel

@cstamas
Copy link
Member Author

cstamas commented Feb 2, 2023

Ok, will do it, but sequentially, as I don't see how to create these 3 PRs simultaneously without conflicts against each other, and I would not like to spend time on fixing conflicts after each merge, just for "purity". So, please then, be prepared for snappy reviews 😉

In other words, having these 3 commits separate is okay, but will not allow their initial purpose (for example to roll back one of them) as all 3 are quite interleaving with each other.

@michael-o
Copy link
Member

Ok, will do it, but sequentially, as I don't see how to create these 3 PRs simultaneously without conflicts against each other, and I would not like to spend time on fixing conflicts after each merge, just for "purity". So, please then, be prepared for snappy reviews 😉

In other words, having these 3 commits separate is okay, but will not allow their initial purpose (for example to roll back one of them) as all 3 are quite interleaving with each other.

Layered, sequentically, of course. Not in parallel.

@michael-o
Copy link
Member

Why make parallel put an option? I mean if we do parallel downloads by default, why not do the same with uploads? Do you see a risk here?

@cstamas
Copy link
Member Author

cstamas commented Feb 7, 2023

@cstamas cstamas closed this Feb 7, 2023
@cstamas cstamas deleted the MRESOLVER-32-parallel-up branch February 7, 2023 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants