----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/16746/#review32559 -----------------------------------------------------------
Ship it! Ship It! - Zhen Zhang On Jan. 9, 2014, 1:35 a.m., Kanak Biscuitwala wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/16746/ > ----------------------------------------------------------- > > (Updated Jan. 9, 2014, 1:35 a.m.) > > > Review request for helix, Zhen Zhang and Kishore Gopalakrishna. > > > Bugs: HELIX-281 > > > Repository: helix-git > > > Description > ------- > > The key part of this is a new queue for callbacks. When a ClusterEvent is > added, if an event with the same name already exists in the queue, it > replaces that event. Otherwise, it is added to the tail of the queue. This > prevents a large number of message events from starving other events. > > commit a0e0eff78ce56d28f436e943303220579897dc32 > Author: Kanak Biscuitwala <[email protected]> > Date: Wed Jan 8 17:18:35 2014 -0800 > > [HELIX-281] Prevent message callbacks from indefinitely starving other > callbacks > > :100644 100644 9fef2da... b467bff... M > helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java > :000000 100644 0000000... 986437b... A > helix-core/src/main/java/org/apache/helix/controller/stages/ClusterEventBlockingQueue.java > :000000 100644 0000000... 2dba7b6... A > helix-core/src/test/java/org/apache/helix/controller/stages/TestClusterEventBlockingQueue.java > :100644 100644 30f5807... 67298b3... M > helix-core/src/test/java/org/apache/helix/integration/TestSchedulerMessage.java > > > Diffs > ----- > > > helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java > 9fef2da > > helix-core/src/main/java/org/apache/helix/controller/stages/ClusterEventBlockingQueue.java > PRE-CREATION > > helix-core/src/test/java/org/apache/helix/controller/stages/TestClusterEventBlockingQueue.java > PRE-CREATION > > helix-core/src/test/java/org/apache/helix/integration/TestSchedulerMessage.java > 30f5807 > > Diff: https://reviews.apache.org/r/16746/diff/ > > > Testing > ------- > > Ran this on a cluster with 100 resources, 100 partitions per resource, 100 > nodes, FULL_AUTO. Took them all up and all down a few times, leading to a > massive amount of entropy in the cluster. The controller was able to process > all the callbacks in the expected order and outstanding callbacks were > automatically coalesced. > > Existing tests pass locally, added unit tests for the queue. > > > Thanks, > > Kanak Biscuitwala > >
