Ryu Kobayashi created HIVE-26713:
------------------------------------

             Summary: StringExpr ArrayIndexOutOfBoundsException with LIKE 
'%xxx%'
                 Key: HIVE-26713
                 URL: https://issues.apache.org/jira/browse/HIVE-26713
             Project: Hive
          Issue Type: Bug
          Components: storage-api
    Affects Versions: All Versions
            Reporter: Ryu Kobayashi


When LIKE(%xxx%) search is performed, if the character string contains control 
characters, overflow occurs as follows.

https://github.com/apache/hive/blob/master/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringExpr.java#L345
{code:java}
// input[next] == -1
// shift[input[next] & MAX_BYTE] == 255
next += shift[input[next] & MAX_BYTE]; {code}
 

Stack trace:
{code:java}
TaskAttempt 3 failed, info=[Error: Error while running task ( failure ) : 
attempt_1665986828766_64791_1_00_000000_3:java.lang.RuntimeException: 
java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: 
Hive Runtime Error while processing row 
2       at 
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:220)
3       at 
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:177)
4       at 
org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:479)
5       at 
org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:73)
6       at 
org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:61)
7       at java.security.AccessController.doPrivileged(Native Method)
8       at javax.security.auth.Subject.doAs(Subject.java:422)
9       at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1893)
10      at 
org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:61)
11      at 
org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:37)
12      at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36)
13      at 
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:108)
14      at 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:41)
15      at 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:77)
16      at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
17      at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
18      at java.lang.Thread.run(Thread.java:750)
19Caused by: java.lang.RuntimeException: 
org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while 
processing row 
20      at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:95)
21      at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.pushRecord(MapRecordSource.java:70)
22      at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.run(MapRecordProcessor.java:419)
23      at 
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:194)
24      ... 16 more
25Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime 
Error while processing row 
26      at 
org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.process(VectorMapOperator.java:883)
27      at 
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:86)
28      ... 19 more
29Caused by: java.lang.ArrayIndexOutOfBoundsException: 255
30      at 
org.apache.hadoop.hive.ql.exec.vector.expressions.StringExpr$BoyerMooreHorspool.find(StringExpr.java:409)
31      at 
org.apache.hadoop.hive.ql.exec.vector.expressions.AbstractFilterStringColLikeStringScalar$MiddleChecker.index(AbstractFilterStringColLikeStringScalar.java:314)
32      at 
org.apache.hadoop.hive.ql.exec.vector.expressions.AbstractFilterStringColLikeStringScalar$MiddleChecker.check(AbstractFilterStringColLikeStringScalar.java:307)
33      at 
org.apache.hadoop.hive.ql.exec.vector.expressions.AbstractFilterStringColLikeStringScalar.evaluate(AbstractFilterStringColLikeStringScalar.java:115)
34      at 
org.apache.hadoop.hive.ql.exec.vector.expressions.FilterExprOrExpr.evaluate(FilterExprOrExpr.java:183)
35      at 
org.apache.hadoop.hive.ql.exec.vector.expressions.FilterExprAndExpr.evaluate(FilterExprAndExpr.java:42)
36      at 
org.apache.hadoop.hive.ql.exec.vector.VectorFilterOperator.process(VectorFilterOperator.java:113)
37      at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:897)
38      at 
org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:130)
39      at 
org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.process(VectorMapOperator.java:783)
40      ... 20 more
41]], Vertex did not suc {code}



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

Reply via email to