Search in sources :

Example 1 with Flags

use of org.apache.hadoop.hdfs.tools.offlineEditsViewer.OfflineEditsViewer.Flags in project hadoop by apache.

the class TestOfflineEditsViewer method runOev.

/**
   * Run OfflineEditsViewer
   *
   * @param inFilename input edits filename
   * @param outFilename oputput edits filename
   */
private int runOev(String inFilename, String outFilename, String processor, boolean recovery) throws IOException {
    LOG.info("Running oev [" + inFilename + "] [" + outFilename + "]");
    OfflineEditsViewer oev = new OfflineEditsViewer();
    Flags flags = new Flags();
    flags.setPrintToScreen();
    if (recovery) {
        flags.setRecoveryMode();
    }
    return oev.go(inFilename, outFilename, processor, flags, null);
}
Also used : Flags(org.apache.hadoop.hdfs.tools.offlineEditsViewer.OfflineEditsViewer.Flags)

Example 2 with Flags

use of org.apache.hadoop.hdfs.tools.offlineEditsViewer.OfflineEditsViewer.Flags in project hadoop by apache.

the class TestOfflineEditsViewer method hasAllOpCodes.

/**
   * Checks that the edits file has all opCodes
   *
   * @param filename edits file
   * @return true is edits (filename) has all opCodes
   */
private boolean hasAllOpCodes(String inFilename) throws IOException {
    String outFilename = inFilename + ".stats";
    FileOutputStream fout = new FileOutputStream(outFilename);
    StatisticsEditsVisitor visitor = new StatisticsEditsVisitor(fout);
    OfflineEditsViewer oev = new OfflineEditsViewer();
    if (oev.go(inFilename, outFilename, "stats", new Flags(), visitor) != 0)
        return false;
    LOG.info("Statistics for " + inFilename + "\n" + visitor.getStatisticsString());
    boolean hasAllOpCodes = true;
    for (FSEditLogOpCodes opCode : FSEditLogOpCodes.values()) {
        // don't need to test obsolete opCodes
        if (skippedOps.contains(opCode))
            continue;
        Long count = visitor.getStatistics().get(opCode);
        if ((count == null) || (count == 0)) {
            hasAllOpCodes = false;
            LOG.info("Opcode " + opCode + " not tested in " + inFilename);
        }
    }
    return hasAllOpCodes;
}
Also used : FSEditLogOpCodes(org.apache.hadoop.hdfs.server.namenode.FSEditLogOpCodes) FileOutputStream(java.io.FileOutputStream) Flags(org.apache.hadoop.hdfs.tools.offlineEditsViewer.OfflineEditsViewer.Flags)

Example 3 with Flags

use of org.apache.hadoop.hdfs.tools.offlineEditsViewer.OfflineEditsViewer.Flags in project hadoop by apache.

the class TestOfflineEditsViewer method testStatisticsStrWithNullOpCodeCount.

@Test
public void testStatisticsStrWithNullOpCodeCount() throws IOException {
    String editFilename = nnHelper.generateEdits();
    String outFilename = editFilename + ".stats";
    FileOutputStream fout = new FileOutputStream(outFilename);
    StatisticsEditsVisitor visitor = new StatisticsEditsVisitor(fout);
    OfflineEditsViewer oev = new OfflineEditsViewer();
    String statisticsStr = null;
    if (oev.go(editFilename, outFilename, "stats", new Flags(), visitor) == 0) {
        statisticsStr = visitor.getStatisticsString();
    }
    Assert.assertNotNull(statisticsStr);
    String str;
    Long count;
    Map<FSEditLogOpCodes, Long> opCodeCount = visitor.getStatistics();
    for (FSEditLogOpCodes opCode : FSEditLogOpCodes.values()) {
        count = opCodeCount.get(opCode);
        // Verify the str when the opCode's count is null
        if (count == null) {
            str = String.format("    %-30.30s (%3d): %d%n", opCode.toString(), opCode.getOpCode(), Long.valueOf(0L));
            assertTrue(statisticsStr.contains(str));
        }
    }
}
Also used : FSEditLogOpCodes(org.apache.hadoop.hdfs.server.namenode.FSEditLogOpCodes) FileOutputStream(java.io.FileOutputStream) Flags(org.apache.hadoop.hdfs.tools.offlineEditsViewer.OfflineEditsViewer.Flags) Test(org.junit.Test)

Aggregations

Flags (org.apache.hadoop.hdfs.tools.offlineEditsViewer.OfflineEditsViewer.Flags)3 FileOutputStream (java.io.FileOutputStream)2 FSEditLogOpCodes (org.apache.hadoop.hdfs.server.namenode.FSEditLogOpCodes)2 Test (org.junit.Test)1