I believe you're running into this issue: https://issues.apache.org/jira/browse/PHOENIX-20
Would you mind trying on our release candidate build announced here [1]? Thanks, James [1] http://mail-archives.apache.org/mod_mbox/incubator-phoenix-dev/201402.mbox/%3CCAEF26GcOmg2VvkqbppUuJgi_gjjSvg5yYU0Az7nrWcrPNwx7OA%40mail.gmail.com%3E On Mon, Feb 10, 2014 at 5:23 PM, Li Li <[email protected]> wrote: > here is the full printstack in log > 663 14-02-10 17:59:12,602 ERROR ActiveMQ Session Task-2 > com.founder.extractor.ExtractWorker end index (1) must not be less > than start index (7) > 664 com.salesforce.phoenix.exception.PhoenixIOException: end index > (1) must not be less than start index (7) > 665 at > > com.salesforce.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:107) > 666 at > > com.salesforce.phoenix.iterate.ParallelIterators.getIterators(ParallelIterators.java:217) > 667 at > > com.salesforce.phoenix.iterate.MergeSortResultIterator.getIterators(MergeSortResultIterator.java:58) > 668 at > > com.salesforce.phoenix.iterate.MergeSortResultIterator.minIterator(MergeSortResultIterator.java:73) > 669 at > > com.salesforce.phoenix.iterate.MergeSortResultIterator.next(MergeSortResultIterator.java:100) > 670 at > > com.salesforce.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:741) > 671 at com.founder.dbtool.DbTools.getHtml(DbTools.java:616) > 672 at > com.founder.extractor.ExtractWorker.doWork(ExtractWorker.java:153) > 673 at > com.founder.extractor.ExtractWorker.onMessage(ExtractWorker.java:246) > 674 at > > org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1361) > 675 at > > org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:131) > 676 at > > org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:202) > 677 at > > org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:129) > 678 at > org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:47) > 679 at > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > 680 at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > 681 at java.lang.Thread.run(Thread.java:722) > 682 Caused by: java.lang.IndexOutOfBoundsException: end index (1) > must not be less than start index (7) > 683 at > > com.google.common.base.Preconditions.checkPositionIndexes(Preconditions.java:388) > 684 at > com.google.common.collect.ImmutableList.subList(ImmutableList.java:362) > 685 at > com.google.common.collect.ImmutableList.subList(ImmutableList.java:62) > 686 at > > com.salesforce.phoenix.filter.SkipScanFilter.intersect(SkipScanFilter.java:225) > 687 at > > com.salesforce.phoenix.filter.SkipScanFilter.intersect(SkipScanFilter.java:153) > 688 at > com.salesforce.phoenix.util.ScanUtil.intersectScanRange(ScanUtil.java:140) > 689 at > > com.salesforce.phoenix.iterate.ParallelIterators.getIterators(ParallelIterators.java:172) > 690 ... 15 more > > On Tue, Feb 11, 2014 at 9:08 AM, Li Li <[email protected]> wrote: > > 1. DDL > > CREATE TABLE vc.webpage ( > > host VARCHAR NOT NULL, > > url VARCHAR NOT NULL, > > url_type TINYINT, > > c.html VARCHAR, > > content VARCHAR, > > title VARCHAR, > > ext_title VARCHAR, > > author VARCHAR, > > pub_time DATE, > > crawl_time DATE, > > ext_time DATE > > CONSTRAINT pk PRIMARY KEY(host, url) > > ) > > VERSION=1, > > c.VERSION=1, > > SALT_BUCKETS=8 > > ; > > 2. Phoenix 2.2.2 > > 3. HBase 0.94.11, r1513697 > > 4. test case, I can't find because I haven't log the value of url. I > > think it's a concurrent problem because there are many threads read > > and write this table(each thread has its own PhoenixConnection) > > > > On Tue, Feb 11, 2014 at 12:44 AM, James Taylor <[email protected]> > wrote: > >> Please include your DDL statement and Phoenix and HBase client and > server > >> version. Even better, if you can put together at end-to-end test case, > >> that's the best way to get to the bottom of the issue quickly. > >> Thanks! > >> James > >> > >> Thanks, > >> > >> > >> On Monday, February 10, 2014, Li Li <[email protected]> wrote: > >>> > >>> what's wrong with it? > >>> exception stack: > >>> com.salesforce.phoenix.exception.PhoenixIOException: end index (1) > >>> must not be less than start index (7) > >>> at > >>> > com.salesforce.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:107) > >>> at > >>> > com.salesforce.phoenix.iterate.ParallelIterators.getIterators(ParallelIterators.java:217) > >>> at > >>> > com.salesforce.phoenix.iterate.MergeSortResultIterator.getIterators(MergeSortResultIterator.java:58) > >>> at > >>> > com.salesforce.phoenix.iterate.MergeSortResultIterator.minIterator(MergeSortResultIterator.java:73) > >>> at > >>> > com.salesforce.phoenix.iterate.MergeSortResultIterator.next(MergeSortResultIterator.java:100) > >>> at > >>> > com.salesforce.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:741) > >>> > >>> my code: > >>> public static String getHtml(PhoenixConnection conn,String url) throws > >>> SQLException, MalformedURLException{ > >>> PreparedStatement pstmt=null; > >>> ResultSet rs=null; > >>> try{ > >>> String host=getReversedHostFromUrl(url); > >>> pstmt=conn.prepareStatement("SELECT html FROM vc.webpage where host=? > >>> and url=?"); > >>> pstmt.setString(1, host); > >>> pstmt.setString(2, url); > >>> rs=pstmt.executeQuery(); > >>> if(rs.next()) return rs.getString(1); > >>> else return null; > >>> }finally{ > >>> DbTools.closeAll(null, pstmt, rs); > >>> } > >>> } >
