本文整理汇总了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());
}
示例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());
}