[
https://issues.apache.org/jira/browse/PHOENIX-7819?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Kyle Purtell updated PHOENIX-7819:
-----------------------------------------
Description: When multiple threads register HA URL infos for the same
{{{}HAGroupInfo{}}}, {{computeIfAbsent()}} returns the same {{HashSet}}
instance to every thread, which then concurrently call {{add()}} on it.
{{java.util.HashSet}} is not thread-safe. Concurrent {{add()}} is undefined
behavior and can lose entries.
> HighAvailabilityGroup.URLS inner Set must be thread-safe
> --------------------------------------------------------
>
> Key: PHOENIX-7819
> URL: https://issues.apache.org/jira/browse/PHOENIX-7819
> Project: Phoenix
> Issue Type: Sub-task
> Components: core
> Reporter: Andrew Kyle Purtell
> Assignee: Andrew Kyle Purtell
> Priority: Major
> Fix For: 5.4.0, 5.3.1
>
>
> When multiple threads register HA URL infos for the same {{{}HAGroupInfo{}}},
> {{computeIfAbsent()}} returns the same {{HashSet}} instance to every thread,
> which then concurrently call {{add()}} on it. {{java.util.HashSet}} is not
> thread-safe. Concurrent {{add()}} is undefined behavior and can lose entries.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)