You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "László Bodor (Jira)" <ji...@apache.org> on 2021/02/04 11:44:00 UTC
[jira] [Commented] (TEZ-4282) Possible NPE in LocalClient after
TEZ-4236
[ https://issues.apache.org/jira/browse/TEZ-4282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17278788#comment-17278788 ]
László Bodor commented on TEZ-4282:
-----------------------------------
https://github.com/apache/tez/pull/103
> Possible NPE in LocalClient after TEZ-4236
> ------------------------------------------
>
> Key: TEZ-4282
> URL: https://issues.apache.org/jira/browse/TEZ-4282
> Project: Apache Tez
> Issue Type: Bug
> Reporter: László Bodor
> Assignee: László Bodor
> Priority: Major
>
> It can be detected in hive unit tests:
> {code}
> Caused by: java.lang.NullPointerException
> at org.apache.tez.client.LocalClient.getAMStatus(LocalClient.java:406)
> at org.apache.tez.client.TezClient.getAppMasterStatus(TezClient.java:843)
> at org.apache.tez.client.TezClient.waitTillReady(TezClient.java:977)
> at org.apache.tez.client.TezClient.preWarm(TezClient.java:924)
> at org.apache.tez.client.TezClient.preWarm(TezClient.java:879)
> at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.startSessionAndContainers(TezSessionState.java:546)
> at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.openInternal(TezSessionState.java:374)
> at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.open(TezSessionState.java:313)
> at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.open(TezSessionState.java:220)
> at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:711)
> {code}
> the problem only affects LocalClient, so not a production-level issue, but unit tests can fail with this problem
> the original getAMStatus in FrameworkClient detected the non-readiness of the AM through the proxy:
> {code}
> if (proxy == null) {
> return TezAppMasterStatus.INITIALIZING;
> }
> GetAMStatusResponseProto response =
> proxy.getAMStatus(null, GetAMStatusRequestProto.newBuilder().build());
> return DagTypeConverters.convertTezAppMasterStatusFromProto(response.getStatus());
> {code}
> a similar solution should go to LocalClient, and only if isLocalWithoutNetwork is on
> {code}
> if (clientHandler == null){
> return TezAppMasterStatus.INITIALIZING;
> }
> return clientHandler.getTezAppMasterStatus();
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)