class ConfigMetaStore extends MetadataRocksDBStore {

    private final long clusterId;

    public ConfigMetaStore(PDConfig pdConfig) {
        super(pdConfig);
        this.clusterId = pdConfig.getClusterId();
    }

    /**
     * 更新图空间存储状态信息
     *
     * @param
     */
    public Metapb.GraphSpace setGraphSpace(Metapb.GraphSpace graphSpace) throws PDException {
        byte[] graphSpaceKey = MetadataKeyHelper.getGraphSpaceKey(graphSpace.getName());
        graphSpace = graphSpace.toBuilder().setTimestamp(System.currentTimeMillis()).build();
        put(graphSpaceKey, graphSpace.toByteArray());
        return graphSpace;
    }

    public List<Metapb.GraphSpace> getGraphSpace(String graphSpace) throws PDException {
        byte[] graphSpaceKey = MetadataKeyHelper.getGraphSpaceKey(graphSpace);
        return scanPrefix(Metapb.GraphSpace.parser(), graphSpaceKey);
    }

    public Metapb.PDConfig setPdConfig(Metapb.PDConfig pdConfig) throws PDException {<FILL_FUNCTION_BODY>}

    public Metapb.PDConfig getPdConfig(long version) throws PDException {
        byte[] graphSpaceKey = MetadataKeyHelper.getPdConfigKey(version <= 0 ? null :
                                                                String.valueOf(version));
        Optional<Metapb.PDConfig> max = scanPrefix(
                Metapb.PDConfig.parser(), graphSpaceKey).stream().max(
                (o1, o2) -> (o1.getVersion() > o2.getVersion()) ? 1 : -1);
        return max.isPresent() ? max.get() : null;
    }

}

        byte[] graphSpaceKey =
                MetadataKeyHelper.getPdConfigKey(String.valueOf(pdConfig.getVersion()));
        Metapb.PDConfig config = Metapb.PDConfig.newBuilder(
                pdConfig).setTimestamp(System.currentTimeMillis()).build();
        put(graphSpaceKey, config.toByteArray());
        return config;
    
<methods>public void <init>(org.apache.hugegraph.pd.config.PDConfig) ,public void clearAllCache() throws org.apache.hugegraph.pd.common.PDException,public void close() ,public boolean containsKey(byte[]) throws org.apache.hugegraph.pd.common.PDException,public List#RAW getListWithTTL(byte[]) throws org.apache.hugegraph.pd.common.PDException,public byte[] getOne(byte[]) throws org.apache.hugegraph.pd.common.PDException,public E getOne(Parser<E>, byte[]) throws org.apache.hugegraph.pd.common.PDException,public org.apache.hugegraph.pd.store.HgKVStore getStore() ,public byte[] getWithTTL(byte[]) throws org.apache.hugegraph.pd.common.PDException,public void put(byte[], byte[]) throws org.apache.hugegraph.pd.common.PDException,public void putWithTTL(byte[], byte[], long) throws org.apache.hugegraph.pd.common.PDException,public void putWithTTL(byte[], byte[], long, java.util.concurrent.TimeUnit) throws org.apache.hugegraph.pd.common.PDException,public long remove(byte[]) throws org.apache.hugegraph.pd.common.PDException,public long removeByPrefix(byte[]) throws org.apache.hugegraph.pd.common.PDException,public void removeWithTTL(byte[]) throws org.apache.hugegraph.pd.common.PDException,public List<org.apache.hugegraph.pd.store.KV> scanPrefix(byte[]) throws org.apache.hugegraph.pd.common.PDException,public List<E> scanPrefix(Parser<E>, byte[]) throws org.apache.hugegraph.pd.common.PDException,public List<org.apache.hugegraph.pd.store.KV> scanRange(byte[], byte[]) throws org.apache.hugegraph.pd.common.PDException,public List<E> scanRange(Parser<E>, byte[], byte[]) throws org.apache.hugegraph.pd.common.PDException<variables>org.apache.hugegraph.pd.config.PDConfig pdConfig,org.apache.hugegraph.pd.store.HgKVStore store