You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Luca Castelli (Jira)" <ji...@apache.org> on 2025/02/21 17:26:00 UTC
[jira] [Created] (FLINK-37370) [Observer] Finished batch jobs throw ReconciliationException and never reach FINISHED in the CR
Luca Castelli created FLINK-37370:
-------------------------------------
Summary: [Observer] Finished batch jobs throw ReconciliationException and never reach FINISHED in the CR
Key: FLINK-37370
URL: https://issues.apache.org/jira/browse/FLINK-37370
Project: Flink
Issue Type: Bug
Components: Kubernetes Operator
Environment: I've attached the flinkdeployment CR I used to locally replicate.
Reporter: Luca Castelli
Fix For: kubernetes-operator-1.11.0
Attachments: operator-log-batch-job.log, test-batch-job.yaml
The root error (full logs attached):
{code:java}
Caused by: org.apache.flink.runtime.rest.util.RestClientException: [org.apache.flink.runtime.rest.handler.RestHandlerException: Checkpointing has not been enabled.
at org.apache.flink.runtime.rest.handler.job.checkpoints.CheckpointingStatisticsHandler.createCheckpointingStatistics(CheckpointingStatisticsHandler.java:107)
{code}
# The job finishes successfully and the job status changes to FINISHED in memory
# In the observation loop, in[ AbstractFlinkService.getCheckpointInfo|https://github.com/apache/flink-kubernetes-operator/blob/main/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/service/AbstractFlinkService.java#L570], the operator successfully connects to the Flink REST API
# It tries to get checkpoint statistics via CheckpointingStatisticsHandler, but the handler throws an error because checkpointing is not enabled. This is an expected response since it's a batch job
E.g.[ http://localhost:8081/jobs/job-id/checkpoints|http://localhost:8081/jobs/d12843a2a326d5268e550012e620cdca/checkpoints]
{code:java}
{ "errors": [ "org.apache.flink.runtime.rest.handler.RestHandlerException: Checkpointing has not been enabled.\n\tat org.apache.flink.runtime.rest.handler.job.checkpoints.CheckpointingStatisticsHandler.createCheckpointingStatistics(CheckpointingStatisticsHandler.java:107)\n\tat org.apache.flink.runtime.rest.handler.job.checkpoints.CheckpointingStatisticsHandler.handleCheckpointStatsRequest(CheckpointingStatisticsHandler.java:85)\n\tat org.apache.flink.runtime.rest.handler.job.checkpoints.CheckpointingStatisticsHandler.handleCheckpointStatsRequest(CheckpointingStatisticsHandler.java:59)\n\tat org.apache.flink.runtime.rest.handler.job.checkpoints.AbstractCheckpointStatsHandler.lambda$handleRequest$1(AbstractCheckpointStatsHandler.java:89)\n\tat java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)\n\tat java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat java.base/java.lang.Thread.run(Thread.java:829)\n" ] }{code}
# The REST endpoint exists but returns the exception which then bubbles up to
{code:java}
org.apache.flink.kubernetes.operator.exception.ReconciliationException: Could not observe latest savepoint information{code}
in the operator and continues being thrown in a loop
# The deployment is never cleaned up and never reaches a FINISHED JOB STATUS in the CR
--
This message was sent by Atlassian Jira
(v8.20.10#820010)