[ 
https://issues.apache.org/jira/browse/ASTERIXDB-1588?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xikui Wang updated ASTERIXDB-1588:
----------------------------------
    Description: 
Following ddl with 'autogenerated' will cause indexOutOfBoundary exception at 
the SocketFeed part.

{quote}
drop dataverse feeds if exists; 
create dataverse feeds;
use dataverse feeds;

create type TwitterUser if not exists as open{
    screen-name: uuid
};

create dataset TwitterUsers1(TwitterUser) primary key screen-name autogenerated;
create feed UserFeed1 using socket_adapter
(
        ("sockets"="127.0.0.1:10001"),
        ("address-type"="IP"),
        ("type-name"="TwitterUser"),
        ("format"="adm")
);
use dataverse feeds;
set wait-for-completion-feed "false";
connect feed UserFeed1 to dataset TwitterUsers1
{quote}

The reason this happens is when SocketServerInputStream found no available 
bytes, it will trigger the TupleForwarder to flush all tuples. 
org/apache/asterix/external/input/stream/SocketServerInputStream.java:70

This causes the indexOutOfBoundary exception at 
org/apache/asterix/external/util/FeedUtils.java:123

Same ddl without 'autogenerated' will work properly.

  was:
Following ddl with 'autogenerated' will cause indexOutOfBoundary exception at 
the SocketFeed part.

{quote}
drop dataverse feeds if exists; 
create dataverse feeds;
use dataverse feeds;
create type TwitterUser if not exists as open{
    screen-name: uuid
};
create dataset TwitterUsers1(TwitterUser) primary key screen-name autogenerated;
create feed UserFeed1 using socket_adapter
(
        ("sockets"="127.0.0.1:10001"),
        ("address-type"="IP"),
        ("type-name"="TwitterUser"),
        ("format"="adm")
);
use dataverse feeds;
set wait-for-completion-feed "false";
connect feed UserFeed1 to dataset TwitterUsers1
{quote}

The reason this happens is when SocketServerInputStream found no available 
bytes, it will trigger the TupleForwarder to flush all tuples. 
org/apache/asterix/external/input/stream/SocketServerInputStream.java:70

This causes the indexOutOfBoundary exception at 
org/apache/asterix/external/util/FeedUtils.java:123

Same ddl without 'autogenerated' will work properly.


> Exception when using auto generated uuid primary key and socket feed
> --------------------------------------------------------------------
>
>                 Key: ASTERIXDB-1588
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1588
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: Feeds
>            Reporter: Xikui Wang
>
> Following ddl with 'autogenerated' will cause indexOutOfBoundary exception at 
> the SocketFeed part.
> {quote}
> drop dataverse feeds if exists; 
> create dataverse feeds;
> use dataverse feeds;
> create type TwitterUser if not exists as open{
>     screen-name: uuid
> };
> create dataset TwitterUsers1(TwitterUser) primary key screen-name 
> autogenerated;
> create feed UserFeed1 using socket_adapter
> (
>       ("sockets"="127.0.0.1:10001"),
>       ("address-type"="IP"),
>       ("type-name"="TwitterUser"),
>       ("format"="adm")
> );
> use dataverse feeds;
> set wait-for-completion-feed "false";
> connect feed UserFeed1 to dataset TwitterUsers1
> {quote}
> The reason this happens is when SocketServerInputStream found no available 
> bytes, it will trigger the TupleForwarder to flush all tuples. 
> org/apache/asterix/external/input/stream/SocketServerInputStream.java:70
> This causes the indexOutOfBoundary exception at 
> org/apache/asterix/external/util/FeedUtils.java:123
> Same ddl without 'autogenerated' will work properly.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to