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

Rick Kellogg updated STORM-341:
-------------------------------
    Component/s: storm-core

> assignment reassignment
> -----------------------
>
>                 Key: STORM-341
>                 URL: https://issues.apache.org/jira/browse/STORM-341
>             Project: Apache Storm
>          Issue Type: Bug
>          Components: storm-core
>    Affects Versions: 0.9.2-incubating
>            Reporter: impzx
>            Assignee: Robert Joseph Evans
>            Priority: Critical
>             Fix For: 0.9.3
>
>
> I met a problem: in nimubs code, compute-topology->scheduler-assignment 
> function,Will convert clojure's map to a Java map,but this will result in 
> order change, leading to the assignment reassignment
> I add log to this
> --------------------------------------code1
>  _ (log-message "to java objec" executor->slot)
> _ (log-message "-------------------------")]]
> {tid (SchedulerAssignmentImpl. tid executor->slot)})))
> --------------------------------------code2
>  topology->scheduler-assignment (compute-topology->scheduler-assignment nimbus
>                                                                               
>  existing-assignments
>                                                                               
>  topology->alive-executors)
>  _ (log-message "end of compute " topology->scheduler-assignment)
> --------------------------------------code3 , I implement 
> SchedulerAssignmentImpl toString code
>   @Override
>     public String toString() {
>       String info = "";
>       if(this.getExecutorToSlot() != null) {
>               for(Entry<ExecutorDetails, WorkerSlot> entry : 
> this.getExecutorToSlot().entrySet()) {
>                       info += "[" + entry.getKey().getStartTask() + "," + 
> entry.getKey().getEndTask() + "]";
>               }
>       }
>       return info;
>     }
> --------------------------------------------> print log
> 2014-06-05 16:07:26 nimbus [INFO] to java objec{#<ExecutorDetails [3, 3]> 
> #<WorkerSlot d631169e-8bc1-4768-98b0-6c1a0b55c355:6710:1>, #<ExecutorDetails 
> [6, 6]> #<WorkerSlot d631169e-8bc1-4768-98b0-6c1a0b55c355:6710:1>, 
> #<ExecutorDetails [5, 5]> #<WorkerSlot 
> d631169e-8bc1-4768-98b0-6c1a0b55c355:6710:1>, #<ExecutorDetails [4, 4]> 
> #<WorkerSlot d631169e-8bc1-4768-98b0-6c1a0b55c355:6710:1>, #<ExecutorDetails 
> [2, 2]> #<WorkerSlot d631169e-8bc1-4768-98b0-6c1a0b55c355:6710:1>, 
> #<ExecutorDetails [1, 1]> #<WorkerSlot 
> d631169e-8bc1-4768-98b0-6c1a0b55c355:6710:1>}
> 2014-06-05 16:07:26 nimbus [INFO] -------------------------
> 2014-06-05 16:07:26 nimbus [INFO] end of compute {"case_1#1-1-1401955622" 
> #<SchedulerAssignmentImpl [6,6][5,5][3,3][4,4][2,2][1,1]>}
> -------------------------------------------------------------------------------
> i think we could fix this question add this code to function changed-executors
> ;        executor->node+port (if executor->node+port (sort 
> executor->node+port) nil)
> ;        new-executor->node+port (if new-executor->node+port (sort 
> new-executor->node+port) nil)



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

Reply via email to