class ClusterCheckpointPersistenceProvider extends
        CheckpointPersistenceProviderAbstract {

    static public boolean createCluster(String zkAddr, String clusterName)
    {
        boolean created = false;
        ZkClient zkClient = null;
        try
        {
             zkClient = new ZkClient(zkAddr,
                    ZkClient.DEFAULT_SESSION_TIMEOUT,
                    ZkClient.DEFAULT_CONNECTION_TIMEOUT, new ZNRecordSerializer());
            ZKHelixAdmin admin = new ZKHelixAdmin(zkClient);
            admin.addCluster(clusterName, false);
            created=true;
        }
        catch (HelixException e)
        {
            LOG.warn("Warn! Cluster might already exist! " + clusterName);
            created=false;
        }
        finally
        {
            // close this connection
            if (zkClient != null)
            {
                zkClient.close();
            }
        }
        return created;
    }

    public  ClusterCheckpointPersistenceProvider(long id);
    public  ClusterCheckpointPersistenceProvider(String id);
    public  ClusterCheckpointPersistenceProvider(long id, Config config);
    public  ClusterCheckpointPersistenceProvider(String id, Config config);
    public  ClusterCheckpointPersistenceProvider(long id, StaticConfig config);
    public  ClusterCheckpointPersistenceProvider(String id, StaticConfig config);

}