phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Li Li <fancye...@gmail.com>
Subject Re: PhoenixIOException: end index (1) must not be less than start index (7)
Date Tue, 11 Feb 2014 02:07:21 GMT
I'll try it. btw, when will "upsert into on duplicate key ignore"
statement supported? is it very complicated to implement or just only
a few modification of codes?
if it need very few change, could you tell me how to hack it or give
me a patch? I need this feature. Thank you.

On Tue, Feb 11, 2014 at 9:45 AM, James Taylor <jamestaylor@apache.org> wrote:
> 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