public class ZooKeeperCheckpointIDCounter extends Object implements CheckpointIDCounter
CheckpointIDCounter
instances for JobManagers running in HighAvailabilityMode.ZOOKEEPER
.
Each counter creates a ZNode:
+----O /flink/checkpoint-counter/<job-id> 1 [persistent] . . . +----O /flink/checkpoint-counter/<job-id> N [persistent]
The checkpoints IDs are required to be ascending (per job). In order to guarantee this in case of job manager failures we use ZooKeeper to have a shared counter across job manager instances.
INITIAL_CHECKPOINT_ID
Constructor and Description |
---|
ZooKeeperCheckpointIDCounter(org.apache.flink.shaded.curator5.org.apache.curator.framework.CuratorFramework client,
LastStateConnectionStateListener connectionStateListener)
Creates a
ZooKeeperCheckpointIDCounter instance. |
Modifier and Type | Method and Description |
---|---|
long |
get()
Atomically gets the current checkpoint ID.
|
long |
getAndIncrement()
Atomically increments the current checkpoint ID.
|
void |
setCount(long newId)
Sets the current checkpoint ID.
|
CompletableFuture<Void> |
shutdown(JobStatus jobStatus)
Shuts the
CheckpointIDCounter service. |
void |
start()
Starts the
CheckpointIDCounter service down. |
public ZooKeeperCheckpointIDCounter(org.apache.flink.shaded.curator5.org.apache.curator.framework.CuratorFramework client, LastStateConnectionStateListener connectionStateListener)
ZooKeeperCheckpointIDCounter
instance.client
- Curator ZooKeeper clientpublic void start() throws Exception
CheckpointIDCounter
CheckpointIDCounter
service down.start
in interface CheckpointIDCounter
Exception
public CompletableFuture<Void> shutdown(JobStatus jobStatus)
CheckpointIDCounter
CheckpointIDCounter
service.
The job status is forwarded and used to decide whether state should actually be discarded or kept.
shutdown
in interface CheckpointIDCounter
jobStatus
- Job state on shut downCompletableFuture
holding the result of the shutdown operation.public long getAndIncrement() throws Exception
CheckpointIDCounter
getAndIncrement
in interface CheckpointIDCounter
Exception
public long get()
CheckpointIDCounter
get
in interface CheckpointIDCounter
public void setCount(long newId) throws Exception
CheckpointIDCounter
setCount
in interface CheckpointIDCounter
newId
- The new IDException
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.