public class ZooKeeperCheckpointIDCounter extends Object implements CheckpointIDCounter
CheckpointIDCounter
instances for JobManagers running in RecoveryMode.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.
Constructor and Description |
---|
ZooKeeperCheckpointIDCounter(org.apache.curator.framework.CuratorFramework client,
String counterPath)
Creates a
ZooKeeperCheckpointIDCounter instance. |
Modifier and Type | Method and Description |
---|---|
long |
getAndIncrement()
Atomically increments the current checkpoint ID.
|
void |
setCount(long newId)
Sets the current checkpoint ID.
|
void |
start()
Starts the
CheckpointIDCounter service. |
void |
stop()
Stops the
CheckpointIDCounter service. |
public ZooKeeperCheckpointIDCounter(org.apache.curator.framework.CuratorFramework client, String counterPath) throws Exception
ZooKeeperCheckpointIDCounter
instance.client
- Curator ZooKeeper clientcounterPath
- ZooKeeper path for the counter. It's sufficient to have a path per-job.Exception
public void start() throws Exception
CheckpointIDCounter
CheckpointIDCounter
service.start
in interface CheckpointIDCounter
Exception
public void stop() throws Exception
CheckpointIDCounter
CheckpointIDCounter
service.stop
in interface CheckpointIDCounter
Exception
public long getAndIncrement() throws Exception
CheckpointIDCounter
getAndIncrement
in interface CheckpointIDCounter
Exception
public void setCount(long newId) throws Exception
CheckpointIDCounter
setCount
in interface CheckpointIDCounter
newId
- The new IDException
Copyright © 2014–2017 The Apache Software Foundation. All rights reserved.