Github user HeartSaVioR commented on the issue:
https://github.com/apache/storm/pull/2261
I just take opposite approach, pushing updated load mapping when load
updater timer is activated. We no longer need any tricks or optimizations to
reduce checking, and even no need to check updating duration.
This is based on fact that `LoadAwareShuffleGrouping.updateRing()` doesn't
break other threads calling `LoadAwareShuffleGrouping.chooseTasks()`
concurrently.
I guess we couldn't optimize better easily unless we change some
specifications like allowing non-thread-safety or so.
> testBenchmarkLoadAwareShuffleGroupingEvenLoad
Duration: 27596 ms
Duration: 27772 ms
> testBenchmarkLoadAwareShuffleGroupingEvenLoadAndMultiThreaded
Max duration among threads is : 89274 ms
Max duration among threads is : 86466 ms
Given that it changes some interfaces, I would like to see many reviewers
reviewing and providing opinions.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---