• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java EditLogValidation类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: validateEditLog

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
static FSEditLogLoader.EditLogValidation validateEditLog(File file)
    throws IOException {
  EditLogFileInputStream in;
  try {
    in = new EditLogFileInputStream(file);
    in.getVersion(true); // causes us to read the header
  } catch (LogHeaderCorruptException e) {
    // If the header is malformed or the wrong value, this indicates a corruption
    LOG.warn("Log file " + file + " has no valid header", e);
    return new FSEditLogLoader.EditLogValidation(0,
        HdfsConstants.INVALID_TXID, true);
  }
  
  try {
    return FSEditLogLoader.validateEditLog(in);
  } finally {
    IOUtils.closeStream(in);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:20,代码来源:EditLogFileInputStream.java


示例2: scanEditLog

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
/**
 * @param file          File being scanned and validated.
 * @param maxTxIdToScan Maximum Tx ID to try to scan.
 *                      The scan returns after reading this or a higher
 *                      ID. The file portion beyond this ID is
 *                      potentially being updated.
 * @return Result of the validation
 * @throws IOException
 */
static FSEditLogLoader.EditLogValidation scanEditLog(File file,
    long maxTxIdToScan, boolean verifyVersion)
    throws IOException {
  EditLogFileInputStream in;
  try {
    in = new EditLogFileInputStream(file);
    // read the header, initialize the inputstream, but do not check the
    // layoutversion
    in.getVersion(verifyVersion);
  } catch (LogHeaderCorruptException e) {
    LOG.warn("Log file " + file + " has no valid header", e);
    return new FSEditLogLoader.EditLogValidation(0,
        HdfsServerConstants.INVALID_TXID, true);
  }

  try {
    return FSEditLogLoader.scanEditLog(in, maxTxIdToScan);
  } finally {
    IOUtils.closeStream(in);
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:31,代码来源:EditLogFileInputStream.java


示例3: testValidateEditLogWithCorruptHeader

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
@Test
public void testValidateEditLogWithCorruptHeader() throws IOException {
  File testDir = new File(TEST_DIR, "testValidateEditLogWithCorruptHeader");
  SortedMap<Long, Long> offsetToTxId = Maps.newTreeMap();
  File logFile = prepareUnfinalizedTestEditLog(testDir, 2, offsetToTxId);
  RandomAccessFile rwf = new RandomAccessFile(logFile, "rw");
  try {
    rwf.seek(0);
    rwf.writeLong(42); // corrupt header
  } finally {
    rwf.close();
  }
  EditLogValidation validation =
      EditLogFileInputStream.scanEditLog(logFile, Long.MAX_VALUE, true);
  assertTrue(validation.hasCorruptHeader());
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:17,代码来源:TestFSEditLogLoader.java


示例4: testValidateEditLogWithCorruptHeader

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
@Test
public void testValidateEditLogWithCorruptHeader() throws IOException {
  File testDir = new File(TEST_DIR, "testValidateEditLogWithCorruptHeader");
  SortedMap<Long, Long> offsetToTxId = Maps.newTreeMap();
  File logFile = prepareUnfinalizedTestEditLog(testDir, 2, offsetToTxId);
  RandomAccessFile rwf = new RandomAccessFile(logFile, "rw");
  try {
    rwf.seek(0);
    rwf.writeLong(42); // corrupt header
  } finally {
    rwf.close();
  }
  EditLogValidation validation = EditLogFileInputStream.validateEditLog(logFile);
  assertTrue(validation.hasCorruptHeader());
}
 
开发者ID:naver,项目名称:hadoop,代码行数:16,代码来源:TestFSEditLogLoader.java


示例5: testValidateEmptyEditLog

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
@Test
public void testValidateEmptyEditLog() throws IOException {
  File testDir = new File(TEST_DIR, "testValidateEmptyEditLog");
  SortedMap<Long, Long> offsetToTxId = Maps.newTreeMap();
  File logFile = prepareUnfinalizedTestEditLog(testDir, 0, offsetToTxId);
  // Truncate the file so that there is nothing except the header and
  // layout flags section.
  truncateFile(logFile, 8);
  EditLogValidation validation =
      EditLogFileInputStream.validateEditLog(logFile);
  assertTrue(!validation.hasCorruptHeader());
  assertEquals(HdfsConstants.INVALID_TXID, validation.getEndTxId());
}
 
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestFSEditLogLoader.java


示例6: testValidateEmptyEditLog

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
@Test
public void testValidateEmptyEditLog() throws IOException {
  File testDir = new File(TEST_DIR, "testValidateEmptyEditLog");
  SortedMap<Long, Long> offsetToTxId = Maps.newTreeMap();
  File logFile = prepareUnfinalizedTestEditLog(testDir, 0, offsetToTxId);
  // Truncate the file so that there is nothing except the header and
  // layout flags section.
  truncateFile(logFile, 8);
  EditLogValidation validation =
      EditLogFileInputStream.scanEditLog(logFile, Long.MAX_VALUE, true);
  assertTrue(!validation.hasCorruptHeader());
  assertEquals(HdfsServerConstants.INVALID_TXID, validation.getEndTxId());
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:14,代码来源:TestFSEditLogLoader.java


示例7: testPreallocation

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
@Test
public void testPreallocation() throws IOException {
  Configuration conf = new Configuration();
  MiniDFSCluster cluster = new MiniDFSCluster(conf, 0, true, null);

  StorageDirectory sd = cluster.getNameNode().getFSImage()
    .storage.getStorageDir(0);
  File editLog = NNStorage.getInProgressEditsFile(sd, 0);

  EditLogValidation validation = EditLogFileInputStream.validateEditLog(editLog);
  assertEquals("Edit log should contain a header as valid length",
      HEADER_LEN, validation.getValidLength());
  assertEquals(1, validation.getNumTransactions());
  assertEquals("Edit log should have 1MB pre-allocated",
      PREALLOCATION_LENGTH, editLog.length());
  

  cluster.getFileSystem().mkdirs(new Path("/tmp"),
      new FsPermission((short)777));

  long oldLength = validation.getValidLength();
  validation = EditLogFileInputStream.validateEditLog(editLog);
  assertTrue("Edit log should have more valid data after writing a txn " +
      "(was: " + oldLength + " now: " + validation.getValidLength() + ")",
      validation.getValidLength() > oldLength);
  assertEquals(2, validation.getNumTransactions());

  assertEquals("Edit log should be 1MB long, plus 4 bytes for the version number",
      PREALLOCATION_LENGTH, editLog.length());
}
 
开发者ID:rhli,项目名称:hadoop-EAR,代码行数:31,代码来源:TestEditLogFileOutputStream.java


示例8: testValidateEmptyEditLog

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
@Test
public void testValidateEmptyEditLog() throws IOException {
  File testDir = new File(TEST_DIR, "testValidateEmptyEditLog");
  SortedMap<Long, Long> offsetToTxId = Maps.newTreeMap();
  File logFile = prepareUnfinalizedTestEditLog(testDir, 0, offsetToTxId);
  // Truncate the file so that there is nothing except the header
  truncateFile(logFile, 4);
  EditLogValidation validation =
      EditLogFileInputStream.validateEditLog(logFile);
  assertTrue(!validation.hasCorruptHeader());
  assertEquals(HdfsConstants.INVALID_TXID, validation.getEndTxId());
}
 
开发者ID:rhli,项目名称:hadoop-EAR,代码行数:13,代码来源:TestFSEditLogLoader.java


示例9: validateLog

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
/** 
 * Count the number of valid transactions in a log.
 * This will update the lastTxId of the EditLogFile or
 * mark it as corrupt if it is.
 */
public void validateLog() throws IOException {
  EditLogValidation val = EditLogFileInputStream.validateEditLog(file);
  if (val.getNumTransactions() == 0) {
    markCorrupt();
  } else {
    this.lastTxId = val.getEndTxId();
  }
}
 
开发者ID:rhli,项目名称:hadoop-EAR,代码行数:14,代码来源:FileJournalManager.java


示例10: scanEditLog

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
static FSEditLogLoader.EditLogValidation scanEditLog(File file)
    throws IOException {
  EditLogFileInputStream in;
  try {
    in = new EditLogFileInputStream(file);
    // read the header, initialize the inputstream, but do not check the
    // layoutversion
    in.getVersion(false);
  } catch (LogHeaderCorruptException e) {
    LOG.warn("Log file " + file + " has no valid header", e);
    return new FSEditLogLoader.EditLogValidation(0,
        HdfsConstants.INVALID_TXID, true);
  }

  long lastPos = 0;
  long lastTxId = HdfsConstants.INVALID_TXID;
  long numValid = 0;
  try {
    while (true) {
      long txid = HdfsConstants.INVALID_TXID;
      lastPos = in.getPosition();
      try {
        if ((txid = in.scanNextOp()) == HdfsConstants.INVALID_TXID) {
          break;
        }
      } catch (Throwable t) {
        FSImage.LOG.warn("Caught exception after scanning through "
            + numValid + " ops from " + in
            + " while determining its valid length. Position was "
            + lastPos, t);
        in.resync();
        FSImage.LOG.warn("After resync, position is " + in.getPosition());
        continue;
      }
      if (lastTxId == HdfsConstants.INVALID_TXID || txid > lastTxId) {
        lastTxId = txid;
      }
      numValid++;
    }
    return new EditLogValidation(lastPos, lastTxId, false);
  } finally {
    IOUtils.closeStream(in);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:45,代码来源:EditLogFileInputStream.java


示例11: validateLog

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
/** 
 * Find out where the edit log ends.
 * This will update the lastTxId of the EditLogFile or
 * mark it as corrupt if it is.
 */
public void validateLog() throws IOException {
  EditLogValidation val = EditLogFileInputStream.validateEditLog(file);
  this.lastTxId = val.getEndTxId();
  this.hasCorruptHeader = val.hasCorruptHeader();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:11,代码来源:FileJournalManager.java


示例12: scanLog

import org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.EditLogValidation; //导入依赖的package包/类
public void scanLog() throws IOException {
  EditLogValidation val = EditLogFileInputStream.scanEditLog(file);
  this.lastTxId = val.getEndTxId();
  this.hasCorruptHeader = val.hasCorruptHeader();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:6,代码来源:FileJournalManager.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java HostAddress类代码示例发布时间:2022-05-22
下一篇:
Java MinimalServantCacheLocalCRDImpl类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap