Thomas Rebele created HIVE-29433:
------------------------------------

             Summary: ClassCastException in FilterLongColumnBetween.evaluate 
when vectorization is enabled: DecimalColumnVector cannot be cast to class 
LongColumnVector 
                 Key: HIVE-29433
                 URL: https://issues.apache.org/jira/browse/HIVE-29433
             Project: Hive
          Issue Type: Bug
            Reporter: Thomas Rebele


The following q file reproduces the problem (on 
e67eeb53fe86607ca23a56fc749f6d32b8e9c54f):
{code:java}
CREATE TABLE test_stats0 (e decimal(38,10)) stored as orc;
insert into test_stats0 (e) values (0.0);

select '\nquery executes successfully without vectorization';
set hive.vectorized.execution.enabled=false;
set hive.vectorized.execution.enabled;
select count(*) from test_stats0 where CAST(e as DECIMAL(15,1)) BETWEEN 100.0 
AND 1000.0;


select '\nquery fails when vectorization is enabled';
set hive.vectorized.execution.enabled=true;
set hive.vectorized.execution.enabled;
select count(*) from test_stats0 where CAST(e as DECIMAL(15,1)) BETWEEN 100.0 
AND 1000.0;
{code}
Exception:
{code:java}
java.lang.AssertionError: 
Client execution failed with error code = 2 
running 
select count(*) from test_stats0 where CAST(e as DECIMAL(15,1)) BETWEEN 100.0 
AND 1000.0 
fname=cast-between.q

See ./ql/target/tmp/log/hive.log or ./itests/qtest/target/tmp/log/hive.log, or 
check ./ql/target/surefire-reports or ./itests/qtest/target/surefire-reports/ 
for specific test cases logs.
 org.apache.hadoop.hive.ql.exec.tez.TezRuntimeException: Vertex failed, 
vertexName=Map 1, vertexId=vertex_1770048702476_0001_3_00, diagnostics=[Task 
failed, taskId=task_1770048702476_0001_3_00_000000, diagnostics=[TaskAttempt 0 
failed, info=[Error: Error while running task ( failure ) : 
attempt_1770048702476_0001_3_00_000000_0:java.lang.RuntimeException: 
java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: 
Hive Runtime Error while processing row 
        at 
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:341)
        at 
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:276)
        at 
org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:381)
        at 
org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:86)
        at 
org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:72)
        at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
        at java.base/javax.security.auth.Subject.doAs(Subject.java:525)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1953)
        at 
org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:72)
        at 
org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:42)
        at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36)
        at 
org.apache.hadoop.hive.llap.daemon.impl.StatsRecordingThreadPool$WrappedCallable.call(StatsRecordingThreadPool.java:111)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.RuntimeException: 
org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while 
processing row 
        at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:110)
        at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.pushRecord(MapRecordSource.java:83)
        at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.run(MapRecordProcessor.java:414)
        at 
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:293)
        ... 15 more
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error 
while processing row 
        at 
org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.process(VectorMapOperator.java:993)
        at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:101)
        ... 18 more
Caused by: java.lang.ClassCastException: class 
org.apache.hadoop.hive.ql.exec.vector.DecimalColumnVector cannot be cast to 
class org.apache.hadoop.hive.ql.exec.vector.LongColumnVector 
(org.apache.hadoop.hive.ql.exec.vector.DecimalColumnVector and 
org.apache.hadoop.hive.ql.exec.vector.LongColumnVector are in unnamed module of 
loader 'app')
        at 
org.apache.hadoop.hive.ql.exec.vector.expressions.gen.FilterLongColumnBetween.evaluate(FilterLongColumnBetween.java:65)
        at 
org.apache.hadoop.hive.ql.exec.vector.VectorFilterOperator.process(VectorFilterOperator.java:124)
        at 
org.apache.hadoop.hive.ql.exec.Operator.vectorForward(Operator.java:919)
        at 
org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:171)
        at 
org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.deliverVectorizedRowBatch(VectorMapOperator.java:809)
        at 
