[ 
https://issues.apache.org/jira/browse/TS-162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12848840#action_12848840
 ] 

John Plevyak commented on TS-162:
---------------------------------

The uses of RecGetGLobalRawStatSum in Cache.cc 
AIO_Callback_handler::handle_disk_failure
should be incr.

iocore/aio/AIO.cc has thread-unsafe statistics: global non-volatile variables 
updated
with normal increment then copied into the global stats.

> inconsistencies in the stats system - there are incorrect assumtions on 
> sychronization between threads
> ------------------------------------------------------------------------------------------------------
>
>                 Key: TS-162
>                 URL: https://issues.apache.org/jira/browse/TS-162
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Stats
>            Reporter: Bryan Call
>            Assignee: Bryan Call
>             Fix For: 2.0.0
>
>         Attachments: stats_bcall_001.diff
>
>
> There is a problem with the current stats being inconsistent.  The problem is 
> that the net threads each have their own stats which they modify and the 
> aggregation thread also modifies the same stat value.  There is no proper 
> synchronization for this to work correctly.  The aggregation thread does an 
> atomic swap to zero the net threads stat value, but the local thread doesn't 
> use atomics and only increments the value.  This will lead to 
> inconsistencies...
> A better design is to *only* have the net threads modify their local stats 
> and have the aggregation thread handle totalling the values in a separate 
> stat structure.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to