feat: add scatter-gather design pattern #3577 - #3590
Conversation
PR SummaryIntroduced a new scatter-gather module implementing the Scatter-Gather concurrency pattern. Adds Aggregator, TaskSupplier, AirlineService, and ScatterGatherExecutor to execute multiple tasks in parallel with a timeout, gather successful results, and aggregate them. Includes App skeleton, unit tests for Aggregator, AirlineService, and ScatterGatherExecutor, a README with an overview and a diagram, and a root pom.xml module update. Changes
autogenerated by presubmit.ai |
There was a problem hiding this comment.
✅ LGTM!
Review Summary
Files Processed (12)
- pom.xml (1 hunk)
- scatter-gather/README.md (1 hunk)
- scatter-gather/etc/scatter-gather-pattern.png (0 hunks)
- scatter-gather/pom.xml (1 hunk)
- scatter-gather/src/main/java/com/iluwatar/scattergather/Aggregator.java (1 hunk)
- scatter-gather/src/main/java/com/iluwatar/scattergather/AirlineService.java (1 hunk)
- scatter-gather/src/main/java/com/iluwatar/scattergather/App.java (1 hunk)
- scatter-gather/src/main/java/com/iluwatar/scattergather/ScatterGatherExecutor.java (1 hunk)
- scatter-gather/src/main/java/com/iluwatar/scattergather/TaskSupplier.java (1 hunk)
- scatter-gather/src/test/java/com/iluwatar/scattergather/AggregatorTest.java (1 hunk)
- scatter-gather/src/test/java/com/iluwatar/scattergather/AirlineServiceTest.java (1 hunk)
- scatter-gather/src/test/java/com/iluwatar/scattergather/ScatterGatherExecutorTest.java (1 hunk)
Actionable Comments (0)
Skipped Comments (5)
-
scatter-gather/src/main/java/com/iluwatar/scattergather/ScatterGatherExecutor.java [58-58]
best_practice: "Replace toList() with Collectors.toList() for compatibility"
-
scatter-gather/src/main/java/com/iluwatar/scattergather/ScatterGatherExecutor.java [36-36]
best_practice: "Add missing import for Collectors"
-
scatter-gather/src/main/java/com/iluwatar/scattergather/TaskSupplier.java [32-32]
readability: "Javadoc formatting"
-
scatter-gather/src/main/java/com/iluwatar/scattergather/TaskSupplier.java [34-34]
readability: "Typo in Javadoc"
-
scatter-gather/pom.xml [46-49]
best_practice: "Add junit-jupiter-api test dependency"
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3590 +/- ##
============================================
+ Coverage 83.69% 83.82% +0.12%
- Complexity 4257 4268 +11
============================================
Files 1115 1118 +3
Lines 15066 15090 +24
Branches 721 723 +2
============================================
+ Hits 12610 12649 +39
+ Misses 2161 2147 -14
+ Partials 295 294 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Pull Request Template
What does this PR do?