hbase shell: phantom columns show up from select command
--------------------------------------------------------

                 Key: HADOOP-2296
                 URL: https://issues.apache.org/jira/browse/HADOOP-2296
             Project: Hadoop
          Issue Type: Bug
          Components: contrib/hbase
    Affects Versions: 0.15.0
            Reporter: Michael Bieniosek


{code}
Hbase> select * from hbase_test where row='2';
+--------------------------------------+--------------------------------------+
| Column                               | Cell                                 |
+--------------------------------------+--------------------------------------+
| test:a                               | a                                    |
+--------------------------------------+--------------------------------------+
| test:c                               | c                                    |
+--------------------------------------+--------------------------------------+
2 row(s) in set (0.00 sec)
Hbase> select * from hbase_test where row='1';
+--------------------------------------+--------------------------------------+
| Column                               | Cell                                 |
+--------------------------------------+--------------------------------------+
| test:a                               | a                                    |
+--------------------------------------+--------------------------------------+
| test:b                               | b                                    |
+--------------------------------------+--------------------------------------+
2 row(s) in set (0.00 sec)
Hbase> select * from hbase_test;          
+-------------------------+-------------------------+-------------------------+
| Row                     | Column                  | Cell                    |
+-------------------------+-------------------------+-------------------------+
| 1                       | test:a                  | a                       |
+-------------------------+-------------------------+-------------------------+
| 1                       | test:b                  | b                       |
+-------------------------+-------------------------+-------------------------+
| 2                       | test:a                  | a                       |
+-------------------------+-------------------------+-------------------------+
| 2                       | test:b                  | b                       |
+-------------------------+-------------------------+-------------------------+
| 2                       | test:c                  | c                       |
+-------------------------+-------------------------+-------------------------+
5 row(s) in set (0.14 sec)
{code}

Note the phantom value for test:b in row 2.

I looked at the code, and it looks like SelectCommand.scanPrint incorrectly 
fails to call results.clear() every time it calls scan.next().  

However, I also think that the HScannerInterface.next(HStoreKey key, 
SortedMap<Text,byte[]> results) is confusing, since it requires the user to 
call results.clear() and key.clear() before calling next each time.  Since the 
Iterable interface that provides the zero-arg next has been added, I suggest 
that it might be worthwhile to deprecate the two-arg next.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to