[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17521935#comment-17521935 ] Geoffrey Jacoby commented on PHOENIX-4830: -- [~xucang]- do you know if this issue still occurs? I know there have been a bunch of client-side fixes over the past couple of years in this general area > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Fix For: 4.17.0, 5.2.0, 4.16.2 > > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch, > PHOENIX-4830-4.x-HBase-1.3.007.patch, PHOENIX-4830-4.x-HBase-1.3.008.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17224988#comment-17224988 ] Hadoop QA commented on PHOENIX-4830: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s{color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} patch {color} | {color:red} 0m 13s{color} | {color:red} PHOENIX-4830 does not apply to 4.x-HBase-1.3. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Issue | PHOENIX-4830 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12948035/PHOENIX-4830-4.x-HBase-1.3.008.patch | | Console output | https://ci-hadoop.apache.org/job/PreCommit-PHOENIX-Build/150/console | | versions | git=2.17.1 | | Powered by | Apache Yetus 0.12.0 https://yetus.apache.org | This message was automatically generated. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Fix For: 5.1.1, 4.16.1 > > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch, > PHOENIX-4830-4.x-HBase-1.3.007.patch, PHOENIX-4830-4.x-HBase-1.3.008.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17101056#comment-17101056 ] Xinyi Yan commented on PHOENIX-4830: Moving to 4.16.1 for now, but feel free to move back to 4.16.0 > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Fix For: 4.15.1, 5.1.1 > > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch, > PHOENIX-4830-4.x-HBase-1.3.007.patch, PHOENIX-4830-4.x-HBase-1.3.008.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at > org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171) > at
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16872928#comment-16872928 ] Lars Hofhansl commented on PHOENIX-4830: [~xucang] where are we with this? Moving to 4.15.1 for now. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Fix For: 4.15.0, 5.1.0 > > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch, > PHOENIX-4830-4.x-HBase-1.3.007.patch, PHOENIX-4830-4.x-HBase-1.3.008.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at > org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171)
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685988#comment-16685988 ] Hadoop QA commented on PHOENIX-4830: {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12948035/PHOENIX-4830-4.x-HBase-1.3.008.patch against 4.x-HBase-1.3 branch at commit 4b4466f9bfdddac7c3e9c70b213da1a42ed2d93e. ATTACHMENT ID: 12948035 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 6 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 release audit{color}. The applied patch generated 1 release audit warnings (more than the master's current 0 warnings). {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: +if (keys.size() > 1 && SchemaUtil.getSeparatorByte(schema.rowKeyOrderOptimizable(), false, schema.getField(schema.getFieldCount()-1)) == QueryConstants.DESC_SEPARATOR_BYTE) { +byte[] expectedStopRow = ByteUtil.concat(PVarchar.INSTANCE.toBytes(tenantId), ByteUtil.nextKey(PVarchar.INSTANCE.toBytes(entityId2))); +assertArrayEquals(ByteUtil.concat(PChar.INSTANCE.toBytes(secondOrgId), ByteUtil.nextKey(PChar.INSTANCE.toBytes(secondParentId))), scan.getStopRow()); {color:red}-1 core tests{color}. The patch failed these unit tests: ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.join.HashJoinMoreIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.SortOrderIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ViewIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ReverseFunctionIT Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2144//testReport/ Release audit warnings: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2144//artifact/patchprocess/patchReleaseAuditWarnings.txt Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2144//console This message is automatically generated. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch, > PHOENIX-4830-4.x-HBase-1.3.007.patch, PHOENIX-4830-4.x-HBase-1.3.008.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685864#comment-16685864 ] Xu Cang commented on PHOENIX-4830: -- Uploaded new patch .008. Fixing the issue by fixing above mentioned logic (from OR operator to AND operator.) Tests in OrderByIT, ReverseScanIT, WhereCompilerTest and WhereOptimizerTest are all pass. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch, > PHOENIX-4830-4.x-HBase-1.3.007.patch, PHOENIX-4830-4.x-HBase-1.3.008.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685770#comment-16685770 ] Xu Cang commented on PHOENIX-4830: -- After an offline chat with [~tdsilva] I found this code is questionable. [https://github.com/apache/phoenix/blob/master/phoenix-core/src/main/java/org/apache/phoenix/compile/ScanRanges.java#L102] Based comment above this line, should it be "if (keys.size() > 1 *&&* SchemaUtil.getSeparatorByte" using AND instead of OR ? After this change and reverted my previous change, the failing test passes now. Though it causes several failures in WhereCompilerTest.java and WhereOptimizerTest.java, but I think they were tests tried to accommodate this bug that can be fixed. Would like to hear your opinion again, Thomas? > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch, > PHOENIX-4830-4.x-HBase-1.3.007.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670903#comment-16670903 ] Hadoop QA commented on PHOENIX-4830: {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12946432/PHOENIX-4830-4.x-HBase-1.3.007.patch against 4.x-HBase-1.3 branch at commit 59a7dd138c661c743d58421776cb5e731e1cda99. ATTACHMENT ID: 12946432 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 6 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: +assertArrayEquals(ByteUtil.nextKey(ByteUtil.concat(stopRow, QueryConstants.SEPARATOR_BYTE_ARRAY)), scan.getStopRow()); +assertArrayEquals(ByteUtil.nextKey(ByteUtil.concat(stopRow, QueryConstants.SEPARATOR_BYTE_ARRAY)), scan.getStopRow()); +assertArrayEquals(ByteUtil.nextKey(ByteUtil.concat(stopRow, QueryConstants.SEPARATOR_BYTE_ARRAY)), scan.getStopRow()); + assertArrayEquals(ByteUtil.nextKey(ByteUtil.concat(PChar.INSTANCE.toBytes(secondOrgId), PChar.INSTANCE.toBytes(secondParentId), QueryConstants.SEPARATOR_BYTE_ARRAY)), scan.getStopRow()); +assertArrayEquals(ByteUtil.nextKey(ByteUtil.concat(Bytes.toBytes("a"), QueryConstants.SEPARATOR_BYTE_ARRAY, QueryConstants.SEPARATOR_BYTE_ARRAY)), scan.getStopRow()); +assertArrayEquals(ByteUtil.nextKey(ByteUtil.concat(Bytes.toBytes("a"), QueryConstants.SEPARATOR_BYTE_ARRAY, Bytes.toBytes("b"), QueryConstants.SEPARATOR_BYTE_ARRAY)), scan.getStopRow()); {color:red}-1 core tests{color}. The patch failed these unit tests: ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.CSVCommonsLoaderIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.index.IndexMetadataIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.TableDDLPermissionsIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.UpgradeIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ViewIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.index.IndexWithTableSchemaChangeIT Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2128//testReport/ Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2128//console This message is automatically generated. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch, > PHOENIX-4830-4.x-HBase-1.3.007.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670559#comment-16670559 ] Xu Cang commented on PHOENIX-4830: -- Uploaded a new patch .007 to fix unit tests/ > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch, > PHOENIX-4830-4.x-HBase-1.3.007.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at > org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171) > at > org.apache.phoenix.filter.SkipScanFilter.filterKeyValue(SkipScanFilter.java:145) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16669873#comment-16669873 ] Hadoop QA commented on PHOENIX-4830: {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12946313/PHOENIX-4830-4.x-HBase-1.3.007.patch against 4.x-HBase-1.3 branch at commit fc550666d871d2d472bdbb0496650373bed4edad. ATTACHMENT ID: 12946313 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:red}-1 tests included{color}. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: +.execute("CREATE TABLE " + tableName + " ( k VARCHAR, c1.a bigint,c2.b bigint CONSTRAINT pk PRIMARY KEY (k)) "); +rs = conn.createStatement().executeQuery("SELECT k FROM " + tableName + " where k>'b' and k<='d' order by k desc"); {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.phoenix.compile.WhereCompilerTest org.apache.phoenix.compile.WhereOptimizerTest Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2125//testReport/ Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2125//console This message is automatically generated. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16669468#comment-16669468 ] Xu Cang commented on PHOENIX-4830: -- [~jamestaylor] [https://github.com/apache/phoenix/blob/0b469d47e76fe62ecc60592dcb8340803d79888e/phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java] {quote}if (!isFixedWidth && ( i < schema.getMaxFields()-1 || inclusiveUpper || exclusiveLower)) { key[offset++] = QueryConstants.SEPARATOR_BYTE; // Set lastInclusiveUpperSingleKey back to false if this is the last pk column // as we don't want to increment the null byte in this case lastInclusiveUpperSingleKey &= i < schema.getMaxFields()-1; {quote} While working on this JIRA, I found this code piece, by removing it, it fixed this JIRA's issue. Though I don't quite understand the logic for this code. Had offline chat with Thomas also. Could you please shed some light on this? In my analysis, "lastInclusiveUpperSingleKey" needs to keep 'true' to correctly set 'stopRow' for scan object. With this being false, we will not call getNextKey() which makes the stopRow wrong. Thanks [~jamestaylor] > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch, PHOENIX-4830-4.x-HBase-1.3.007.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16668422#comment-16668422 ] Xu Cang commented on PHOENIX-4830: -- The problem of this issue is, in #setupReverseScan (ScanUtil.java), we handle start/stop rows for the reverse scan. The assumption is to make both ends inclusive. (Which is the test case listed above in the Jira description.) But this assumption isn't always true. Test case such as "SELECT k FROM " + tableName + " where k>'b' and k<'d' order by k desc" fails after applied this match is because it wants both ends to be exclusive. The root cause is 'Scan' type does not include knowledge about whether it wants inclusive or exclusive, makes ScanUtil incapable of handling it. To fix this issue properly, I think we might need to extend Scan type? Or pass 2 more arguments to preScannerOpen(). [~tdsilva] > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16626005#comment-16626005 ] Hudson commented on PHOENIX-4830: - FAILURE: Integrated in Jenkins build Phoenix-omid2 #89 (See [https://builds.apache.org/job/Phoenix-omid2/89/]) PHOENIX-4830 fix order by primary key desc (tdsilva: rev 59f8d0fd1a110786251dbf79c7bc743d1569b54c) * (edit) phoenix-core/src/main/java/org/apache/phoenix/iterate/TableResultIterator.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java * (edit) phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByIT.java Revert "PHOENIX-4830 fix order by primary key desc" (tdsilva: rev fe4c053c156fe350238a3bb42a41c701859c70e6) * (edit) phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java * (edit) phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByIT.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/iterate/TableResultIterator.java > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16599317#comment-16599317 ] Xu Cang commented on PHOENIX-4830: -- The current patch fails this test: ReverseScanIT.testReverseScanForSpecificRangeInRegion because in ScanRanges#create(), it processes range by doing so: ScanUtil.getMinKey(schema, sortedRanges, slotSpan); and ScanUtil.getMaxKey(schema, sortedRanges, slotSpan) These two methods do try to *handle inclusive/exclusive issue first time.* And 'schema' object has sortOrder as 'ASC'. We only handle 'desc' last minute in BaseScannerRegionObserver class, which calls 'getReversedRow' to *handle inclusive/exclusive issue again*. This causes bugs in different cases. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Labels: DESC > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16595550#comment-16595550 ] Thomas D'Silva commented on PHOENIX-4830: - [~xucang] The pre commit build had a few test failures, I think they are flappers can you verify they pass locally? > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at > org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171) > at > org.apache.phoenix.filter.SkipScanFilter.filterKeyValue(SkipScanFilter.java:145) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16588595#comment-16588595 ] Hadoop QA commented on PHOENIX-4830: {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12936580/PHOENIX-4830-4.x-HBase-1.3.006.patch against 4.x-HBase-1.3 branch at commit 5947b6ade1936b72230e00f70e4b050734ab4833. ATTACHMENT ID: 12936580 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:red}-1 tests included{color}. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 release audit{color}. The applied patch generated 2 release audit warnings (more than the master's current 0 warnings). {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 core tests{color}. The patch failed these unit tests: ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.LocalIndexSplitMergeIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ColumnEncodedMutableNonTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ColumnEncodedMutableTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.NonColumnEncodedImmutableTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ColumnEncodedImmutableNonTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ColumnEncodedImmutableTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.NonColumnEncodedImmutableNonTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ReverseScanIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.SysTableNamespaceMappedStatsCollectorIT Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2000//testReport/ Release audit warnings: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2000//artifact/patchprocess/patchReleaseAuditWarnings.txt Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2000//console This message is automatically generated. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16588417#comment-16588417 ] Karan Mehta commented on PHOENIX-4830: -- +1 LTGM [~xucang] > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at > org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171) > at > org.apache.phoenix.filter.SkipScanFilter.filterKeyValue(SkipScanFilter.java:145) > at > org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:427) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16588415#comment-16588415 ] Xu Cang commented on PHOENIX-4830: -- thanks [~karanmehta93] for the review! uploaded a new version. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch, > PHOENIX-4830-4.x-HBase-1.3.006.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at > org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171) > at > org.apache.phoenix.filter.SkipScanFilter.filterKeyValue(SkipScanFilter.java:145) > at > org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:427) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16588187#comment-16588187 ] Karan Mehta commented on PHOENIX-4830: -- [~xucang] Nice finding. A few suggestions. The tests have duplicated code for setup. Might be good to extract out to a method. Also add comments about how we add padding to make sure that we include/exclude correct rows. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at > org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16583251#comment-16583251 ] Xu Cang commented on PHOENIX-4830: -- [~jamestaylor] Can you please take a look at patch 005. Does the fix make sense to you? Basically, when doing a reversed scan, don't do padding for new startRow. [~tdsilva] > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at > org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171) > at > org.apache.phoenix.filter.SkipScanFilter.filterKeyValue(SkipScanFilter.java:145) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16579153#comment-16579153 ] Hadoop QA commented on PHOENIX-4830: {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12935449/PHOENIX-4830-4.x-HBase-1.3.005.patch against 4.x-HBase-1.3 branch at commit facfedbf80e1451a5c1bf87bffad4579e8fcc520. ATTACHMENT ID: 12935449 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:red}-1 tests included{color}. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 core tests{color}. The patch failed these unit tests: ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.SysTableNamespaceMappedStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ColumnEncodedImmutableTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ReverseScanIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.NonColumnEncodedImmutableTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ColumnEncodedImmutableNonTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.NonColumnEncodedImmutableNonTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ColumnEncodedMutableTxStatsCollectorIT ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ColumnEncodedMutableNonTxStatsCollectorIT Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/1979//testReport/ Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/1979//console This message is automatically generated. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16579051#comment-16579051 ] Xu Cang commented on PHOENIX-4830: -- Uploaded patch 5. [~tdsilva] All tests passed. "[WARNING] Tests run: 186, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 16.055 s - in org.apache.phoenix.compile.QueryCompilerTest [INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.375 s - in org.apache.phoenix.jdbc.SecureUserConnectionsTest [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.088 s - in org.apache.hadoop.hbase.regionserver.wal.ReadWriteKeyValuesWithCodecTest [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.789 s - in org.apache.hadoop.hbase.ipc.PhoenixIndexRpcSchedulerTest [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.177 s - in org.apache.phoenix.query.ScannerLeaseRenewalTest [INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.564 s - in org.apache.phoenix.query.KeyRangeMoreTest [INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 81.074 s - in org.apache.phoenix.coprocessor.MetaDataEndpointImplTest [INFO] [INFO] Results: [INFO] [WARNING] Tests run: 1666, Failures: 0, Errors: 0, Skipped: 5" > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch, PHOENIX-4830-4.x-HBase-1.3.005.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16578950#comment-16578950 ] Hudson commented on PHOENIX-4830: - FAILURE: Integrated in Jenkins build Phoenix-4.x-HBase-1.3 #184 (See [https://builds.apache.org/job/Phoenix-4.x-HBase-1.3/184/]) PHOENIX-4830 fix order by primary key desc (tdsilva: rev 59f8d0fd1a110786251dbf79c7bc743d1569b54c) * (edit) phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByIT.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/iterate/TableResultIterator.java > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch, > PHOENIX-4830-4.x-HBase-1.3.004.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16577404#comment-16577404 ] Xu Cang commented on PHOENIX-4830: -- Thanks! [~jamestaylor] "FYI, if a column value is null, we always use a 0 separator byte," When constructing scan object, how can I know if the column value is null or not before actually scanning? I uploaded a new patch. Please see if that makes sense based on James' explanation regarding the 0xff padding . [~tdsilva] > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch, PHOENIX-4830-4.x-HBase-1.3.003.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at > org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16577110#comment-16577110 ] Xu Cang commented on PHOENIX-4830: -- [~tdsilva] I did some more research tonight. please see my comment. In *ScanUtil.java* method _#getKey_ check this comment from existing code. {quote}...we still need the 0xFF terminator, since DESC keys ignore the last byte as it's expected to be the terminator. Without this, we'd ignore the separator byte that was just added and incremented." {quote} Appending trailing FF is handled in #setKey() when DESC is in the schema. But, when where clause contains DESC, it's not covered. So,that's why I decide to handle this trailing FF appending when scanner initialized and check whether scan is 'reverse scan' or not. If so, append "FF" to the stopKey. I don't think I can put this logic in "#setKey" because it does not have scan "reverse" information there. [~jamestaylor] Since you wrote above quoted comment. Do you remember why 0xFF terminator is required? >From HBase doc I see trailing 0 can turn exclusive scan into inclusive one. >So, Is that for the reverse scan, even the separator needs to be bit reversed? >Thanks. > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16576906#comment-16576906 ] Xu Cang commented on PHOENIX-4830: -- added unit tests for my fix. Please review.[~tdsilva] Thanks! > order by primary key desc return wrong results > -- > > Key: PHOENIX-4830 > URL: https://issues.apache.org/jira/browse/PHOENIX-4830 > Project: Phoenix > Issue Type: Bug >Affects Versions: 4.14.0 > Environment: phoenix-4.14-hbase-1.2 >Reporter: JieChen >Assignee: Xu Cang >Priority: Major > Attachments: PHOENIX-4830-4.x-HBase-1.3.001.patch, > PHOENIX-4830-4.x-HBase-1.3.002.patch > > > {code:java} > 0: jdbc:phoenix:localhost> create table test(id bigint not null primary key, > a bigint); > No rows affected (1.242 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(1,11); > 1 row affected (0.01 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(2,22); > 1 row affected (0.007 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(3,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> select * from test; > +-+-+ > | ID | A | > +-+-+ > | 1 | 11 | > | 2 | 22 | > | 3 | 33 | > +-+-+ > 3 rows selected (0.015 seconds) > 0: jdbc:phoenix:localhost> select * from test order by id desc limit 2 offset > 0; > +-+-+ > | ID | A | > +-+-+ > | 3 | 33 | > | 2 | 22 | > +-+-+ > 2 rows selected (0.018 seconds) > 0: jdbc:phoenix:localhost> select * from test where id in (select id from > test ) order by id desc limit 2 offset 0; > +-+-+ > | ID | A | > +-+-+ > | 2 | 22 | > | 1 | 11 | > +-+-+ > wrong results. > {code} > there may be some errors. ScanUtil.setupReverseScan code. > then > {code:java} > 0: jdbc:phoenix:localhost> upsert into test values(4,33); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(5,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(6,23); > 1 row affected (0.005 seconds) > 0: jdbc:phoenix:localhost> upsert into test values(7,33); > 1 row affected (0.006 seconds) > {code} > execute sql > {code:java} > select * from test where id in (select id from test where a=33) order by id > desc; > {code} > throw exception > {code:java} > Error: org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must > come after previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at > org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) > at > org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) > at > org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) > Caused by: java.lang.IllegalStateException: The next hint must come after > previous hint > (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, > > kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) > at > org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171) > at > org.apache.phoenix.filter.SkipScanFilter.filterKeyValue(SkipScanFilter.java:145) > at > org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:427) > at > org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:529) > at >
[jira] [Commented] (PHOENIX-4830) order by primary key desc return wrong results
[ https://issues.apache.org/jira/browse/PHOENIX-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16567722#comment-16567722 ] JieChen commented on PHOENIX-4830: -- {code:java} 0: jdbc:phoenix:localhost> upsert into test values(4,33); 1 row affected (0.005 seconds) 0: jdbc:phoenix:localhost> upsert into test values(5,23); 1 row affected (0.005 seconds) 0: jdbc:phoenix:localhost> upsert into test values(6,23); 1 row affected (0.005 seconds) 0: jdbc:phoenix:localhost> upsert into test values(7,33); 1 row affected (0.006 seconds) {code} execute sql {code:java} select * from test where id in (select id from test where a=33) order by id desc; {code} throw exception {code:java} Error: org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException: TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must come after previous hint (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) at org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) at org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) at org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) at org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) at org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163) Caused by: java.lang.IllegalStateException: The next hint must come after previous hint (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) at org.apache.phoenix.filter.SkipScanFilter.setNextCellHint(SkipScanFilter.java:171) at org.apache.phoenix.filter.SkipScanFilter.filterKeyValue(SkipScanFilter.java:145) at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:427) at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:529) at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:147) at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.populateResult(HRegion.java:5735) at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextInternal(HRegion.java:5891) at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:5669) at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:5654) at org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:175) ... 10 more (state=08000,code=101) org.apache.phoenix.exception.PhoenixIOException: org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException: TEST,,1533266754845.b8e521d4dc8e8b8f18c69cc7ef76973d.: The next hint must come after previous hint (prev=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, next=\x80\x00\x00\x00\x00\x00\x00\x07//LATEST_TIMESTAMP/Maximum/vlen=0/seqid=0, kv=\x80\x00\x00\x00\x00\x00\x00\x06/0:\x00\x00\x00\x00/1533266778944/Put/vlen=1/seqid=9) at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) at org.apache.phoenix.iterate.RegionScannerFactory$1.nextRaw(RegionScannerFactory.java:212) at org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:264) at org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) at org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) at org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:293) at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541) at