[ 
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)

Reply via email to