[ https://issues.apache.org/jira/browse/HBASE-21545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16709411#comment-16709411 ]
Andrey Elenskiy commented on HBASE-21545: ----------------------------------------- Got curious to learn and dig through the code. I believe I've found the issue for the bug. In hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.java is should be: {{ public boolean done() {}} {{- // lastCq* have been updated to this cell.}} {{- return !(columns == null || lastCqArray == null) && Bytes}} {{- .compareTo(lastCqArray, lastCqOffset, lastCqLength, columns[columnIndex], 0,}} {{- columns[columnIndex].length) > 0;}} {{+ return columnIndex >= columns.length;}} {{ }}} The reason it fails is because lastCq gets updated to the current cell while columnIndex hasn't been advanced from the already included column. Here's an example: Columns A, B and C are in the row. Get request with columns A and C. 1. {{lastCq*}} gets updated to A 2. checkColumn gets called on A, A gets included, columnIndex is on A 3. {{lastCq*}} gets updated to B 4. checkColumn calls done(), done checks if B > A (columnIndex is on A) which returns true 5. we are done with request > NEW_VERSION_BEHAVIOR breaks Get/Scan with specified columns > ----------------------------------------------------------- > > Key: HBASE-21545 > URL: https://issues.apache.org/jira/browse/HBASE-21545 > Project: HBase > Issue Type: Bug > Components: API > Affects Versions: 2.1.1 > Environment: HBase 2.1.1 > Hadoop 2.8.4 > Java 8 > Reporter: Andrey Elenskiy > Assignee: Sakthi > Priority: Major > Attachments: App.java, HBASE-21545.branch-2.1.0001.patch, > HBASE-21545.branch-2.1.0002.patch > > > Setting NEW_VERSION_BEHAVIOR => 'true' on a column family causes only one > column to be returned when columns are specified in Scan or Get query. The > result is always one first column by sorted order. I've attached a code > snipped to reproduce the issue that can be converted into a test. > I've also validated with hbase shell and gohbase client, so it's gotta be > server side issue. -- This message was sent by Atlassian JIRA (v7.6.3#76005)