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

Frank Chang commented on HBASE-13347:
-------------------------------------

I'm tried to use 
https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/RowCounter.java
 code and package a new jar then excuted following shell script:
{code:none}
hadoop jar test.jar <tablename> --range=row001,row002 cf:c2
{code}
Then I got "NoSuchColumnFamilyException".

Is that normally? 
And I tried to add 
{code:java}
continue; 
{code}
after #L123 to avoid "--range=*" string be appended to qualifer.

Then the problem seems solve.

--
data in table:
||row||cf:c1||cf:c2||cf:c3||cf:c4||
|row001|v1|v2| | |
|row002| |v2|v3| |
|row003| | |v3|v4|
|row004|v1| | |v4|

Exception Message:
{code:java}
org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: 
org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family 
--range=row001,row002 does not exist in region 
frank_rowcounttest1,,1446191360354.6c52c71a82f0fa041c467002a2bf433c. in table 
'frank_rowcounttest1', {NAME => 'cf', DATA_BLOCK_ENCODING => 'NONE', 
BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', COMPRESSION => 'NONE', VERSIONS 
=> '1', TTL => 'FOREVER', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', 
BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
{code}

> RowCounter using special filter is broken
> -----------------------------------------
>
>                 Key: HBASE-13347
>                 URL: https://issues.apache.org/jira/browse/HBASE-13347
>             Project: HBase
>          Issue Type: Bug
>          Components: mapreduce
>    Affects Versions: 1.0.0
>            Reporter: Lars George
>             Fix For: 2.0.0, 1.3.0, 1.2.1, 1.0.3, 1.1.4
>
>
> The {{RowCounter}} in the {{mapreduce}} package is supposed to check if the 
> row count scan has a column selection added to it, and if so, use a different 
> filter that finds the row and counts it. But the {{qualifier.add()}} call is 
> missing in the {{for}} loop. See 
> https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/RowCounter.java#L165
> Needs fixing or row count might be wrong when using {{--range}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to