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

Tsz-wo Sze updated RATIS-2049:
------------------------------
    Summary: Suppress Sonar warning for volatile objects  (was: Ensure atomic 
safety for volatile object)

> Suppress Sonar warning for volatile objects
> -------------------------------------------
>
>                 Key: RATIS-2049
>                 URL: https://issues.apache.org/jira/browse/RATIS-2049
>             Project: Ratis
>          Issue Type: Improvement
>            Reporter: Xinyu Tan
>            Assignee: Xinyu Tan
>            Priority: Major
>         Attachments: S3077.jpg, image-2024-03-22-17-00-53-814.png, peerId.jpg
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> Currently, there are about 40 bugs on Sonar for 
> [Ratis|[https://sonarcloud.io/summary/new_code?id=apache-ratis]], with more 
> than half of these issues stemming from the use of volatile fields to 
> decorate objects rather than primitive data types.
> Theoretically, volatile is indeed intended for use with primitive data types 
> only, as decorating objects can lead to visibility issues. To avoid certain 
> concurrency problems, using AtomicReference is recommended. However, it seems 
> that for certain types of objects that are not modified, this usage does not 
> result in bugs?
> I'm not sure what the Ratis community's stance is on this code style. If 
> there are confirmed rules and some code that could be optimized, I'm willing 
> to undertake these tasks to avoid potential concurrency issues and eliminate 
> Sonar bugs.
> !image-2024-03-22-17-00-53-814.png!
> [~szetszwo] What's your opinion?



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

Reply via email to