Uploaded image for project: 'Apache AsterixDB'
  1. Apache AsterixDB
  2. ASTERIXDB-1588

Exception when using auto generated uuid primary key and socket feed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • ING - Ingestion
    • 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.

      Attachments

        Activity

          People

            idleft Xikui Wang
            idleft Xikui Wang
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: