You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Uri Shachar (JIRA)" <ji...@apache.org> on 2013/02/04 13:18:19 UTC

[jira] [Commented] (TS-1674) TSStatIntDecrement is broken

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

Uri Shachar commented on TS-1674:
---------------------------------

I did some quick benchmarks with a sample program -- At worse, it seems like using atomic long longs is ~6-7 times slower then regular long longs (This is obviously dependant on arch/compiler -- I used GCC over 64bit x86).
My guess would be that the impact on ATS wouldn't be noticeable (since there will be some improvement from the code simplification). I'll try to cobble together a working patch and check it out....
                
> TSStatIntDecrement is broken
> ----------------------------
>
>                 Key: TS-1674
>                 URL: https://issues.apache.org/jira/browse/TS-1674
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: TS API
>            Reporter: Brian Geffon
>            Assignee: Brian Geffon
>             Fix For: 3.3.1
>
>
> ATS keeps a thread-local copy of the stat value and aggregates it periodically and on demand when stats are being collected. However the decrement function doesn't let a value go negative. So in a thread that has not incremented this stat previously, the decrement call "fails". This negative value check is logically flawed as it doesn't account for the per-thread distribution of the stats.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira