Given this query:
for $x in dataset BigIssuesExternal
for $proj in $x.projects where $proj.name = "asterixdb"
return {
"name" : $proj.name,
"key": "ASTERIXDB",
"description": $proj.description,
"components": ["AsterixDB","Hyracks"],
"issues": for $y in dataset jiraIssues return $y
}
"issues" has a value of a list with about ~1046 records, each with a large
amount of nested fields. However if the return clause is modified slightly, to
this:
for $x in dataset BigIssuesExternal
for $proj in $x.projects where $proj.name = "asterixdb"
return {
"project" : [ {
"name" : $proj.name,
"key": "ASTERIXDB",
"description": $proj.description,
"components": ["AsterixDB","Hyracks"],
"issues": for $y in dataset jiraIssues return $y
}]
}
The whole "issues" field value becomes null. Furthermore, wrapping a count()
around the "for $y ..." statement will cause a runtime exception:
SEVERE: edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException:
java.lang.IllegalStateException: java.lang.IllegalStateException:
java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException
edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException:
java.lang.IllegalStateException: java.lang.IllegalStateException:
java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException
at edu.uci.ics.hyracks.client.dataset.HyracksDatasetReader.nextPartition(HyracksDatasetReader.java:120)
at edu.uci.ics.hyracks.client.dataset.HyracksDatasetReader.read(HyracksDatasetReader.java:131)
at edu.uci.ics.asterix.result.ResultReader.read(ResultReader.java:55)
at edu.uci.ics.asterix.result.ResultUtils.displayResults(ResultUtils.java:96)
at edu.uci.ics.asterix.aql.translator.AqlTranslator.handleQuery(AqlTranslator.java:2507)
at edu.uci.ics.asterix.aql.translator.AqlTranslator.compileAndExecute(AqlTranslator.java:377)
at edu.uci.ics.asterix.api.http.servlet.APIServlet.doPost(APIServlet.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:546)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:970)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:411)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:904)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handle(Server.java:347)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:439)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:924)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:781)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:220)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:43)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)
at java.lang.Thread.run(Thread.java:745)
Caused by: edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException:
java.lang.IllegalStateException: java.lang.IllegalStateException:
java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException
at edu.uci.ics.hyracks.control.common.utils.ExceptionUtils.setNodeIds(ExceptionUtils.java:41)
at edu.uci.ics.hyracks.control.nc.Task.run(Task.java:308)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
... 1 more
Caused by: edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException:
java.lang.IllegalStateException: java.lang.IllegalStateException:
java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException
at edu.uci.ics.hyracks.control.nc.Task.pushFrames(Task.java:354)
at edu.uci.ics.hyracks.control.nc.Task.run(Task.java:286)
... 3 more
Caused by: edu.uci.ics.hyracks.api.exceptions.HyracksDataException:
edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException:
java.lang.IllegalStateException: java.lang.IllegalStateException:
java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException
at edu.uci.ics.hyracks.algebricks.runtime.serializer.ResultSerializerFactoryProvider$1$1.appendTuple(ResultSerializerFactoryProvider.java:69)
at edu.uci.ics.hyracks.dataflow.std.result.ResultWriterOperatorDescriptor$1.nextFrame(ResultWriterOperatorDescriptor.java:97)
at edu.uci.ics.hyracks.dataflow.common.comm.io.AbstractFrameAppender.flush(AbstractFrameAppender.java:79)
at edu.uci.ics.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.flushAndReset(AbstractOneInputOneOutputOneFramePushRuntime.java:56)
at edu.uci.ics.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.flushIfNotFailed(AbstractOneInputOneOutputOneFramePushRuntime.java:62)
at edu.uci.ics.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.close(AbstractOneInputOneOutputOneFramePushRuntime.java:50)
at edu.uci.ics.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.close(AbstractOneInputOneOutputOneFramePushRuntime.java:51)
at edu.uci.ics.hyracks.algebricks.runtime.operators.meta.AlgebricksMetaOperatorDescriptor$2.close(AlgebricksMetaOperatorDescriptor.java:141)
at edu.uci.ics.hyracks.dataflow.std.join.NestedLoopJoinOperatorDescriptor$NestedLoopJoinActivityNode$1.close(NestedLoopJoinOperatorDescriptor.java:206)
at edu.uci.ics.hyracks.control.nc.Task.pushFrames(Task.java:345)
... 4 more
Caused by:
edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException:
java.lang.IllegalStateException: java.lang.IllegalStateException:
java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException
at edu.uci.ics.asterix.dataflow.data.nontagged.printers.ARecordPrinterFactory$1.print(ARecordPrinterFactory.java:64)
at edu.uci.ics.hyracks.algebricks.runtime.writers.PrinterBasedWriterFactory$1.printTuple(PrinterBasedWriterFactory.java:62)
at edu.uci.ics.hyracks.algebricks.runtime.serializer.ResultSerializerFactoryProvider$1$1.appendTuple(ResultSerializerFactoryProvider.java:65)
... 13 more
Caused by: java.lang.IllegalStateException: java.lang.IllegalStateException:
java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException
at edu.uci.ics.asterix.om.pointables.ARecordVisitablePointable.set(ARecordVisitablePointable.java:263)
at edu.uci.ics.asterix.dataflow.data.nontagged.printers.ARecordPrinterFactory$1.print(ARecordPrinterFactory.java:60)
... 15 more
Caused by: java.lang.IllegalStateException: java.lang.IllegalStateException:
java.lang.IndexOutOfBoundsException
at edu.uci.ics.asterix.om.pointables.AListVisitablePointable.set(AListVisitablePointable.java:161)
at edu.uci.ics.asterix.om.pointables.ARecordVisitablePointable.set(ARecordVisitablePointable.java:225)
... 16 more
Caused by: java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException
at edu.uci.ics.asterix.om.pointables.ARecordVisitablePointable.set(ARecordVisitablePointable.java:263)
at edu.uci.ics.asterix.om.pointables.AListVisitablePointable.set(AListVisitablePointable.java:136)
... 17 more
Caused by: java.lang.IndexOutOfBoundsException
at edu.uci.ics.hyracks.data.std.util.ByteArrayAccessibleOutputStream.write(ByteArrayAccessibleOutputStream.java:43)
at java.io.DataOutputStream.write(DataOutputStream.java:107)
at edu.uci.ics.asterix.om.pointables.ARecordVisitablePointable.set(ARecordVisitablePointable.java:222)
... 18 more
Original issue reported on code.google.com by ima...@uci.edu on 31 Jul 2015 at 11:54
Original issue reported on code.google.com by
ima...@uci.edu
on 31 Jul 2015 at 11:54