storage.recoverTransitionRead(this, nsInfo, dataDirs, startOpt);
Collection<StorageDirectory> newStorageDirectories = storage.recoverTransitionAdditionalRead(nsInfo, newDirs, getStartupOption(conf)); storage.recoverTransitionRead(this, namespaceId, nsInfo, newDirs, getStartupOption(conf), nameserviceId);
.recoverTransitionRead(DataNode.this, nsInfo, dataDirs, startOpt); storage.recoverTransitionRead(DataNode.this, nsInfo.namespaceID, nsInfo, dataDirs, startOpt, nameserviceId);
storage.recoverTransitionRead(nsInfo, dataDirs, startOpt);
storage.recoverTransitionRead(nsInfo, dataDirs, startOpt);
storage.recoverTransitionRead(this, nsInfo, dataDirs, startOpt);
storage.recoverTransitionRead(this, nsInfo, dataDirs, startOpt);
@Test public void testRecoverTransitionReadFailure() throws IOException { final int numLocations = 3; List<StorageLocation> locations = createStorageLocations(numLocations, true); try { storage.recoverTransitionRead(mockDN, nsInfo, locations, START_OPT); fail("An IOException should throw: all StorageLocations are NON_EXISTENT"); } catch (IOException e) { GenericTestUtils.assertExceptionContains( "All specified directories are failed to load.", e); } assertEquals(0, storage.getNumStorageDirs()); }
/** * This test enforces the behavior that if there is an exception from * doTransition() during DN starts up, the storage directories that have * already been processed are still visible, i.e., in * DataStorage.storageDirs(). */ @Test public void testRecoverTransitionReadDoTransitionFailure() throws IOException { final int numLocations = 3; List<StorageLocation> locations = createStorageLocations(numLocations); // Prepare volumes storage.recoverTransitionRead(mockDN, nsInfo, locations, START_OPT); assertEquals(numLocations, storage.getNumStorageDirs()); // Reset DataStorage storage.unlockAll(); storage = new DataStorage(); // Trigger an exception from doTransition(). nsInfo.clusterID = "cluster1"; try { storage.recoverTransitionRead(mockDN, nsInfo, locations, START_OPT); fail("Expect to throw an exception from doTransition()"); } catch (IOException e) { GenericTestUtils.assertExceptionContains("All specified directories", e); } assertEquals(0, storage.getNumStorageDirs()); } }