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

Canbin Zheng commented on FLINK-17177:
--------------------------------------

{quote}I post the {{WatchEvent}} in K8s here[1]. I do not find the "Error" type 
means "HTTP error". So could share some information about how the "Error" type 
is introduced by HTTP layer error?

 

[1]. 
[https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#watchevent-v1-meta]
{quote}
One case in K8s client-go is 
[https://github.com/kubernetes/kubernetes/blob/343c1e7636fe5c75cdd378c0b170b26935806de5/staging/src/k8s.io/apimachinery/pkg/watch/streamwatcher.go#L121]

Also, the K8s server could probably send {{ERROR}} event if something goes 
wrong in the HTTP stream.

> Handle ERROR event correctly in KubernetesResourceManager#onError
> -----------------------------------------------------------------
>
>                 Key: FLINK-17177
>                 URL: https://issues.apache.org/jira/browse/FLINK-17177
>             Project: Flink
>          Issue Type: Bug
>          Components: Deployment / Kubernetes
>    Affects Versions: 1.10.0, 1.10.1
>            Reporter: Canbin Zheng
>            Priority: Major
>             Fix For: 1.11.0
>
>
> Currently, once we receive an *ERROR* event that is sent from the K8s API 
> server via the K8s {{Watcher}}, then {{KubernetesResourceManager#onError}} 
> will handle it by calling the 
> {{KubernetesResourceManager#removePodIfTerminated}}. This may be incorrect 
> since the *ERROR* event indicates an exception in the HTTP layer that is 
> caused by the K8s Server, which means the previously created {{Watcher}} may 
> be no longer available and we'd better re-create the {{Watcher}} immediately.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to