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

Santwana Verma updated FLINK-41267:
-----------------------------------
    Description: 
For a FlinkDeployment whose job has checkpointing disabled, which includes 
every batch job, the operator logs the following with a full stack trace on 
every reconcile:

{{WARN  Exception while fetching cluster info 
java.util.concurrent.ExecutionException: 
org.apache.flink.runtime.rest.util.RestClientException: [Checkpointing has not 
been enabled.]}}

status.clusterInfo and status.taskManager.replicas are also never updated for 
these jobs.

The cluster info includes the job's state size, which the operator reads from 
the job's checkpoint statistics. For a job without checkpointing, the 
JobManager answers 404 "Checkpointing has not been enabled." The operator 
treats that answer as a failure of the whole cluster info, so none of it is 
reported. That request also has no timeout, unlike the operator's other 
requests for the cluster info.
When the operator looks up a job's latest checkpoint, it already accepts the 
same answer as "no checkpoint". It still logs it as a WARN with the stack 
trace, though.

{*}Proposed fix{*}: when the JobManager gives this answer, report the cluster 
info without the state size, and log at DEBUG. Add the operator's Flink client 
timeout to the checkpoint statistics request. Log the latest-checkpoint case at 
DEBUG without the stack trace.

  was:
For a FlinkDeployment whose job has checkpointing disabled, which includes 
every batch job, the operator logs the following with a full stack trace on 
every reconcile:

WARN  Exception while fetching cluster info 
java.util.concurrent.ExecutionException: 
org.apache.flink.runtime.rest.util.RestClientException: [Checkpointing has not 
been enabled.]

status.clusterInfo and status.taskManager.replicas are also never updated for 
these jobs.

To report the job's state size in the cluster info, 
AbstractFlinkService.getClusterInfo requests the job's checkpoint statistics. 
For a job without checkpointing, the JobManager answers 404 "Checkpointing has 
not been enabled." populateStateSize does not handle this, so the whole 
getClusterInfo call fails. That request also has no timeout, unlike the other 
requests in getClusterInfo.

Proposed fix: when Flink gives this answer, skip the state size in 
populateStateSize and log at DEBUG. Add the Flink client timeout to that 
request, and log the same case in getLastCheckpoint at DEBUG without the stack 
trace.


> Cluster info fails for jobs without checkpointing, logging a WARN on every 
> reconcile
> ------------------------------------------------------------------------------------
>
>                 Key: FLINK-41267
>                 URL: https://issues.apache.org/jira/browse/FLINK-41267
>             Project: Flink
>          Issue Type: Bug
>          Components: Kubernetes Operator
>            Reporter: Santwana Verma
>            Priority: Minor
>
> For a FlinkDeployment whose job has checkpointing disabled, which includes 
> every batch job, the operator logs the following with a full stack trace on 
> every reconcile:
> {{WARN  Exception while fetching cluster info 
> java.util.concurrent.ExecutionException: 
> org.apache.flink.runtime.rest.util.RestClientException: [Checkpointing has 
> not been enabled.]}}
> status.clusterInfo and status.taskManager.replicas are also never updated for 
> these jobs.
> The cluster info includes the job's state size, which the operator reads from 
> the job's checkpoint statistics. For a job without checkpointing, the 
> JobManager answers 404 "Checkpointing has not been enabled." The operator 
> treats that answer as a failure of the whole cluster info, so none of it is 
> reported. That request also has no timeout, unlike the operator's other 
> requests for the cluster info.
> When the operator looks up a job's latest checkpoint, it already accepts the 
> same answer as "no checkpoint". It still logs it as a WARN with the stack 
> trace, though.
> {*}Proposed fix{*}: when the JobManager gives this answer, report the cluster 
> info without the state size, and log at DEBUG. Add the operator's Flink 
> client timeout to the checkpoint statistics request. Log the 
> latest-checkpoint case at DEBUG without the stack trace.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to