[
https://issues.apache.org/jira/browse/HBASE-6493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Dimiduk updated HBASE-6493:
--------------------------------
Attachment: 0001-HBASE-6493-Use-custom-comparator-for-Set-byte.patch
Here's a fresh patch. The small tests pass locally but because the comparator
change could result in subtle bugs, let HadoopQA bless it before commit.
> HashSet of byte array is being used in couple of places
> -------------------------------------------------------
>
> Key: HBASE-6493
> URL: https://issues.apache.org/jira/browse/HBASE-6493
> Project: HBase
> Issue Type: Bug
> Reporter: Shrijeet Paliwal
> Assignee: Nick Dimiduk
> Priority: Minor
> Fix For: 0.96.0
>
> Attachments:
> 0001-HBASE-6493-Use-custom-comparator-for-Set-byte.patch,
> 0001-HBASE-6493-Use-custom-comparator-for-Set-byte.patch
>
>
> While working on a jira I realized I had made a mistake of making a HashSet
> of byte array.
> Then out of curiosity I checked if we do same any where else in code base. I
> came with following files.
> # /src/main/java/org/apache/hadoop/hbase/mapreduce/RowCounter.java:
> Set<byte []> qualifiers = new HashSet<byte[]>();
> # /src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java:
> columnFamilies = new HashSet<byte[]>();
> #
> /src/test/java/org/apache/hadoop/hbase/filter/TestFirstKeyValueMatchingQualifiersFilter.java:
> Set<byte[]> quals = new HashSet<byte[]>();
> #
> /src/test/java/org/apache/hadoop/hbase/regionserver/metrics/TestSchemaMetrics.java:
> Set<byte[]> families = new HashSet<byte[]>();
> (1) and (3) are mine and I will fix them (not yet committed). Quoting the
> exact reference from (2) below :
> {code}
> @Override
>
> public GetStoreFileResponse getStoreFile(final RpcController controller,
>
> final GetStoreFileRequest request) throws ServiceException {
>
> try {
>
> HRegion region = getRegion(request.getRegion());
>
> requestCount.incrementAndGet();
>
> Set<byte[]> columnFamilies = null;
>
> if (request.getFamilyCount() == 0) {
>
> columnFamilies = region.getStores().keySet();
>
> } else {
>
> columnFamilies = new HashSet<byte[]>();
>
> for (ByteString cf: request.getFamilyList()) {
>
> columnFamilies.add(cf.toByteArray());
>
> }
>
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira