phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Taylor <jamestay...@apache.org>
Subject Re: PhoenixIOException: end index (1) must not be less than start index (7)
Date Tue, 11 Feb 2014 01:45:17 GMT
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 <fancyerii@gmail.com> 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 <fancyerii@gmail.com> 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 <jamestaylor@apache.org>
> 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 <fancyerii@gmail.com> 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);
> >>> }
> >>> }
>

Mime
View raw message