[ 
https://issues.apache.org/jira/browse/STORM-634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14357525#comment-14357525
 ] 

ASF GitHub Bot commented on STORM-634:
--------------------------------------

Github user Parth-Brahmbhatt commented on a diff in the pull request:

    https://github.com/apache/storm/pull/414#discussion_r26251585
  
    --- Diff: storm-core/src/storm.thrift ---
    @@ -193,6 +193,7 @@ struct ExecutorStats {
       1: required map<string, map<string, i64>> emitted;
       2: required map<string, map<string, i64>> transferred;
       3: required ExecutorSpecificStats specific;
    +  4: required double rate;
    --- End diff --
    
    Older client newer server works, newer client with older server brakes 
because rate is required behavior. I think this is acceptable and would hate to 
change a required param to optional to support this.


> Storm should support rolling upgrade/downgrade of storm cluster.
> ----------------------------------------------------------------
>
>                 Key: STORM-634
>                 URL: https://issues.apache.org/jira/browse/STORM-634
>             Project: Apache Storm
>          Issue Type: Improvement
>            Reporter: Parth Brahmbhatt
>            Assignee: Parth Brahmbhatt
>
> Currently when a new version of storm is released in order to upgrade 
> existing storm clusters users need to backup their existing topologies , kill 
> all the topologies , perform the upgrade and resubmit all the topologies. 
> This is painful and results in downtime which may not be acceptable for 
> "Always alive"  production systems.
> Storm should support a rolling  upgrade/downgrade deployment process to avoid 
> these downtimes and to make the transition to a different version effortless. 
> Based on my initial attempt the primary issue seem to be the java 
> serialization used to serialize java classes like StormBase, Assignment, 
> WorkerHeartbeat which is then stored in zookeeper. When deserializing if the 
> serial versions do not match the deserialization fails resulting in processes 
> just getting killed indefinitely. We need to change the Utils/serialize and 
> Utils/deserialize so it can support non java serialization mechanism like 
> json. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to