org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.process(VectorMapOperator.java:878)
        ... 19 more
], TaskAttempt 1 failed, info=[Error: Error while running task ( failure ) : 
attempt_1770048702476_0001_3_00_000000_1:java.lang.RuntimeException: 
java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: 
Hive Runtime Error while processing row 
        at 
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:341)
        at 
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:276)
        at 
org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:381)
        at 
org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:86)
        at 
org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:72)
        at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
        at java.base/javax.security.auth.Subject.doAs(Subject.java:525)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1953)
        at 
org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:72)
        at 
org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:42)
        at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36)
        at 
org.apache.hadoop.hive.llap.daemon.impl.StatsRecordingThreadPool$WrappedCallable.call(StatsRecordingThreadPool.java:111)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.RuntimeException: 
org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while 
processing row 
        at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:110)
        at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.pushRecord(MapRecordSource.java:83)
        at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.run(MapRecordProcessor.java:414)
        at 
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:293)
        ... 15 more
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error 
while processing row 
        at 
org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.process(VectorMapOperator.java:993)
        at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:101)
        ... 18 more
Caused by: java.lang.ClassCastException: class 
org.apache.hadoop.hive.ql.exec.vector.DecimalColumnVector cannot be cast to 
class org.apache.hadoop.hive.ql.exec.vector.LongColumnVector 
(org.apache.hadoop.hive.ql.exec.vector.DecimalColumnVector and 
org.apache.hadoop.hive.ql.exec.vector.LongColumnVector are in unnamed module of 
loader 'app')
        at 
org.apache.hadoop.hive.ql.exec.vector.expressions.gen.FilterLongColumnBetween.evaluate(FilterLongColumnBetween.java:65)
        at 
org.apache.hadoop.hive.ql.exec.vector.VectorFilterOperator.process(VectorFilterOperator.java:124)
        at 
org.apache.hadoop.hive.ql.exec.Operator.vectorForward(Operator.java:919)
        at 
org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:171)
        at 
org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.deliverVectorizedRowBatch(VectorMapOperator.java:809)
        at 
org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.process(VectorMapOperator.java:878)
        ... 19 more
]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 
killedTasks:0, Vertex vertex_1770048702476_0001_3_00 [Map 1] killed/failed due 
to:OWN_TASK_FAILURE]Vertex killed, vertexName=Reducer 2, 
vertexId=vertex_1770048702476_0001_3_01, diagnostics=[Vertex received Kill 
while in RUNNING state., Vertex did not succeed due to OTHER_VERTEX_FAILURE, 
failedTasks:0 killedTasks:1, Vertex vertex_1770048702476_0001_3_01 [Reducer 2] 
killed/failed due to:OTHER_VERTEX_FAILURE]DAG did not succeed due to 
VERTEX_FAILURE. failedVertices:1 killedVertices:1
        at org.apache.hadoop.hive.ql.exec.tez.TezTask.execute(TezTask.java:286)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:214)
        at 
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:105)
        at org.apache.hadoop.hive.ql.Executor.launchTask(Executor.java:354)
        at org.apache.hadoop.hive.ql.Executor.launchTasks(Executor.java:327)
        at org.apache.hadoop.hive.ql.Executor.runTasks(Executor.java:244)
        at org.apache.hadoop.hive.ql.Executor.execute(Executor.java:105)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:345)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:189)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:142)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:137)
        at 
org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:190)
        at 
org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:235)
        at 
org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd1(CliDriver.java:203)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:129)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:430)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:358)
        at 
org.apache.hadoop.hive.ql.QTestUtil.executeClientInternal(QTestUtil.java:760)
        at org.apache.hadoop.hive.ql.QTestUtil.executeClient(QTestUtil.java:730)
        at 
org.apache.hadoop.hive.cli.control.CoreCliDriver.runTest(CoreCliDriver.java:115)
        at 
org.apache.hadoop.hive.cli.control.CliAdapter.runTest(CliAdapter.java:139)
        at 
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver(TestMiniLlapLocalCliDriver.java:62)
 ...{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to