本文整理汇总了Java中org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.PositionTrackingInputStream方法的典型用法代码示例。如果您正苦于以下问题:Java FSEditLogLoader.PositionTrackingInputStream方法的具体用法?Java FSEditLogLoader.PositionTrackingInputStream怎么用?Java FSEditLogLoader.PositionTrackingInputStream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader
的用法示例。
在下文中一共展示了FSEditLogLoader.PositionTrackingInputStream方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: BookKeeperEditLogInputStream
import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader; //导入方法依赖的package包/类
/**
* Construct BookKeeper edit log input stream.
* Starts reading from firstBookKeeperEntry. This allows the stream
* to take a shortcut during recovery, as it doesn't have to read
* every edit log transaction to find out what the last one is.
*/
BookKeeperEditLogInputStream(LedgerHandle lh, EditLogLedgerMetadata metadata,
long firstBookKeeperEntry)
throws IOException {
this.lh = lh;
this.firstTxId = metadata.getFirstTxId();
this.lastTxId = metadata.getLastTxId();
this.logVersion = metadata.getDataLayoutVersion();
this.inProgress = metadata.isInProgress();
if (firstBookKeeperEntry < 0
|| firstBookKeeperEntry > lh.getLastAddConfirmed()) {
throw new IOException("Invalid first bk entry to read: "
+ firstBookKeeperEntry + ", LAC: " + lh.getLastAddConfirmed());
}
BufferedInputStream bin = new BufferedInputStream(
new LedgerInputStream(lh, firstBookKeeperEntry));
tracker = new FSEditLogLoader.PositionTrackingInputStream(bin);
DataInputStream in = new DataInputStream(tracker);
reader = new FSEditLogOp.Reader(in, tracker, logVersion);
}
示例2: BookKeeperEditLogInputStream
import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader; //导入方法依赖的package包/类
/**
* Construct BookKeeper edit log input stream.
* Starts reading from firstBookKeeperEntry. This allows the stream
* to take a shortcut during recovery, as it doesn't have to read
* every edit log transaction to find out what the last one is.
*/
BookKeeperEditLogInputStream(LedgerHandle lh, EditLogLedgerMetadata metadata,
long firstBookKeeperEntry)
throws IOException {
this.lh = lh;
this.firstTxId = metadata.getFirstTxId();
this.lastTxId = metadata.getLastTxId();
this.logVersion = metadata.getDataLayoutVersion();
this.inProgress = metadata.isInProgress();
if (firstBookKeeperEntry < 0
|| firstBookKeeperEntry > lh.getLastAddConfirmed()) {
throw new IOException("Invalid first bk entry to read: "
+ firstBookKeeperEntry + ", LAC: " + lh.getLastAddConfirmed());
}
BufferedInputStream bin = new BufferedInputStream(
new LedgerInputStream(lh, firstBookKeeperEntry));
tracker = new FSEditLogLoader.PositionTrackingInputStream(bin);
DataInputStream in = new DataInputStream(tracker);
reader = FSEditLogOp.Reader.create(in, tracker, logVersion);
}
示例3: URLLogInputStream
import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader; //导入方法依赖的package包/类
URLLogInputStream(AsyncLogger logger, long firstTxId, int httpTimeout)
throws LogHeaderCorruptException, IOException {
log = new URLLog(logger, firstTxId, httpTimeout);
fStream = log.getInputStream(0);
lastValidTxId = log.getLastValidTxId();
super.setIsInProgress(log.getIsInProgress());
BufferedInputStream bin = new BufferedInputStream(fStream);
tracker = new FSEditLogLoader.PositionTrackingInputStream(bin);
DataInputStream in = new DataInputStream(tracker);
try {
logVersion = readLogVersion(in);
} catch (EOFException eofe) {
throw new LogHeaderCorruptException("No header found in log");
}
reader = new FSEditLogOp.Reader(in, logVersion);
this.firstTxId = firstTxId;
this.disabled = false;
// set initial position (version is 4 bytes)
this.currentPosition = tracker.getPos();
}