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

Andrey Elenskiy commented on HBASE-21545:
-----------------------------------------

Started debugging with TestKeepDeletes:
TestKeepDeletes.testBasicScenario is testing old version behavior as expected 
results are different before and after flush().
TestKeepDeletes.testWithMinVersions seems to be also tailored for old version 
behavior as expected results is different after flush(), but we get the same 
one as described by NEW_VERSION_BEHAVIOR.
TestKeepDeletes.testWithTTL again expects a different result after flush() but 
we get the same one as described by NEW_VERSION_BEHAVIOR.

After fixing these tests to have the same expected result after flush(), the 
following tests are still failing because of an assertion 
"!PrivateCellUtil.isDelete(type)" in NewVersionBehaviorTracker.checkVersions() 
when region.compact(true) is called:
TestKeepDeletes.testBasicScenario:148
TestKeepDeletes.testDeleteMarkerExpiration:506
TestKeepDeletes.testDeleteMarkerVersioning:711
TestKeepDeletes.testWithMinVersions:888
TestKeepDeletes.testWithOldRow:569

with
java.lang.AssertionError
    at 
org.apache.hadoop.hbase.regionserver.querymatcher.NewVersionBehaviorTracker.checkVersions(NewVersionBehaviorTracker.java:305)
    at 
org.apache.hadoop.hbase.regionserver.querymatcher.MajorCompactionScanQueryMatcher.match(MajorCompactionScanQueryMatcher.java:80)
    at 
org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:586)
    at 
org.apache.hadoop.hbase.regionserver.compactions.Compactor.performCompaction(Compactor.java:387)
    at 
org.apache.hadoop.hbase.regionserver.compactions.Compactor.compact(Compactor.java:327)
    at 
org.apache.hadoop.hbase.regionserver.compactions.DefaultCompactor.compact(DefaultCompactor.java:65)
    at 
org.apache.hadoop.hbase.regionserver.DefaultStoreEngine$DefaultCompactionContext.compact(DefaultStoreEngine.java:126)
    at org.apache.hadoop.hbase.regionserver.HStore.compact(HStore.java:1407)

Don't know if it's a new bug or it's supposed to behave this way or the test is 
wrongly structured. Will try to understand this assertion.
This looks like it's not going to be easy to verify all the tests though, this 
is something that should have been done by original NEW_VERSION_BEHAVIOR 
contributors before this code has been merged. I think that the docs in hbase 
book should be updated with a warning.

> 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.0.0, 2.1.1
>         Environment: HBase 2.1.1
> Hadoop 2.8.4
> Java 8
>            Reporter: Andrey Elenskiy
>            Assignee: Andrey Elenskiy
>            Priority: Major
>         Attachments: App.java, HBASE-21545.branch-2.1.0001.patch, 
> HBASE-21545.branch-2.1.0002.patch, HBASE-21545.branch-2.1.0003.patch, 
> HBASE-21545.branch-2.1.0004.patch, HBASE-21545.branch-2.1.0005.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)

Reply via email to