Conversation
| }); | ||
|
|
||
| streamEventList.stream() | ||
| .map(e -> process(stream, e)) |
There was a problem hiding this comment.
process(...) does side effects, so this shouldn't be done in map
| * @return | ||
| */ | ||
| Set<Subscription> getStreamSubscriptions(final String streamName) { | ||
| return streamSubscriptionsMap.getOrDefault(streamName, new ConcurrentSkipListSet<>()); |
There was a problem hiding this comment.
this was creating a new ConcurrentSkipListSet every time if not found.
Test Results150 files ±0 150 suites ±0 8m 56s ⏱️ +15s For more details on these failures, see this check. Results for commit 510bb85. ± Comparison against base commit b3b85bc. ♻️ This comment has been updated with latest results. |
Uploaded ArtifactsTo use these artifacts in your Gradle project, paste the following lines in your build.gradle. |
bb6ec04 to
cb80aad
Compare
cb80aad to
e70708d
Compare
hmitnflx
left a comment
There was a problem hiding this comment.
Thank you for taking the time and making a contribution to mantis.
The changes look good to me in a broad sense. I left a minor comments.
| if (status >= 200 && status < 300) { | ||
| AppJobClustersMap appJobClustersMap = serializer.fromJSON(response.entityAsString(), AppJobClustersMap.class); | ||
| logger.debug(appJobClustersMap.toString()); | ||
| logger.debug("{}", appJobClustersMap); |
There was a problem hiding this comment.
nit: while you are here, could you please add a helpful message in the log?
| @Override | ||
| public int hashCode() { | ||
| return Objects.hash(getSubscriptionList()); | ||
| return Objects.hashCode(getSubscriptionList()); |
There was a problem hiding this comment.
this changes the hashCode implementation slightly. I dont think mantis has any usages where the hashCode is serialized but it'd still be nice to keep it unchanged.
…lix#771) * More fixes * Review feedback, add more
* Add variety of cleanups, fix warnings, improve code/performance (#771) * More fixes * Review feedback, add more * Update nebula.netflixoss use sonatype central portal (#774) * Use com.netflix.nebula.netflixoss 11.6.0 to move publishing to Sonatype Central Portal from Sonatype Legacy OSSRH * Github action: checkout v4 * Introduce batching into worker discovery during scaling (#773) * Fix worker state filtering and scheduling update gaps during scaling. This reduces scaling update storms from N individual updates to 1-3 batched updates. - Filter JobSchedulingInfo to only include Started workers, preventing downstream connection failures - Add smart refresh batching with pending worker detection to avoid premature flag resets - Implement WorkerState.isPendingState() helper for consistent state checking - Add comprehensive tests covering scaling scenarios and flag reset edge cases - Include detailed context and analysis documentation of connection mechanisms and scaling optimizations * try stablize flaky ut * add analysis context doc * remove refresh discovery trigger on scaleup request * Fix Worker Request flow to properly use batching (#775) * Introduce batching into worker discovery during scaling (#773) * Fix worker state filtering and scheduling update gaps during scaling. This reduces scaling update storms from N individual updates to 1-3 batched updates. - Filter JobSchedulingInfo to only include Started workers, preventing downstream connection failures - Add smart refresh batching with pending worker detection to avoid premature flag resets - Implement WorkerState.isPendingState() helper for consistent state checking - Add comprehensive tests covering scaling scenarios and flag reset edge cases - Include detailed context and analysis documentation of connection mechanisms and scaling optimizations * try stablize flaky ut * add analysis context doc * remove refresh discovery trigger on scaleup request * Fix Worker Request flow to properly use batching (#775) * Support default tag config as fallback on artifact loading failure (#778) * increase max stage concurrency (#779) * Fix a typo in the Group By docs (#783) * Fix a typo in the Group By docs * Fix broken link to heartbeat documentation * Handle out of sync restarted TE (#784) * Handle out of sync restarted TE * use terminte event on heartbeat * clean up + tests * Revert "Fix Worker Request flow to properly use batching (#775)" (#785) This reverts commit 3b0c92f. * Move common code to utils and cleanup (#789) Co-authored-by: ggao <ggao@netflix.com> * Add job id to log and add running worker failure metrics (#790) Co-authored-by: ggao <ggao@netflix.com> * add job clusters update metrics (#791) * Update worker failure metric (#792) Co-authored-by: ggao <ggao@netflix.com> * Refactor RCActor props overload (#795) Co-authored-by: ggao <ggao@netflix.com> * Add log to check #TE archived was not in disabled state (#793) Co-authored-by: ggao <ggao@netflix.com> * Update CODEOWNERS (#796) * Cleanup autoscaler metric subscriptions on shutdown (#798) * fix leaked auto scaler instance (#801) * Fix test race condition (#803) When disabling a job cluster, the response would sometimes return before the associated jobs were killed. The Delete action would then fail because the job was still active. I was able to reliably reproduce by adding a 200ms sleep in the JobActor.onJobKill. To fix, we just check if the response is returning that error. If so, we retry. Otherwise, we perform the standard checks. [CI Example](https://github.com/Netflix/mantis/pull/797/checks?check_run_id=52633941202) * Fixed up test * Debugging * Validating breakage is from rate limiting * Updating rate limit --------- Co-authored-by: Michael Braun <n3ca88@gmail.com> Co-authored-by: OdysseusLives <achipman@netflix.com> Co-authored-by: Andy Zhang <87735571+Andyz26@users.noreply.github.com> Co-authored-by: Daniel Trager <43889268+dtrager02@users.noreply.github.com> Co-authored-by: eliot-stripe <58606410+eliot-stripe@users.noreply.github.com> Co-authored-by: Gigi Gao <ggjbetty@gmail.com> Co-authored-by: ggao <ggao@netflix.com> Co-authored-by: timmartin-stripe <131782471+timmartin-stripe@users.noreply.github.com>
Context
Found a number of opportunities in code to fix warnings, simplify code. Changed code to apply these fixes
Checklist
./gradlew buildcompiles code correctly./gradlew testpasses all tests