Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Following ddl with 'autogenerated' will cause indexOutOfBoundary exception at the SocketFeed part.
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
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.