[ https://issues.apache.org/jira/browse/HIVE-18629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16354350#comment-16354350 ]
Sergey Shelukhin commented on HIVE-18629: ----------------------------------------- [~vihangk1] no that makes sense, they might be related. I don't see that the patch there handles copySelected though. Note that If... expr class has two paths; if the condition vector (#1) is repeating it calls copySelected on v2 or v3 (the sides of the case expression); otherwise it goes one by one to look at v1 values to copy values from v2 and v3 one by one. This separation by v1's repeatability should have no bearing on how v2 and v3 are treated; however the separate-setVal logic in ifexpr, under copySelected path, has isNull checks protecting setVal, whereas copySelected doesn't have such checks and calls setVal blindly. So as far as I can tell either this patch is necessary, or null checks on the non-repeating path in IfExpr... are unnecessary. That's just the low level observation I made, I'm not super familiar with vectorization changes recently. So this may be necessary in addition to HIVE-18622. > copyValues in BytesColumnVector may be missing null checks > ---------------------------------------------------------- > > Key: HIVE-18629 > URL: https://issues.apache.org/jira/browse/HIVE-18629 > Project: Hive > Issue Type: Bug > Reporter: Sergey Shelukhin > Assignee: Sergey Shelukhin > Priority: Major > Attachments: HIVE-18629.patch > > > {noformat} > Caused by: java.lang.NullPointerException > at java.lang.System.arraycopy(Native Method) > at > org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector.setVal(BytesColumnVector.java:173) > at > org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector.copySelected(BytesColumnVector.java:333) > at > org.apache.hadoop.hive.ql.exec.vector.expressions..evaluate(IfExprStringGroupColumnStringGroupColumn.java:83) > at > org.apache.hadoop.hive.ql.exec.vector.VectorSelectOperator.process(VectorSelectOperator.java:133) > {noformat} > IfExprStringGroupColumnStringGroupColumn code below the v1.isRepeating case > has isNull checks for v2/v3 buffers that copySelected is missing. -- This message was sent by Atlassian JIRA (v7.6.3#76005)