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

IndexOutOfBoundsException when starting a unconnected feed

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: ING - Ingestion
    • Labels:
      None

      Description

      When starting a feed without connecting to any dataset, it gives IndexOutOfBoundsException.
      The detailed stack trace is as follows:

      java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
      	at java.util.ArrayList.rangeCheck(ArrayList.java:653)
      	at java.util.ArrayList.get(ArrayList.java:429)
      	at org.apache.asterix.utils.FeedOperations.combineIntakeCollectJobs(FeedOperations.java:355)
      	at org.apache.asterix.utils.FeedOperations.buildStartFeedJob(FeedOperations.java:381)
      	at org.apache.asterix.app.translator.QueryTranslator.handleStartFeedStatement(QueryTranslator.java:2048)
      	at org.apache.asterix.app.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:344)
      	at org.apache.asterix.app.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:240)
      	at org.apache.asterix.api.http.server.ApiServlet.post(ApiServlet.java:147)
      	at org.apache.hyracks.http.server.AbstractServlet.handle(AbstractServlet.java:76)
      	at org.apache.hyracks.http.server.HttpRequestHandler.handle(HttpRequestHandler.java:70)
      	at org.apache.hyracks.http.server.HttpRequestHandler.call(HttpRequestHandler.java:55)
      	at org.apache.hyracks.http.server.HttpRequestHandler.call(HttpRequestHandler.java:36)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

      Steps to reproduce:
      Simplely create a feed and start it without connecting to any dataset.

      drop dataverse twitter if exists;
      create dataverse twitter if not exists;
      use dataverse twitter
      create type typeUser if not exists as open {
          id: int64,
          name: string,
          screen_name : string,
          lang : string,
          location: string,
          create_at: date,
          description: string,
          followers_count: int32,
          friends_count: int32,
          statues_count: int64
      }
      
      create feed UserFeed using socket_adapter
      (
          ("sockets"="red:10001"),
          ("address-type"="nc"),
          ("type-name"="typeUser"),
          ("format"="adm")
      );
      start feed UserFeed;
      

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              luochen01 Chen Luo
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: