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 2023/02/14 08:10:00 UTC

[jira] [Resolved] (TEZ-4475) VertexStatus is missing in TestLocalMode if DAG finishes too early - causing NPE in unit test

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

László Bodor resolved TEZ-4475.
-------------------------------
    Resolution: Fixed

> VertexStatus is missing in TestLocalMode if DAG finishes too early - causing NPE in unit test
> ---------------------------------------------------------------------------------------------
>
>                 Key: TEZ-4475
>                 URL: https://issues.apache.org/jira/browse/TEZ-4475
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: László Bodor
>            Assignee: László Bodor
>            Priority: Major
>             Fix For: 0.10.3
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> this problem is very hard to reproduce, but when I was able to do so, it was like:
> {code}
> 2023-02-13 11:32:16,302 INFO  [DAGAppMaster Thread] app.DAGAppMaster (DAGAppMaster.java:startDAG(2545)) - Running DAG: testMultipleClientsWithoutSession2_useDfs
> ...
> 2023-02-13 11:32:16,406 INFO  [Thread-675] client.DAGClientImpl (DAGClientImpl.java:getVertexStatusInternal(280)) - getVertexStatusInternal for Sleep, dagCompleted: true, in cache: false
> {code}
> in this case, the latter log message was added [here|https://github.com/apache/tez/blob/e3e91a150dad44a9daa3102da04542e2e365203d/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClientImpl.java#L305] as:
> {code}
>     LOG.info("getVertexStatusInternal for {}, dagCompleted: {}, in cache: {}", vertexName, dagCompleted,
>         cachedVertexStatus.containsKey(vertexName));
> {code}
> so, the dag has already completed, but there were no vertex status updates yet (cache was empty), so unit tests failed with an inconvenient NPE
> this bug was always there, but got exposed by unit tests added in TEZ-4447
> the easiest way to solve this is to simply prevent the dag finish too early



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