[
https://issues.apache.org/jira/browse/FLINK-37370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17940922#comment-17940922
]
Robert Metzger commented on FLINK-37370:
----------------------------------------
I'm not sure if the fix that made it into release-1.11 is really resolving the
issue.
Fix:
https://github.com/apache/flink-kubernetes-operator/commit/01d2440975ebcc9555a9eb58e8614a91622a61f4
Reproducer:
{code}
apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
metadata:
name: str-inst
namespace: jobs3
spec:
flinkConfiguration:
taskmanager.numberOfTaskSlots: "1"
kubernetes.operator.snapshot.resource.enabled: "false"
flinkVersion: v1_20
image: flink:1.20
job:
args: ["--execution-mode", "BATCH"]
jarURI: local:///opt/flink/examples/streaming/WordCount.jar
entryClass: org.apache.flink.streaming.examples.wordcount.WordCount
parallelism: 1
state: running
upgradeMode: stateless
mode: native
serviceAccount: flink
taskManager:
resource:
cpu: 1
memory: 1024m
jobManager:
resource:
cpu: 1
memory: 1024m
{code}
Error
{code}
status:
clusterInfo: {}
error:
'{"type":"org.apache.flink.kubernetes.operator.exception.ReconciliationException","message":"org.apache.flink.kubernetes.operator.exception.ReconciliationException:
Could not observe latest savepoint
information","additionalMetadata":{},"throwableList":[{"type":"org.apache.flink.kubernetes.operator.exception.ReconciliationException","message":"Could
not observe latest savepoint
information","additionalMetadata":{}},{"type":"java.util.concurrent.ExecutionException","message":"org.apache.flink.runtime.rest.util.RestClientException:
[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(Unknown
Source)\n\tat
java.base/java.util.concurrent.CompletableFuture$Completion.run(Unknown
Source)\n\tat
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown
Source)\n\tat
java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
Source)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)\n\tat java.base/java.lang.Thread.run(Unknown
Source)\n]","additionalMetadata":{}}]}'
jobManagerDeploymentStatus: DEPLOYED_NOT_READY
jobStatus:
checkpointInfo:
lastPeriodicCheckpointTimestamp: 0
jobId: 9cd2f2880c81884b0abfad7be5d79540
savepointInfo:
lastPeriodicSavepointTimestamp: 0
savepointHistory: []
state: RECONCILING
lifecycleState: DEPLOYED
observedGeneration: 2
reconciliationStatus:
lastReconciledSpec:
'{"spec":{"job":{"jarURI":"local:///opt/flink/examples/streaming/WordCount.jar","parallelism":1,"entryClass":"org.apache.flink.streaming.examples.wordcount.WordCount","args":["--execution-mode","BATCH"],"state":"running","savepointTriggerNonce":null,"initialSavepointPath":null,"checkpointTriggerNonce":null,"upgradeMode":"stateless","allowNonRestoredState":null,"savepointRedeployNonce":null,"autoscalerResetNonce":null},"restartNonce":null,"flinkConfiguration":{"kubernetes.operator.snapshot.resource.enabled":"false","taskmanager.numberOfTaskSlots":"1"},"image":"flink:1.20","imagePullPolicy":null,"serviceAccount":"flink","flinkVersion":"v1_20","ingress":null,"podTemplate":null,"jobManager":{"resource":{"cpu":1.0,"memory":"1024m","ephemeralStorage":null},"replicas":1,"podTemplate":null},"taskManager":{"resource":{"cpu":1.0,"memory":"1024m","ephemeralStorage":null},"replicas":null,"podTemplate":null},"logConfiguration":null,"mode":"native"},"resource_metadata":{"apiVersion":"flink.apache.org/v1beta1","firstDeployment":true}}'
reconciliationTimestamp: 1743759230831
state: DEPLOYED
taskManager:
labelSelector: component=taskmanager,app=str-inst
replicas: 1
{code}
I'm testing now with 1.12
> [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
> Affects Versions: kubernetes-operator-1.10.0
> Environment: I've attached the flinkdeployment CR I used to locally
> replicate.
> Reporter: Luca Castelli
> Assignee: Luca Castelli
> Priority: Minor
> Labels: pull-request-available
> Fix For: kubernetes-operator-1.12.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]
> {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}
> 4. 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
> 5. 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)