[
https://issues.apache.org/jira/browse/TEZ-1631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14153543#comment-14153543
]
Bikas Saha commented on TEZ-1631:
---------------------------------
This patch looks similar to TEZ-1433-v1.patch on TEZ-1433 right?
What will actually happen when waitForProxy() is called is that it will end up
throwing a SessionNotRunning exception that will go all the way to the high
level component. So the internal stop() code will not be triggered. This is
exactly what the new test is verifying by asserting that the exception is
instance of SessionNotRunning.
The test needs some change though to mimic what actually happens. First, we
need to let the session time out, then submit the DAG for the first time, catch
and verify the exception. Then create a new session and submit the same DAG to
the session. Verify that it runs and succeeds. So the successful run has to be
from the second submission of the same DAG.
> Session dag submission timeout can result in duplicate DAG submissions
> ----------------------------------------------------------------------
>
> Key: TEZ-1631
> URL: https://issues.apache.org/jira/browse/TEZ-1631
> Project: Apache Tez
> Issue Type: Bug
> Affects Versions: 0.4.1
> Reporter: Bikas Saha
> Assignee: Jeff Zhang
> Attachments: Tez-1631-2.patch, Tez-1631-3.patch, Tez-1631.patch
>
>
> In TezSession.submitDAG() we could first check if the session is ready and
> throw a SessionNotRunning exception if that is not the case. This should be
> done before processing the DAG and thus will prevent unnecessary modification
> of the DAG.
> If the session is ready then we can submit the DAG as usual. Higher level
> components already handle SessionNotRunning exception.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)