[ 
https://issues.apache.org/jira/browse/HIVE-15570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhiyuan Yang updated HIVE-15570:
--------------------------------
    Attachment: HIVE-15570.2.patch

Same exception may be thrown in following cases and is hard to debug.
1. llap mode is used but there is no llap daemon
2. llap mode is used but llap daemon is during recovery
3. container mode is used but hive.llap.client.consistent.splits is true

In the new patch, hive.llap.client.consistent.splits won't be effective if 
container mode is used. If llap mode is used but there is no running daemon, we 
fall back to locations provided by splits. Then If there is no llap daemon at 
all, LlapTaskSchedulerService will detect this and report "No LLAP Daemons are 
running"; or if llap daemon finish recovery, query can still succeed.

> LLAP: Exception in HostAffinitySplitLocationProvider when running in 
> container mode
> -----------------------------------------------------------------------------------
>
>                 Key: HIVE-15570
>                 URL: https://issues.apache.org/jira/browse/HIVE-15570
>             Project: Hive
>          Issue Type: Bug
>          Components: llap
>            Reporter: Rajesh Balamohan
>            Assignee: Zhiyuan Yang
>            Priority: Minor
>         Attachments: HIVE-15570.1.patch, HIVE-15570.2.patch
>
>
> Sometimes user might prefer to run with "hive.execution.mode=container" mode 
> when LLAP is stopped. If hive config for LLAP had 
> "hive.llap.client.consistent.splits=true" in client side, it would end up 
> throwing the following exception in {{Utils.java}}.
> {noformat}
> Caused by: java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>         at 
> org.apache.tez.common.ReflectionUtils.getNewInstance(ReflectionUtils.java:68)
>         ... 25 more
> Caused by: java.lang.IllegalStateException: 
> org.apache.hadoop.hive.ql.exec.tez.HostAffinitySplitLocationProvider needs at 
> least 1 location to function
>         at 
> com.google.common.base.Preconditions.checkState(Preconditions.java:149)
>         at 
> org.apache.hadoop.hive.ql.exec.tez.HostAffinitySplitLocationProvider.<init>(HostAffinitySplitLocationProvider.java:52)
>         at 
> org.apache.hadoop.hive.ql.exec.tez.Utils.getSplitLocationProvider(Utils.java:54)
>         at 
> org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator.<init>(HiveSplitGenerator.java:121)
>         ... 30 more
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to