[ https://issues.apache.org/jira/browse/HIVE-12827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15103060#comment-15103060 ]
Hive QA commented on HIVE-12827: -------------------------------- Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12782483/HIVE-12827.2.patch {color:green}SUCCESS:{color} +1 due to 2 test(s) being added or modified. {color:red}ERROR:{color} -1 due to 8 failed/errored test(s), 10004 tests executed *Failed tests:* {noformat} TestHWISessionManager - did not produce a TEST-*.xml file TestSparkCliDriver-timestamp_lazy.q-bucketsortoptimize_insert_4.q-date_udf.q-and-12-more - did not produce a TEST-*.xml file org.apache.hadoop.hive.cli.TestMiniTezCliDriver.testCliDriver_tez_union org.apache.hadoop.hive.cli.TestNegativeCliDriver.testNegativeCliDriver_authorization_uri_import org.apache.hadoop.hive.metastore.txn.TestCompactionTxnHandler.testRevokeTimedOutWorkers org.apache.hadoop.hive.ql.exec.spark.session.TestSparkSessionManagerImpl.testMultiSessionMultipleUse org.apache.hadoop.hive.ql.exec.spark.session.TestSparkSessionManagerImpl.testSingleSessionMultipleUse org.apache.hive.jdbc.TestSSL.testSSLVersion {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/6644/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/6644/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-6644/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 8 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12782483 - PreCommit-HIVE-TRUNK-Build > Vectorization: VectorCopyRow/VectorAssignRow/VectorDeserializeRow assign > needs explicit isNull[offset] modification > ------------------------------------------------------------------------------------------------------------------- > > Key: HIVE-12827 > URL: https://issues.apache.org/jira/browse/HIVE-12827 > Project: Hive > Issue Type: Bug > Reporter: Gopal V > Assignee: Gopal V > Attachments: HIVE-12827.2.patch > > > Some scenarios do set Double.NaN instead of isNull=true, but all types aren't > consistent. > Examples of un-set isNull for the valid values are > {code} > private class FloatReader extends AbstractDoubleReader { > FloatReader(int columnIndex) { > super(columnIndex); > } > @Override > void apply(VectorizedRowBatch batch, int batchIndex) throws IOException { > DoubleColumnVector colVector = (DoubleColumnVector) > batch.cols[columnIndex]; > if (deserializeRead.readCheckNull()) { > VectorizedBatchUtil.setNullColIsNullValue(colVector, batchIndex); > } else { > float value = deserializeRead.readFloat(); > colVector.vector[batchIndex] = (double) value; > } > } > } > {code} > {code} > private class DoubleCopyRow extends CopyRow { > DoubleCopyRow(int inColumnIndex, int outColumnIndex) { > super(inColumnIndex, outColumnIndex); > } > @Override > void copy(VectorizedRowBatch inBatch, int inBatchIndex, > VectorizedRowBatch outBatch, int outBatchIndex) { > DoubleColumnVector inColVector = (DoubleColumnVector) > inBatch.cols[inColumnIndex]; > DoubleColumnVector outColVector = (DoubleColumnVector) > outBatch.cols[outColumnIndex]; > if (inColVector.isRepeating) { > if (inColVector.noNulls || !inColVector.isNull[0]) { > outColVector.vector[outBatchIndex] = inColVector.vector[0]; > } else { > VectorizedBatchUtil.setNullColIsNullValue(outColVector, > outBatchIndex); > } > } else { > if (inColVector.noNulls || !inColVector.isNull[inBatchIndex]) { > outColVector.vector[outBatchIndex] = > inColVector.vector[inBatchIndex]; > } else { > VectorizedBatchUtil.setNullColIsNullValue(outColVector, > outBatchIndex); > } > } > } > } > {code} > {code} > private static abstract class VectorDoubleColumnAssign > extends VectorColumnAssignVectorBase<DoubleColumnVector> { > protected void assignDouble(double value, int destIndex) { > outCol.vector[destIndex] = value; > } > } > {code} > The pattern to imitate would be the earlier code from VectorBatchUtil > {code} > case DOUBLE: { > DoubleColumnVector dcv = (DoubleColumnVector) batch.cols[offset + > colIndex]; > if (writableCol != null) { > dcv.vector[rowIndex] = ((DoubleWritable) writableCol).get(); > dcv.isNull[rowIndex] = false; > } else { > dcv.vector[rowIndex] = Double.NaN; > setNullColIsNullValue(dcv, rowIndex); > } > } > break; > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)