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);
>>> }
>>> }

Reply via email to