use of com.actiontech.dble.config.loader.zkprocess.zookeeper.process.ZkDirectoryImpl in project dble by actiontech.
the class SequenceTopropertiesLoader method sequenceZkToProperties.
/**
* sequenceZkToProperties
*
* @param name schema
* @throws Exception
*/
private void sequenceZkToProperties(String name, DirectoryInf seqDirectory) throws Exception {
ZkDirectoryImpl zkDirectory = (ZkDirectoryImpl) this.getZkDirectory(seqDirectory, KVPathUtil.SEQUENCE_COMMON);
if (null != zkDirectory) {
String writeFile = name + PROPERTIES_SUFFIX;
ZkDataImpl commData = (ZkDataImpl) this.getZkData(zkDirectory, writeFile);
if (commData != null) {
ConfFileRWUtils.writeFile(commData.getName(), commData.getValue());
}
String sequenceWatchPath = KVPathUtil.getSequencesCommonPath() + writeFile;
this.zookeeperListen.addWatch(sequenceWatchPath, this);
LOGGER.info("SequenceTozkLoader notifyProcess " + name + " to local properties success");
}
}
use of com.actiontech.dble.config.loader.zkprocess.zookeeper.process.ZkDirectoryImpl in project dble by actiontech.
the class SequenceTopropertiesLoader method notifyProcess.
@Override
public boolean notifyProcess() throws Exception {
DirectoryInf sequenceDirectory = new ZkDirectoryImpl(currZkPath, null);
this.getTreeDirectory(currZkPath, KVPathUtil.SEQUENCES, sequenceDirectory);
sequenceDirectory = (DirectoryInf) sequenceDirectory.getSubordinateInfo().get(0);
this.sequenceZkToProperties(PROPERTIES_SEQUENCE_CONF, sequenceDirectory);
this.sequenceZkToProperties(PROPERTIES_SEQUENCE_DB_CONF, sequenceDirectory);
this.sequenceZkToProperties(PROPERTIES_SEQUENCE_DISTRIBUTED_CONF, sequenceDirectory);
return true;
}
use of com.actiontech.dble.config.loader.zkprocess.zookeeper.process.ZkDirectoryImpl in project dble by actiontech.
the class BinlogPauseStatusListener method notifyProcess.
@Override
public boolean notifyProcess() throws Exception {
DirectoryInf statusDirectory = new ZkDirectoryImpl(currZkPath, null);
this.getTreeDirectory(currZkPath, KVPathUtil.BINLOG_PAUSE_STATUS, statusDirectory);
ZkDataImpl zkDdata = (ZkDataImpl) statusDirectory.getSubordinateInfo().get(0);
String strPauseInfo = zkDdata.getDataValue();
LOGGER.info("BinlogPauseStatusListener notifyProcess zk to object :" + strPauseInfo);
BinlogPause pauseInfo = new BinlogPause(strPauseInfo);
String myID = ZkConfig.getInstance().getValue(ClusterParamCfg.CLUSTER_CFG_MYID);
if (pauseInfo.getFrom().equals(myID)) {
// self node
return true;
}
String instancePath = ZKPaths.makePath(KVPathUtil.getBinlogPauseInstance(), myID);
if (pauseInfo.getStatus() == BinlogPause.BinlogPauseStatus.ON) {
DbleServer.getInstance().getBackupLocked().compareAndSet(false, true);
boolean isPaused = ShowBinlogStatus.waitAllSession();
if (!isPaused) {
cleanResource(instancePath);
}
try {
ZKUtils.createTempNode(KVPathUtil.getBinlogPauseInstance(), myID, String.valueOf(isPaused).getBytes(StandardCharsets.UTF_8));
} catch (Exception e) {
cleanResource(instancePath);
LOGGER.warn(AlarmCode.CORE_ZK_WARN + "create binlogPause instance failed", e);
}
} else if (pauseInfo.getStatus() == BinlogPause.BinlogPauseStatus.OFF) {
cleanResource(instancePath);
}
return true;
}
Aggregations