gpt4 book ai didi

com.linecorp.centraldogma.server.internal.replication.ZooKeeperCommandExecutor.revisionFromPath()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-16 19:11:31 27 4
gpt4 key购买 nike

本文整理了Java中com.linecorp.centraldogma.server.internal.replication.ZooKeeperCommandExecutor.revisionFromPath()方法的一些代码示例,展示了ZooKeeperCommandExecutor.revisionFromPath()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeperCommandExecutor.revisionFromPath()方法的具体详情如下:
包路径:com.linecorp.centraldogma.server.internal.replication.ZooKeeperCommandExecutor
类名称:ZooKeeperCommandExecutor
方法名:revisionFromPath

ZooKeeperCommandExecutor.revisionFromPath介绍

暂无

代码示例

代码示例来源:origin: com.linecorp.centraldogma/centraldogma-server

private long storeLog(ReplicationLog<?> log) {
  try {
    final byte[] bytes = Jackson.writeValueAsBytes(log);
    assert bytes.length > 0;
    final LogMeta logMeta = new LogMeta(log.replicaId(), System.currentTimeMillis(), bytes.length);
    final int count = (bytes.length + MAX_BYTES - 1) / MAX_BYTES;
    for (int i = 0; i < count; ++i) {
      final int start = i * MAX_BYTES;
      final int end = Math.min((i + 1) * MAX_BYTES, bytes.length);
      final byte[] b = Arrays.copyOfRange(bytes, start, end);
      final String blockPath = curator.create()
                      .withMode(CreateMode.PERSISTENT_SEQUENTIAL)
                      .forPath(absolutePath(LOG_BLOCK_PATH) + '/', b);
      final long blockId = revisionFromPath(blockPath);
      logMeta.appendBlock(blockId);
    }
    final String logPath =
        curator.create().withMode(CreateMode.PERSISTENT_SEQUENTIAL)
            .forPath(absolutePath(LOG_PATH) + '/', Jackson.writeValueAsBytes(logMeta));
    return revisionFromPath(logPath);
  } catch (Exception e) {
    logger.error("Failed to store a log; entering read-only mode: {}", log, e);
    stopLater();
    throw new ReplicationException("failed to store a log: " + log, e);
  }
}

代码示例来源:origin: line/centraldogma

private long storeLog(ReplicationLog<?> log) {
  try {
    final byte[] bytes = Jackson.writeValueAsBytes(log);
    assert bytes.length > 0;
    final LogMeta logMeta = new LogMeta(log.replicaId(), System.currentTimeMillis(), bytes.length);
    final int count = (bytes.length + MAX_BYTES - 1) / MAX_BYTES;
    for (int i = 0; i < count; ++i) {
      final int start = i * MAX_BYTES;
      final int end = Math.min((i + 1) * MAX_BYTES, bytes.length);
      final byte[] b = Arrays.copyOfRange(bytes, start, end);
      final String blockPath = curator.create()
                      .withMode(CreateMode.PERSISTENT_SEQUENTIAL)
                      .forPath(absolutePath(LOG_BLOCK_PATH) + '/', b);
      final long blockId = revisionFromPath(blockPath);
      logMeta.appendBlock(blockId);
    }
    final String logPath =
        curator.create().withMode(CreateMode.PERSISTENT_SEQUENTIAL)
            .forPath(absolutePath(LOG_PATH) + '/', Jackson.writeValueAsBytes(logMeta));
    return revisionFromPath(logPath);
  } catch (Exception e) {
    logger.error("Failed to store a log; entering read-only mode: {}", log, e);
    stopLater();
    throw new ReplicationException("failed to store a log: " + log, e);
  }
}

代码示例来源:origin: com.linecorp.centraldogma/centraldogma-server-shaded

private long storeLog(ReplicationLog<?> log) {
  try {
    final byte[] bytes = Jackson.writeValueAsBytes(log);
    assert bytes.length > 0;
    final LogMeta logMeta = new LogMeta(log.replicaId(), System.currentTimeMillis(), bytes.length);
    final int count = (bytes.length + MAX_BYTES - 1) / MAX_BYTES;
    for (int i = 0; i < count; ++i) {
      final int start = i * MAX_BYTES;
      final int end = Math.min((i + 1) * MAX_BYTES, bytes.length);
      final byte[] b = Arrays.copyOfRange(bytes, start, end);
      final String blockPath = curator.create()
                      .withMode(CreateMode.PERSISTENT_SEQUENTIAL)
                      .forPath(absolutePath(LOG_BLOCK_PATH) + '/', b);
      final long blockId = revisionFromPath(blockPath);
      logMeta.appendBlock(blockId);
    }
    final String logPath =
        curator.create().withMode(CreateMode.PERSISTENT_SEQUENTIAL)
            .forPath(absolutePath(LOG_PATH) + '/', Jackson.writeValueAsBytes(logMeta));
    return revisionFromPath(logPath);
  } catch (Exception e) {
    logger.error("Failed to store a log; entering read-only mode: {}", log, e);
    stopLater();
    throw new ReplicationException("failed to store a log: " + log, e);
  }
}

代码示例来源:origin: line/centraldogma

@Override
public void childEvent(CuratorFramework unused, PathChildrenCacheEvent event) throws Exception {
  if (event.getType() != PathChildrenCacheEvent.Type.CHILD_ADDED) {
    return;
  }
  final long lastKnownRevision = revisionFromPath(event.getData().getPath());
  try {
    replayLogs(lastKnownRevision);
  } catch (ReplicationException ignored) {
    // replayLogs() logs and handles the exception already, so we just bail out here.
    return;
  }
  oldLogRemover.touch();
}

代码示例来源:origin: com.linecorp.centraldogma/centraldogma-server

@Override
public void childEvent(CuratorFramework unused, PathChildrenCacheEvent event) throws Exception {
  if (event.getType() != PathChildrenCacheEvent.Type.CHILD_ADDED) {
    return;
  }
  final long lastKnownRevision = revisionFromPath(event.getData().getPath());
  try {
    replayLogs(lastKnownRevision);
  } catch (ReplicationException ignored) {
    // replayLogs() logs and handles the exception already, so we just bail out here.
    return;
  }
  oldLogRemover.touch();
}

代码示例来源:origin: com.linecorp.centraldogma/centraldogma-server-shaded

@Override
public void childEvent(CuratorFramework unused, PathChildrenCacheEvent event) throws Exception {
  if (event.getType() != PathChildrenCacheEvent.Type.CHILD_ADDED) {
    return;
  }
  final long lastKnownRevision = revisionFromPath(event.getData().getPath());
  try {
    replayLogs(lastKnownRevision);
  } catch (ReplicationException ignored) {
    // replayLogs() logs and handles the exception already, so we just bail out here.
    return;
  }
  oldLogRemover.touch();
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com