[
https://issues.apache.org/jira/browse/ASTERIXDB-1421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Xikui Wang closed ASTERIXDB-1421.
---------------------------------
Resolution: Not A Problem
> Not-null attribute inserting problem.
> -------------------------------------
>
> Key: ASTERIXDB-1421
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-1421
> Project: Apache AsterixDB
> Issue Type: Bug
> Reporter: Xikui Wang
> Assignee: Yingyi Bu
> Priority: Minor
>
> When constructing record using data output, if assign not-null (non-optional)
> attribute null value(through code manipulating data output), for other data
> type other than string, the record will not be stored to db. For string type
> and derived type(user defined datatype), the record will be stored, and will
> cause problem when trying to read record.
> For the string case, UTF8Util will print the null value as \u0000, however,
> when there are some non-null attributes result, it will cause exception at
> L60 UTF8StringUtil.java
> For the derived data type case, the read record will cause exception at
> {quote}
> Caused by: java.lang.IllegalStateException:
> java.lang.IndexOutOfBoundsException
> at
> org.apache.asterix.om.pointables.ARecordVisitablePointable.set(ARecordVisitablePointable.java:266)
> at
> org.apache.asterix.dataflow.data.nontagged.printers.adm.ARecordPrinterFactory$1.print(ARecordPrinterFactory.java:65)
> at
> org.apache.hyracks.algebricks.runtime.writers.PrinterBasedWriterFactory$1.printTuple(PrinterBasedWriterFactory.java:66)
> at
> org.apache.hyracks.algebricks.runtime.serializer.ResultSerializerFactoryProvider$1$1.appendTuple(ResultSerializerFactoryProvider.java:64)
> at
> org.apache.hyracks.dataflow.std.result.ResultWriterOperatorDescriptor$1.nextFrame(ResultWriterOperatorDescriptor.java:101)
> at
> org.apache.hyracks.dataflow.common.comm.io.AbstractFrameAppender.write(AbstractFrameAppender.java:93)
> at
> org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.flushAndReset(AbstractOneInputOneOutputOneFramePushRuntime.java:63)
> at
> org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.flushIfNotFailed(AbstractOneInputOneOutputOneFramePushRuntime.java:69)
> at
> org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.close(AbstractOneInputOneOutputOneFramePushRuntime.java:55)
> at
> org.apache.hyracks.algebricks.runtime.operators.std.StreamLimitRuntimeFactory$1.close(StreamLimitRuntimeFactory.java:136)
> at
> org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.close(AbstractOneInputOneOutputOneFramePushRuntime.java:57)
> at
> org.apache.hyracks.algebricks.runtime.operators.meta.AlgebricksMetaOperatorDescriptor$2.close(AlgebricksMetaOperatorDescriptor.java:153)
> at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:356)
> ... 4 more
> Caused by: java.lang.IndexOutOfBoundsException
> at
> org.apache.hyracks.data.std.util.ByteArrayAccessibleOutputStream.write(ByteArrayAccessibleOutputStream.java:73)
> at java.io.DataOutputStream.write(DataOutputStream.java:107)
> at
> org.apache.asterix.om.pointables.ARecordVisitablePointable.set(ARecordVisitablePointable.java:225)
> ... 16 more
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)