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

Carsten Ziegeler commented on SLING-11856:
------------------------------------------

Concurrency review finding potentially related to statistics issues:

BaseStatisticsImpl.add() uses nested synchronized locks: synchronized(this) { 
synchronized(other) }. If a.add(b) and b.add(a) were ever called concurrently, 
this would deadlock. While the current call flow is unidirectional (queue stats 
-> global stats), the pattern is structurally unsafe and could contribute to 
statistics inconsistencies. The existing copyFrom() method already provides a 
safe alternative pattern: read other values into locals under 
synchronized(other), then write under synchronized(this).

> Statistics for Sling Event Queue do not reset correctly
> -------------------------------------------------------
>
>                 Key: SLING-11856
>                 URL: https://issues.apache.org/jira/browse/SLING-11856
>             Project: Sling
>          Issue Type: Bug
>          Components: Event
>            Reporter: Roy Teeuwen
>            Priority: Major
>
> When doing a reset on the statistics, the activeJobs and queuedJobs are not 
> correctly reset. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to