[ 
https://issues.apache.org/jira/browse/ASTERIXDB-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steven Jacobs updated ASTERIXDB-2101:
-------------------------------------
    Summary: Record Merge Error when running job  (was: Record Merge Error when 
compiling job)

> Record Merge Error when running job
> -----------------------------------
>
>                 Key: ASTERIXDB-2101
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2101
>             Project: Apache AsterixDB
>          Issue Type: Bug
>            Reporter: Steven Jacobs
>
> The following will throw a runtime exception:
> drop dataverse channels if exists;
> create dataverse channels;
> use channels;
> create type userLocation as {
>   userId: int,
>   roomNumber: int
> };
> create type result as {
>       id:uuid
> };
> create type subscriptionType as {
>       subscriptionId:uuid,
>       param0:int
> };
> create dataset roomRecordsResults(result)
> primary key id autogenerated;
> create dataset roomRecordsSubscriptions(subscriptionType)
> primary key subscriptionId autogenerated;
> create dataset UserLocations(userLocation)
> primary key userId;
> create function RoomOccupants(room) {
>   (select location.userId
>   from UserLocations location
>   where location.roomNumber = room)
> };
> SET inline_with "false";
> insert into channels.roomRecordsResults as a (
>       with channelExecutionTime as current_datetime() 
>       select result, channelExecutionTime, sub.subscriptionId as 
> subscriptionId,current_datetime() as deliveryTime
>       from channels.roomRecordsSubscriptions sub,
>       Metadata.Datatype b, 
>       channels.RoomOccupants(sub.param0) result 
>       where b.DatatypeName = sub.BrokerName
>       and b.DataverseName = sub.DataverseName
> ) returning a;
> Here is the stack trace:
> WARNING: Unhandled throwable
> java.lang.VerifyError: Bad return type
> Exception Details:
>   Location:
>     
> org/apache/asterix/runtime/evaluators/functions/records/RecordMergeDescriptor$_EvaluatorFactoryGen.access$0(Lorg/apache/asterix/runtime/evaluators/functions/records/RecordMergeDescriptor$_EvaluatorFactoryGen;)Lorg/apache/asterix/runtime/evaluators/functions/records/RecordMergeDescriptor;
>  @4: areturn
>   Reason:
>     Type 
> 'org/apache/asterix/runtime/evaluators/functions/records/RecordMergeDescriptor$_Gen'
>  (current frame, stack[0]) is not assignable to 
> 'org/apache/asterix/runtime/evaluators/functions/records/RecordMergeDescriptor'
>  (from method signature)
>   Current Frame:
>     bci: @4
>     flags: { }
>     locals: { 
> 'org/apache/asterix/runtime/evaluators/functions/records/RecordMergeDescriptor$_EvaluatorFactoryGen'
>  }
>     stack: { 
> 'org/apache/asterix/runtime/evaluators/functions/records/RecordMergeDescriptor$_Gen'
>  }
>   Bytecode:
>     0x0000000: 2ab4 0063 b0                           
>       at 
> org.apache.asterix.runtime.evaluators.functions.records.RecordMergeDescriptor$_Gen.createEvaluatorFactory(RecordMergeDescriptor.java:86)
>       at 
> org.apache.asterix.jobgen.QueryLogicalExpressionJobGen.createScalarFunctionEvaluatorFactory(QueryLogicalExpressionJobGen.java:144)
>       at 
> org.apache.asterix.jobgen.QueryLogicalExpressionJobGen.createEvaluatorFactory(QueryLogicalExpressionJobGen.java:109)
>       at 
> org.apache.asterix.jobgen.QueryLogicalExpressionJobGen.codegenArguments(QueryLogicalExpressionJobGen.java:161)
>       at 
> org.apache.asterix.jobgen.QueryLogicalExpressionJobGen.createScalarFunctionEvaluatorFactory(QueryLogicalExpressionJobGen.java:134)
>       at 
> org.apache.asterix.jobgen.QueryLogicalExpressionJobGen.createEvaluatorFactory(QueryLogicalExpressionJobGen.java:109)
>       at 
> org.apache.hyracks.algebricks.core.algebra.expressions.ExpressionRuntimeProvider.createEvaluatorFactory(ExpressionRuntimeProvider.java:41)
>       at 
> org.apache.hyracks.algebricks.core.algebra.operators.physical.AssignPOperator.contributeRuntimeOperator(AssignPOperator.java:84)
>       at 
> org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractLogicalOperator.contributeRuntimeOperator(AbstractLogicalOperator.java:166)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:97)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:84)
>       at 
> org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compilePlan(PlanCompiler.java:60)
>       at 
> org.apache.hyracks.algebricks.compiler.api.HeuristicCompilerFactoryBuilder$1$1.createJob(HeuristicCompilerFactoryBuilder.java:107)
>       at 
> org.apache.asterix.api.common.APIFramework.compileQuery(APIFramework.java:333)
>       at 
> org.apache.asterix.app.translator.QueryTranslator.rewriteCompileInsertUpsert(QueryTranslator.java:1867)
>       at 
> org.apache.asterix.app.translator.QueryTranslator.lambda$0(QueryTranslator.java:1755)
>       at 
> org.apache.asterix.app.translator.QueryTranslator.createAndRunJob(QueryTranslator.java:2412)
>       at 
> org.apache.asterix.app.translator.QueryTranslator.deliverResult(QueryTranslator.java:2345)
>       at 
> org.apache.asterix.app.translator.QueryTranslator.handleInsertUpsertStatement(QueryTranslator.java:1776)
>       at 
> org.apache.asterix.app.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:337)
>       at 
> org.apache.asterix.app.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:254)
>       at 
> org.apache.asterix.api.http.server.ApiServlet.post(ApiServlet.java:157)
>       at 
> org.apache.hyracks.http.server.AbstractServlet.handle(AbstractServlet.java:78)
>       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)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to