[
https://issues.apache.org/jira/browse/TS-162?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bryan Call updated TS-162:
--------------------------
Summary: inconsistencies in the stats system - there are incorrect
assumtions on synchronization between threads (was: inconsistencies in the
stats system - there are incorrect assumtions on sychronization between threads)
> inconsistencies in the stats system - there are incorrect assumtions on
> synchronization between threads
> -------------------------------------------------------------------------------------------------------
>
> Key: TS-162
> URL: https://issues.apache.org/jira/browse/TS-162
> Project: Traffic Server
> Issue Type: Bug
> Components: Metrics
> Reporter: Bryan Call
> Assignee: Bryan Call
> Attachments: stats_bcall_001.diff, stats_bcall_002.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 was sent by Atlassian JIRA
(v6.3.4#6332)