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

Exception when using auto generated uuid primary key and socket feed

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment