Search in sources :

Example 1 with PBImageXmlWriter

use of org.apache.hadoop.hdfs.tools.offlineImageViewer.PBImageXmlWriter in project hadoop by apache.

the class TestSnapshot method testOfflineImageViewer.

/**
   * Test if the OfflineImageViewerPB can correctly parse a fsimage containing
   * snapshots
   */
@Test
public void testOfflineImageViewer() throws Exception {
    runTestSnapshot(1);
    // retrieve the fsimage. Note that we already save namespace to fsimage at
    // the end of each iteration of runTestSnapshot.
    File originalFsimage = FSImageTestUtil.findLatestImageFile(FSImageTestUtil.getFSImage(cluster.getNameNode()).getStorage().getStorageDir(0));
    assertNotNull("Didn't generate or can't find fsimage", originalFsimage);
    PrintStream o = new PrintStream(NullOutputStream.NULL_OUTPUT_STREAM);
    PBImageXmlWriter v = new PBImageXmlWriter(new Configuration(), o);
    v.visit(new RandomAccessFile(originalFsimage, "r"));
}
Also used : PBImageXmlWriter(org.apache.hadoop.hdfs.tools.offlineImageViewer.PBImageXmlWriter) PrintStream(java.io.PrintStream) Configuration(org.apache.hadoop.conf.Configuration) RandomAccessFile(java.io.RandomAccessFile) RandomAccessFile(java.io.RandomAccessFile) File(java.io.File) Test(org.junit.Test)

Example 2 with PBImageXmlWriter

use of org.apache.hadoop.hdfs.tools.offlineImageViewer.PBImageXmlWriter in project hadoop by apache.

the class TestEncryptionZones method testOfflineImageViewerOnEncryptionZones.

/**
   * Test running the OfflineImageViewer on a system with encryption zones.
   */
@Test
public void testOfflineImageViewerOnEncryptionZones() throws Exception {
    final int len = 8196;
    final Path zoneParent = new Path("/zones");
    final Path zone1 = new Path(zoneParent, "zone1");
    final Path zone1File = new Path(zone1, "file");
    fsWrapper.mkdir(zone1, FsPermission.getDirDefault(), true);
    dfsAdmin.createEncryptionZone(zone1, TEST_KEY, NO_TRASH);
    DFSTestUtil.createFile(fs, zone1File, len, (short) 1, 0xFEED);
    fs.setSafeMode(SafeModeAction.SAFEMODE_ENTER, false);
    fs.saveNamespace();
    File originalFsimage = FSImageTestUtil.findLatestImageFile(FSImageTestUtil.getFSImage(cluster.getNameNode()).getStorage().getStorageDir(0));
    if (originalFsimage == null) {
        throw new RuntimeException("Didn't generate or can't find fsimage");
    }
    // Run the XML OIV processor
    ByteArrayOutputStream output = new ByteArrayOutputStream();
    PrintStream pw = new PrintStream(output);
    PBImageXmlWriter v = new PBImageXmlWriter(new Configuration(), pw);
    v.visit(new RandomAccessFile(originalFsimage, "r"));
    final String xml = output.toString();
    SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
    parser.parse(new InputSource(new StringReader(xml)), new DefaultHandler());
}
Also used : Path(org.apache.hadoop.fs.Path) PrintStream(java.io.PrintStream) InputSource(org.xml.sax.InputSource) Configuration(org.apache.hadoop.conf.Configuration) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Mockito.anyString(org.mockito.Mockito.anyString) DefaultHandler(org.xml.sax.helpers.DefaultHandler) PBImageXmlWriter(org.apache.hadoop.hdfs.tools.offlineImageViewer.PBImageXmlWriter) RandomAccessFile(java.io.RandomAccessFile) StringReader(java.io.StringReader) SAXParser(javax.xml.parsers.SAXParser) RandomAccessFile(java.io.RandomAccessFile) File(java.io.File) Test(org.junit.Test)

Aggregations

File (java.io.File)2 PrintStream (java.io.PrintStream)2 RandomAccessFile (java.io.RandomAccessFile)2 Configuration (org.apache.hadoop.conf.Configuration)2 PBImageXmlWriter (org.apache.hadoop.hdfs.tools.offlineImageViewer.PBImageXmlWriter)2 Test (org.junit.Test)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 StringReader (java.io.StringReader)1 SAXParser (javax.xml.parsers.SAXParser)1 Path (org.apache.hadoop.fs.Path)1 Mockito.anyString (org.mockito.Mockito.anyString)1 InputSource (org.xml.sax.InputSource)1 DefaultHandler (org.xml.sax.helpers.DefaultHandler)1