Hello Community, In EvenScheduler's scheduleTopologiesEvenly, it does not use the topologies[1] variable passed from DefaultScheduler's defaultSchedule, but instead calls the Cluster's needsSchedulingTopologies method again to check again for topologies that need scheduling[2].
When implementing DefaultScheduler in Java for the first time[3], it was implemented to use topologies in EvenScheduler's scheduleTopologiesEvenly. However, later changed that topologies were not used. It seems that unnecessary for loops are being executed redundantly, and it seems that EvenScheduler's scheduleTopologiesEvenly can use topologies without calling needsSchedulingTopologies again, and I wonder what others think. DefaultScheduler also does not use the topologies passed from BlacklistScheduler in defaultSchedule, just like EvenScheduler. Thanks. [1]: https://github.com/apache/storm/blob/e3690f14dcc20e4659ccb7c1a8443c33a34cd69d/storm-server/src/main/java/org/apache/storm/scheduler/EvenScheduler.java#L150 [2]: https://github.com/apache/storm/blob/e3690f14dcc20e4659ccb7c1a8443c33a34cd69d/storm-server/src/main/java/org/apache/storm/scheduler/EvenScheduler.java#L151 [3]: https://github.com/apache/storm/commit/4c41ac18be1129d350bc0f6d6d72eea84570c776#diff-7526fbc4a665bd24266b2c0ff803cb876ca59930ef385db3564194202b06df0aR152-R153
