You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by "Kanak Biscuitwala (JIRA)" <ji...@apache.org> on 2014/01/23 00:23:20 UTC

[jira] [Resolved] (HELIX-281) Need to optimize the scenario that multiple Message change can stop external view update

     [ https://issues.apache.org/jira/browse/HELIX-281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kanak Biscuitwala resolved HELIX-281.
-------------------------------------

    Resolution: Fixed

The strategy used to implement this was to create a blocking queue of events that generate pipeline runs and coalesce by event name.

Review: https://reviews.apache.org/r/16746/

> Need to optimize the scenario that multiple Message change can stop external view update 
> -----------------------------------------------------------------------------------------
>
>                 Key: HELIX-281
>                 URL: https://issues.apache.org/jira/browse/HELIX-281
>             Project: Apache Helix
>          Issue Type: Bug
>            Reporter: Shi Lu
>            Assignee: Kanak Biscuitwala
>            Priority: Critical
>
> We have seen the following behavior in the relay cluster startup:
> controller is full time doing onMessage() callback, although all the current state has already been updated. As all state transitions are done, all the Message update callback in controller side becomes NO-OP but stops the current state from being updated. As there are so many onMessage change callbacks, ExternalView does not get updated in hours. This is going to be a blocking perf issue in big clusters.
> One work-around is to switch the controller if the current controller is in this Message update loop.  



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)