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

Creating feed with autogenerated key fails

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      Attempt to create a feed with autogenerated primary key fails:

      drop dataverse experiments if exists;
      create dataverse experiments;
      use dataverse experiments;
      
      create type TwitterUserType as closed {
          screen-name: string,
          lang: string,
          friends_count: int32,
          statuses_count: int32,
          name: string,
          followers_count: int32
      }
      create type TweetMessageType as closed {
          //tweetid: int64,
          tweetid: uuid,
          user: TwitterUserType,
          sender-location: point,
          send-time: datetime,
          referred-topics: {{ string }},
          message-text: string
      }
      create dataset Tweets(TweetMessageType) primary key tweetid autogenerated;
      
      create feed TweetFeed using socket_adapter
      (
          ("sockets"="127.0.0.1:10001"),
          ("address-type"="IP"),
          ("type-name"="TweetMessageType"),
          ("format"="adm"),
          ("duration"="1200")
      );
      set wait-for-completion-feed "false";
      connect feed TweetFeed1 to dataset Tweets;
      

      Stacktrace:

      SEVERE: Exception in executing Feed Connection Request experiments.TweetFeed1: [SOURCE_FEED_INTAKE_STAGE] Apply ()
      Exception in thread "pool-7-thread-1" java.lang.RuntimeException: org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: Duplicate field "uuid" encountered
      	at org.apache.asterix.api.common.FeedWorkCollection$SubscribeFeedWork$SubscribeFeedWorkRunnable.run(FeedWorkCollection.java:101)
      	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)
      Caused by: org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: Duplicate field "uuid" encountered
      	at org.apache.asterix.om.typecomputer.impl.RecordMergeTypeComputer.mergedNestedType(RecordMergeTypeComputer.java:132)
      	at org.apache.asterix.om.typecomputer.impl.RecordMergeTypeComputer.computeType(RecordMergeTypeComputer.java:105)
      	at org.apache.asterix.dataflow.data.common.AqlExpressionTypeComputer.getTypeForFunction(AqlExpressionTypeComputer.java:86)
      	at org.apache.asterix.dataflow.data.common.AqlExpressionTypeComputer.getType(AqlExpressionTypeComputer.java:57)
      	at org.apache.hyracks.algebricks.core.algebra.typing.AbstractTypeEnvironment.getType(AbstractTypeEnvironment.java:45)
      	at org.apache.asterix.om.typecomputer.impl.NotNullTypeComputer.computeType(NotNullTypeComputer.java:50)
      	at org.apache.asterix.dataflow.data.common.AqlExpressionTypeComputer.getTypeForFunction(AqlExpressionTypeComputer.java:86)
      	at org.apache.asterix.dataflow.data.common.AqlExpressionTypeComputer.getType(AqlExpressionTypeComputer.java:57)
      	at org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator.computeOutputTypeEnvironment(AssignOperator.java:95)
      	at org.apache.hyracks.algebricks.core.rewriter.base.AlgebricksOptimizationContext.computeAndSetTypeEnvironmentForOperator(AlgebricksOptimizationContext.java:270)
      	at org.apache.asterix.optimizer.rules.IntroduceAutogenerateIDRule.rewritePost(IntroduceAutogenerateIDRule.java:123)
      	at org.apache.hyracks.algebricks.core.rewriter.base.AbstractRuleController.rewriteOperatorRef(AbstractRuleController.java:125)
      	at org.apache.hyracks.algebricks.core.rewriter.base.AbstractRuleController.rewriteOperatorRef(AbstractRuleController.java:99)
      	at org.apache.hyracks.algebricks.compiler.rewriter.rulecontrollers.SequentialOnceRuleController.rewriteWithRuleCollection(SequentialOnceRuleController.java:44)
      	at org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer.runOptimizationSets(HeuristicOptimizer.java:95)
      	at org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer.optimize(HeuristicOptimizer.java:82)
      	at org.apache.hyracks.algebricks.compiler.api.HeuristicCompilerFactoryBuilder$1$1.optimize(HeuristicCompilerFactoryBuilder.java:87)
      	at org.apache.asterix.api.common.APIFramework.compileQuery(APIFramework.java:289)
      	at org.apache.asterix.aql.translator.QueryTranslator.rewriteCompileQuery(QueryTranslator.java:1895)
      	at org.apache.asterix.aql.translator.QueryTranslator.handleSubscribeFeedStatement(QueryTranslator.java:2353)
      	at org.apache.asterix.aql.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:371)
      	at org.apache.asterix.api.common.FeedWorkCollection$SubscribeFeedWork$SubscribeFeedWorkRunnable.run(FeedWorkCollection.java:92)
      	... 3 more
      

      Attachments

        Activity

          People

            idleft Xikui Wang
            iabsalyamov Ildar Absalyamov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: