You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Roman Puchkovskiy (Jira)" <ji...@apache.org> on 2025/04/10 10:45:00 UTC
[jira] [Updated] (IGNITE-25085) Remove ConcurrentHashSet
[ https://issues.apache.org/jira/browse/IGNITE-25085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roman Puchkovskiy updated IGNITE-25085:
---------------------------------------
Description:
The class is basically useless as ConcurrentHashMap.keySet() may be used instead.
Also, the class is buggy as its spliterator is not thread safe. This can be demonstrated by a test where one thread does set.stream().toArray(), while another thread concurrently modifies the set. It's easy to fix it, but it's even easier to just remove the class and switch to the standard library equivalent (ConcurrentHashMap.keySet()).
> Remove ConcurrentHashSet
> ------------------------
>
> Key: IGNITE-25085
> URL: https://issues.apache.org/jira/browse/IGNITE-25085
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The class is basically useless as ConcurrentHashMap.keySet() may be used instead.
> Also, the class is buggy as its spliterator is not thread safe. This can be demonstrated by a test where one thread does set.stream().toArray(), while another thread concurrently modifies the set. It's easy to fix it, but it's even easier to just remove the class and switch to the standard library equivalent (ConcurrentHashMap.keySet()).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)