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


Java EditLogInputStream.readOp方法代码示例

本文整理汇总了Java中org.apache.hadoop.hdfs.server.namenode.EditLogInputStream.readOp方法的典型用法代码示例。如果您正苦于以下问题:Java EditLogInputStream.readOp方法的具体用法?Java EditLogInputStream.readOp怎么用?Java EditLogInputStream.readOp使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hdfs.server.namenode.EditLogInputStream的用法示例。


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

示例1: verifyEdits

import org.apache.hadoop.hdfs.server.namenode.EditLogInputStream; //导入方法依赖的package包/类
/**
 * Verify that the given list of streams contains exactly the range of
 * transactions specified, inclusive.
 */
public static void verifyEdits(List<EditLogInputStream> streams,
    int firstTxnId, int lastTxnId) throws IOException {
  
  Iterator<EditLogInputStream> iter = streams.iterator();
  assertTrue(iter.hasNext());
  EditLogInputStream stream = iter.next();
  
  for (int expected = firstTxnId;
      expected <= lastTxnId;
      expected++) {
    
    FSEditLogOp op = stream.readOp();
    while (op == null) {
      assertTrue("Expected to find txid " + expected + ", " +
          "but no more streams available to read from",
          iter.hasNext());
      stream = iter.next();
      op = stream.readOp();
    }
    
    assertEquals(FSEditLogOpCodes.OP_MKDIR, op.opCode);
    assertEquals(expected, op.getTransactionId());
  }
  
  assertNull(stream.readOp());
  assertFalse("Expected no more txns after " + lastTxnId +
      " but more streams are available", iter.hasNext());
}
 
开发者ID:naver,项目名称:hadoop,代码行数:33,代码来源:QJMTestUtil.java

示例2: verifyEdits

import org.apache.hadoop.hdfs.server.namenode.EditLogInputStream; //导入方法依赖的package包/类
public static void verifyEdits(List<EditLogInputStream> streams,
    int firstTxnId, int lastTxnId, List<FSEditLogOp> writtenTxns,
    boolean inProgress) throws IOException {

  Iterator<EditLogInputStream> iter = streams.iterator();
  assertTrue(iter.hasNext());
  EditLogInputStream stream = iter.next();

  long position = stream.getPosition();
  if (inProgress) {
    // we are one transaction behind
    lastTxnId--;
  }

  for (int expected = firstTxnId; expected <= lastTxnId; expected++) {
    if (inProgress) { // otherwise we cannot call refresh
      stream.refresh(position, expected - 1);
    }
    FSEditLogOp op = stream.readOp();
    position = stream.getPosition();

    while (op == null) {
      assertTrue("Expected to find txid " + expected + ", "
          + "but no more streams available to read from", iter.hasNext());
      stream = iter.next();
      op = stream.readOp();
    }

    assertEquals(expected, op.getTransactionId());
    assertEquals(expected, writtenTxns.get(expected).getTransactionId());
    assertEquals(op.opCode, writtenTxns.get(expected).opCode);
  }

  assertNull(stream.readOp());
  assertFalse("Expected no more txns after " + lastTxnId
      + " but more streams are available", iter.hasNext());
}
 
开发者ID:rhli,项目名称:hadoop-EAR,代码行数:38,代码来源:TestQJMWriteRead.java


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