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

Jungtaek Lim updated STORM-2557:
--------------------------------
    Fix Version/s: 1.2.0

> A bug in DisruptorQueue causing severe underestimation of queue arrival rates
> -----------------------------------------------------------------------------
>
>                 Key: STORM-2557
>                 URL: https://issues.apache.org/jira/browse/STORM-2557
>             Project: Apache Storm
>          Issue Type: Bug
>            Reporter: tangkailin
>            Assignee: tangkailin
>             Fix For: 2.0.0, 1.1.1, 1.2.0
>
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> Recently, we are tuning the performance of our topology and deploying some 
> theoretical performance models that heavily rely on the metrics of query 
> arrival rates. We found a bug in DisruptorQueue that leads to severe 
> underestimation to the queue arrival rates. After further investigation, we 
> finally found that in the current implementation of DisruptorQueue, the 
> arrival rates are actually measured as the number of batches of tuples rather 
> than the actual number of tuples, resulting in significant underestimation of 
> the arrival rates. 
> To be more specific, in DisruptorQueue.publishDirectSingle() and 
> DisruptorQueue.publishDirect() functions, objects containing tuples are 
> published to the buffer and the metrics are notified by calling 
> _metric.notifyArrivals(1). This works fine when the object is simply a 
> wrapper of a single tuple. However, the object could also be an instance of 
> ArrayList<AddressedTuple> or HashMap<Integer, ArrayList<TaskMessage>>. In 
> such case, we should get the actual number of tuples in the object and notify 
> the _metrics with the right value.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to