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

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

Github user d2r commented on a diff in the pull request:

    https://github.com/apache/storm/pull/554#discussion_r30919837
  
    --- Diff: storm-core/src/clj/backtype/storm/stats.clj ---
    @@ -322,16 +307,16 @@
       [(.get_componentId global-stream-id) (.get_streamId global-stream-id)])
     
     (defmethod clojurify-specific-stats BoltStats [^BoltStats stats]
    -  [(window-set-converter (.get_acked stats) from-global-stream-id symbol)
    -   (window-set-converter (.get_failed stats) from-global-stream-id symbol)
    -   (window-set-converter (.get_process_ms_avg stats) from-global-stream-id 
symbol)
    -   (window-set-converter (.get_executed stats) from-global-stream-id 
symbol)
    -   (window-set-converter (.get_execute_ms_avg stats) from-global-stream-id 
symbol)])
    +  [(window-set-converter (.get_acked stats) from-global-stream-id identity)
    --- End diff --
    
    It is not necessary to convert the strings keys coming out from thrift 
deserialization, since we use them as strings anyway.
    
    It is also confusing to debug, as the symbol `600` and the number `600` do 
not compare equally, yet they look exactly the same when printed out.
    
    I changed this because in the course of writing the code, I printed the 
contents of a heartbeat and saw `600`, and when I tried to retrieve the value 
for the key `600` as a number, I got nothing back.



> UI Topology & Component Pages have long load times with large, 
> highly-connected Topologies
> ------------------------------------------------------------------------------------------
>
>                 Key: STORM-820
>                 URL: https://issues.apache.org/jira/browse/STORM-820
>             Project: Apache Storm
>          Issue Type: Improvement
>    Affects Versions: 0.11.0
>            Reporter: Derek Dagit
>            Assignee: Derek Dagit
>
> In the UI, the Topology Page and the Component Page each make a 
> getTopologyInfoWithOpts thrift call to nimbus for executor heartbeat data. 
> Metrics from this data are then aggregated in by the UI daemon for display.
> When large topologies, with high-connectedness, are viewed in this way, the 
> load times for each page can be minutes long.  In addition, heap usage by the 
> nimbus JVM can grow substantially as data for each executor, component, & 
> stream is serialized to be sent to the UI.



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

Reply via email to