本文整理了Java中com.twitter.distributedlog.impl.metadata.ZKLogMetadata.getLogSegmentsPath()
方法的一些代码示例,展示了ZKLogMetadata.getLogSegmentsPath()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZKLogMetadata.getLogSegmentsPath()
方法的具体详情如下:
包路径:com.twitter.distributedlog.impl.metadata.ZKLogMetadata
类名称:ZKLogMetadata
方法名:getLogSegmentsPath
[英]Get the root path for log segments.
[中]获取日志段的根路径。
代码示例来源:origin: twitter/distributedlog
String inprogressZNode(String inprogressZNodeName) {
return logMetadata.getLogSegmentsPath() + "/" + inprogressZNodeName;
}
}
代码示例来源:origin: twitter/distributedlog
/**
* Get the znode path for the inprogressZNode
*/
String inprogressZNode(long ledgerId, long firstTxId, long logSegmentSeqNo) {
return logMetadata.getLogSegmentsPath() + "/" + inprogressZNodeName(ledgerId, firstTxId, logSegmentSeqNo);
}
代码示例来源:origin: twitter/distributedlog
/**
* Get the znode path for a finalize ledger
*/
String completedLedgerZNode(long firstTxId, long lastTxId, long logSegmentSeqNo) {
return String.format("%s/%s", logMetadata.getLogSegmentsPath(),
completedLedgerZNodeName(firstTxId, lastTxId, logSegmentSeqNo));
}
代码示例来源:origin: twitter/distributedlog
private void checkLogStreamExists() throws IOException {
try {
if (null == Utils.sync(zooKeeperClient, logMetadata.getLogSegmentsPath())
.exists(logMetadata.getLogSegmentsPath(), false)) {
throw new LogNotFoundException("Log " + getFullyQualifiedName() + " doesn't exist");
}
} catch (InterruptedException ie) {
LOG.error("Interrupted while reading {}", logMetadata.getLogSegmentsPath(), ie);
throw new DLInterruptedException("Interrupted while checking "
+ logMetadata.getLogSegmentsPath(), ie);
} catch (KeeperException ke) {
LOG.error("Error checking existence for {} : ", logMetadata.getLogSegmentsPath(), ke);
throw new ZKException("Error checking existence for " + getFullyQualifiedName() + " : ", ke);
}
}
代码示例来源:origin: twitter/distributedlog
@Override
public Future<Void> asyncClose() {
// No-op
this.zooKeeperClient.getWatcherManager().unregisterChildWatcher(logMetadata.getLogSegmentsPath(), this);
return Future.Void();
}
代码示例来源:origin: twitter/distributedlog
try {
final ZooKeeper zk = zooKeeperClient.get();
zk.sync(logMetadata.getLogSegmentsPath(), new AsyncCallback.VoidCallback() {
@Override
public void processResult(int syncRc, String path, Object syncCtx) {
LOG.error("Interrupted while reading {}", logMetadata.getLogSegmentsPath(), ie);
promise.setException(new DLInterruptedException("Interrupted while checking "
+ logMetadata.getLogSegmentsPath(), ie));
} catch (ZooKeeperClient.ZooKeeperConnectionException e) {
promise.setException(e);
代码示例来源:origin: twitter/distributedlog
public void deleteLog() throws IOException {
lock.checkOwnershipAndReacquire();
FutureUtils.result(purgeLogSegmentsOlderThanTxnId(-1));
try {
Utils.closeQuietly(lock);
zooKeeperClient.get().exists(logMetadata.getLogSegmentsPath(), false);
zooKeeperClient.get().exists(logMetadata.getMaxTxIdPath(), false);
if (logMetadata.getLogRootPath().toLowerCase().contains("distributedlog")) {
ZKUtil.deleteRecursive(zooKeeperClient.get(), logMetadata.getLogRootPath());
} else {
LOG.warn("Skip deletion of unrecognized ZK Path {}", logMetadata.getLogRootPath());
}
} catch (InterruptedException ie) {
LOG.error("Interrupted while deleting log znodes", ie);
throw new DLInterruptedException("Interrupted while deleting " + logMetadata.getLogRootPath(), ie);
} catch (KeeperException ke) {
LOG.error("Error deleting" + logMetadata.getLogRootPath() + " in zookeeper", ke);
}
}
代码示例来源:origin: twitter/distributedlog
LOG.trace("Got ledger list from {} : {}", logMetadata.getLogSegmentsPath(), children);
代码示例来源:origin: twitter/distributedlog
zooKeeperClient.get().getChildren(logMetadata.getLogSegmentsPath(), watcher, new AsyncCallback.Children2Callback() {
@Override
public void processResult(final int rc, final String path, final Object ctx, final List<String> children, final Stat stat) {
代码示例来源:origin: twitter/distributedlog
void storeMaxSequenceNumber(final Transaction txn,
final MaxLogSegmentSequenceNo maxSeqNo,
final long seqNo,
final boolean isInprogress) {
byte[] data = DLUtils.serializeLogSegmentSequenceNumber(seqNo);
Op zkOp = Op.setData(logMetadata.getLogSegmentsPath(), data, maxSeqNo.getZkVersion());
txn.addOp(new ZKVersionedSetOp(zkOp, new Transaction.OpListener<Version>() {
@Override
public void onCommit(Version version) {
if (validateLogSegmentSequenceNumber) {
synchronized (inprogressLSSNs) {
if (isInprogress) {
inprogressLSSNs.add(seqNo);
} else {
inprogressLSSNs.removeFirst();
}
}
}
maxSeqNo.update((ZkVersion) version, seqNo);
}
@Override
public void onAbort(Throwable t) {
// no-op
}
}));
}
代码示例来源:origin: twitter/distributedlog
private static void updateMaxLogSegmentSequenceNo(ZooKeeperClient zkc, URI uri, String streamName,
DistributedLogConfiguration conf, byte[] data) throws Exception {
String logSegmentsPath = ZKLogMetadata.getLogSegmentsPath(
uri, streamName, conf.getUnpartitionedStreamName());
zkc.get().setData(logSegmentsPath, data, -1);
}
代码示例来源:origin: twitter/distributedlog
private static MaxLogSegmentSequenceNo getMaxLogSegmentSequenceNo(ZooKeeperClient zkc, URI uri, String streamName,
DistributedLogConfiguration conf) throws Exception {
Stat stat = new Stat();
String logSegmentsPath = ZKLogMetadata.getLogSegmentsPath(
uri, streamName, conf.getUnpartitionedStreamName());
byte[] data = zkc.get().getData(logSegmentsPath, false, stat);
Versioned<byte[]> maxLSSNData = new Versioned<byte[]>(data, new ZkVersion(stat.getVersion()));
return new MaxLogSegmentSequenceNo(maxLSSNData);
}
代码示例来源:origin: twitter/distributedlog
@Override
public void processResult(int syncRc, String path, Object syncCtx) {
if (KeeperException.Code.NONODE.intValue() == syncRc) {
promise.setException(new LogNotFoundException(
String.format("Log %s does not exist or has been deleted", getFullyQualifiedName())));
return;
} else if (KeeperException.Code.OK.intValue() != syncRc){
promise.setException(new ZKException("Error on checking log existence for " + getFullyQualifiedName(),
KeeperException.create(KeeperException.Code.get(syncRc))));
return;
}
zk.exists(logMetadata.getLogSegmentsPath(), false, new AsyncCallback.StatCallback() {
@Override
public void processResult(int rc, String path, Object ctx, Stat stat) {
if (KeeperException.Code.OK.intValue() == rc) {
promise.setValue(null);
} else if (KeeperException.Code.NONODE.intValue() == rc) {
promise.setException(new LogNotFoundException(String.format("Log %s does not exist or has been deleted", getFullyQualifiedName())));
} else {
promise.setException(new ZKException("Error on checking log existence for " + getFullyQualifiedName(),
KeeperException.create(KeeperException.Code.get(rc))));
}
}
}, null);
}
}, null);
代码示例来源:origin: twitter/distributedlog
.registerChildWatcher(logMetadata.getLogSegmentsPath(), this);
代码示例来源:origin: twitter/distributedlog
@Test(timeout = 60000)
public void testGetPaths() throws Exception {
String rootPath = "/test-get-paths";
URI uri = DLMTestUtil.createDLMURI(2181, rootPath);
String logName = "test-log";
String logIdentifier = "<default>";
String logRootPath = uri.getPath() + "/" + logName + "/" + logIdentifier;
String logSegmentName = "test-segment";
ZKLogMetadata logMetadata = new ZKLogMetadata(uri, logName, logIdentifier);
assertEquals("wrong log name", logName, logMetadata.getLogName());
assertEquals("wrong root path", logRootPath, logMetadata.getLogRootPath());
assertEquals("wrong log segments path",
logRootPath + LOGSEGMENTS_PATH,
logMetadata.getLogSegmentsPath());
assertEquals("wrong log segment path",
logRootPath + LOGSEGMENTS_PATH + "/" + logSegmentName,
logMetadata.getLogSegmentPath(logSegmentName));
assertEquals("wrong lock path",
logRootPath + LOCK_PATH, logMetadata.getLockPath());
assertEquals("wrong max tx id path",
logRootPath + MAX_TXID_PATH, logMetadata.getMaxTxIdPath());
assertEquals("wrong allocation path",
logRootPath + ALLOCATION_PATH, logMetadata.getAllocationPath());
assertEquals("wrong qualified name",
logName + ":" + logIdentifier, logMetadata.getFullyQualifiedName());
}
代码示例来源:origin: twitter/distributedlog
ZKLogMetadata.getLogSegmentsPath(uri, name, confLocal.getUnpartitionedStreamName()));
ZKLogMetadata.getLogSegmentsPath(uri, name, confLocal.getUnpartitionedStreamName()));
ZKLogMetadata.getLogSegmentsPath(uri, name, confLocal.getUnpartitionedStreamName()));
ZKLogMetadata.getLogSegmentsPath(uri, name, confLocal.getUnpartitionedStreamName()));
ZKLogMetadata.getLogSegmentsPath(uri, name, conf.getUnpartitionedStreamName()));
内容来源于网络,如有侵权,请联系作者删除!