当前位置: 首页>>代码示例>>Java>>正文


Java EditLogLedgerProto类代码示例

本文整理汇总了Java中org.apache.hadoop.contrib.bkjournal.BKJournalProtos.EditLogLedgerProto的典型用法代码示例。如果您正苦于以下问题:Java EditLogLedgerProto类的具体用法?Java EditLogLedgerProto怎么用?Java EditLogLedgerProto使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


EditLogLedgerProto类属于org.apache.hadoop.contrib.bkjournal.BKJournalProtos包,在下文中一共展示了EditLogLedgerProto类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: write

import org.apache.hadoop.contrib.bkjournal.BKJournalProtos.EditLogLedgerProto; //导入依赖的package包/类
void write(ZooKeeper zkc, String path)
    throws IOException, KeeperException.NodeExistsException {
  this.zkPath = path;

  EditLogLedgerProto.Builder builder = EditLogLedgerProto.newBuilder();
  builder.setDataLayoutVersion(dataLayoutVersion)
    .setLedgerId(ledgerId).setFirstTxId(firstTxId);

  if (!inprogress) {
    builder.setLastTxId(lastTxId);
  }
  try {
    zkc.create(path, TextFormat.printToString(builder.build()).getBytes(UTF_8),
               Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
  } catch (KeeperException.NodeExistsException nee) {
    throw nee;
  } catch (KeeperException e) {
    throw new IOException("Error creating ledger znode", e);
  } catch (InterruptedException ie) {
    throw new IOException("Interrupted creating ledger znode", ie);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:EditLogLedgerMetadata.java

示例2: read

import org.apache.hadoop.contrib.bkjournal.BKJournalProtos.EditLogLedgerProto; //导入依赖的package包/类
static EditLogLedgerMetadata read(ZooKeeper zkc, String path)
    throws IOException, KeeperException.NoNodeException  {
  try {
    byte[] data = zkc.getData(path, false, null);

    EditLogLedgerProto.Builder builder = EditLogLedgerProto.newBuilder();
    if (LOG.isDebugEnabled()) {
      LOG.debug("Reading " + path + " data: " + new String(data, UTF_8));
    }
    TextFormat.merge(new String(data, UTF_8), builder);
    if (!builder.isInitialized()) {
      throw new IOException("Invalid/Incomplete data in znode");
    }
    EditLogLedgerProto ledger = builder.build();

    int dataLayoutVersion = ledger.getDataLayoutVersion();
    long ledgerId = ledger.getLedgerId();
    long firstTxId = ledger.getFirstTxId();
    if (ledger.hasLastTxId()) {
      long lastTxId = ledger.getLastTxId();
      return new EditLogLedgerMetadata(path, dataLayoutVersion,
                                       ledgerId, firstTxId, lastTxId);
    } else {
      return new EditLogLedgerMetadata(path, dataLayoutVersion,
                                       ledgerId, firstTxId);
    }
  } catch(KeeperException.NoNodeException nne) {
    throw nne;
  } catch(KeeperException ke) {
    throw new IOException("Error reading from zookeeper", ke);
  } catch (InterruptedException ie) {
    throw new IOException("Interrupted reading from zookeeper", ie);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:35,代码来源:EditLogLedgerMetadata.java


注:本文中的org.apache.hadoop.contrib.bkjournal.BKJournalProtos.EditLogLedgerProto类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。