You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Canbin Zheng (Jira)" <ji...@apache.org> on 2020/04/17 05:23:00 UTC

[jira] [Comment Edited] (FLINK-17177) Handle ERROR event correctly in KubernetesResourceManager#onError

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

Canbin Zheng edited comment on FLINK-17177 at 4/17/20, 5:22 AM:
----------------------------------------------------------------

{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 an {{ERROR}} event if something goes wrong in the HTTP stream.


was (Author: felixzheng):
{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)