@Override public void clearStorage() throws BackendException { manager.clearStorage(); }
@Override public void clearStorage() throws BackendException { backend.clearStorage(); }
/** * Clears the storage of all registered backend data providers. This includes backend storage engines and index providers. * <p> * IMPORTANT: Clearing storage means that ALL data will be lost and cannot be recovered. * * @throws BackendException */ public synchronized void clearStorage() throws BackendException { if (!hasAttemptedClose) { hasAttemptedClose = true; managementLogManager.close(); txLogManager.close(); userLogManager.close(); scanner.close(); edgeStore.close(); indexStore.close(); idAuthority.close(); systemConfig.close(); userConfig.close(); storeManager.clearStorage(); storeManager.close(); //Indexes for (IndexProvider index : indexes.values()) { index.clearStorage(); index.close(); } } else { log.debug("Backend {} has already been closed or cleared", this); } }
@Test public void testClearStorage() throws Exception { final String[][] values = generateValues(); loadValues(values); close(); manager = openStorageManagerForClearStorageTest(); assertTrue("storage should exist before clearing", manager.exists()); manager.clearStorage(); try { assertFalse("storage should not exist after clearing", manager.exists()); } catch (Exception e) { // Retry to accommodate backends (e.g. BerkeleyDB) which may require a clean manager after clearing storage manager.close(); manager = openStorageManager(); assertFalse("storage should not exist after clearing", manager.exists()); } }