[ 
https://issues.apache.org/jira/browse/FLINK-11665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16773282#comment-16773282
 ] 

Joey Echeverria commented on FLINK-11665:
-----------------------------------------

[~basharaj], I see one code path where jobs are released after they were 
recovered: 
https://github.com/apache/flink/blob/release-1.5.5/flink-runtime/src/main/java/org/apache/flink/runtime/dispatcher/Dispatcher.java#L657-L674

What I think is happening is that while the Dispatcher is trying to recover all 
jobs, it gets an exception. This triggers a release of all recovered job graphs 
which deletes the lock from zookeeper and removes the job from the 
{{addedJobGraphs}} cache in {{ZooKeeperSubmittedJobGraphStore}}. When the job 
is then stopped, you get the error that you noticed where the ZK state is left 
because the job wasn't in the cache. I don't see anywhere that the exception is 
logged so I'm not sure that I can confirm that one of the jobs failed to 
recover causing the release, but it seems most likely based on my reading of 
the source code.

> Flink fails to remove JobGraph from ZK even though it reports it did
> --------------------------------------------------------------------
>
>                 Key: FLINK-11665
>                 URL: https://issues.apache.org/jira/browse/FLINK-11665
>             Project: Flink
>          Issue Type: Bug
>          Components: JobManager
>    Affects Versions: 1.5.5
>            Reporter: Bashar Abdul Jawad
>            Priority: Major
>
> We recently have seen the following issue with Flink 1.5.5:
> Given Flink Job ID 1d24cad26843dcebdfca236d5e3ad82a: 
> 1- A job is activated successfully and the job graph added to ZK:
> {code:java}
> Added SubmittedJobGraph(1d24cad26843dcebdfca236d5e3ad82a, null) to ZooKeeper.
> {code}
> 2- Job is deactivated, Flink reports that the job graph has been successfully 
> removed from ZK and the blob is deleted from the blob server (in this case 
> S3):
> {code:java}
> Removed job graph 1d24cad26843dcebdfca236d5e3ad82a from ZooKeeper.
> {code}
> 3- JM is later restarted, Flink for some reason attempts to recover the job 
> that it reported earlier it has removed from ZK but since the blob has 
> already been deleted the JM goes into a crash loop. The only way to recover 
> it manually is to remove the job graph entry from ZK:
> {code:java}
> Recovered SubmittedJobGraph(1d24cad26843dcebdfca236d5e3ad82a, null).  
> {code}
> and
> {code:java}
> org.apache.flink.fs.s3presto.shaded.com.amazonaws.services.s3.model.AmazonS3Exception:
>  The specified key does not exist. (Service: Amazon S3; Status Code: 404; 
> Error Code: NoSuchKey; Request ID: 1BCDFD83FC4546A2), S3 Extended Request ID: 
> OzZtMbihzCm1LKy99s2+rgUMxyll/xYmL6ouMvU2eo30wuDbUmj/DAWoTCs9pNNCLft0FWqbhTo= 
> (Path: 
> s3://blam-state-staging/flink/default/blob/job_1d24cad26843dcebdfca236d5e3ad82a/blob_p-c51b25cc0b20351f6e32a628bb6e674ee48a273e-ccfa96b0fd795502897c73714185dde3)
> {code}
> My question is under what circumstances would this happen? this seems to 
> happen very infrequently but since the consequence is severe (JM crash loop) 
> we'd like to understand how it would happen.
> This  all seems a little similar to 
> https://issues.apache.org/jira/browse/FLINK-9575 but that issue is reported 
> fixed in Flink 1.5.2 and we are already on Flink 1.5.5



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to