[
https://issues.apache.org/jira/browse/RATIS-2049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tsz-wo Sze resolved RATIS-2049.
-------------------------------
Fix Version/s: 3.1.0
Resolution: Fixed
The pull request is now merged. Thanks, [~tanxinyu] !
> 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
> Fix For: 3.1.0
>
> 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)