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

Swaroopa Kadam commented on HBASE-25576:
----------------------------------------

[~brfrn169] I am slightly confused here with the description. Could you please 
share it with some context from a file to clear the confusion? Thanks!

> Should not use HashMap (ConcurrentHashMap) or HashSet when using byte[] as a 
> key of Map or an element of Set
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-25576
>                 URL: https://issues.apache.org/jira/browse/HBASE-25576
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Toshihiro Suzuki
>            Assignee: Swaroopa Kadam
>            Priority: Major
>              Labels: beginner
>
> I sometimes face the code using HashMap (ConcurrentHashMap) or HashSet when 
> using byte[] as a key of Map or an element of Set in the HBase code, which 
> could cause very confusing bugs.
> We should use TreeMap (ConcurrentSkipListMap) or TreeSet 
> (ConcurrentSkipListSet) with Bytes.BYTES_COMPARATOR when using byte[] as a 
> key of Map or an element of Set as follows:
> {code}
> Map<byte[], String> map1 = new TreeMap<>(Bytes.BYTES_COMPARATOR);
> Map<byte[], String> map2 = new 
> ConcurrentSkipListMap<>(Bytes.BYTES_COMPARATOR);
> Set<byte[]> set1 = new TreeSet<>(Bytes.BYTES_COMPARATOR);
> Set<byte[]> set2 = new ConcurrentSkipListSet<>(Bytes.BYTES_COMPARATOR);
> {code}
> We should fix the existing ones in this Jira.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to