diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED index 75029eb497..1753d15d1e 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED @@ -143,8 +143,7 @@ CaseNodesCleanupTask.progress.connectingToCoordSvc=Connecting to the coordinatio # {0} - node path CaseNodesCleanupTask.progress.deletingOrphanedCaseNode=Deleting orphaned case node {0}... CaseNodesCleanupTask.progress.gettingCaseNodesListing=Querying coordination service for case nodes... -CaseNodesCleanupTask.progress.lockingManifest=Deleting orphaned case node {0}... -CaseNodesCleanupTask.progress.startMessage=Starting deletion... +CaseNodesCleanupTask.progress.startMessage=Starting orphaned case znode cleanup... ConfirmationDialog.DoNotDelete=Do not delete ConfirmationDialog.Delete=Permanently delete ConfirmationDialog.DeleteAreYouSure=The entire case will be removed. Are you sure you want to delete case @@ -204,7 +203,6 @@ DeleteCaseTask.progress.deletingResourcesLockNode=Deleting case resources znode. DeleteCaseTask.progress.gettingManifestPaths=Getting manifest file paths... # {0} - manifest file path DeleteCaseTask.progress.lockingManifest=Locking manifest file {0}... -DeleteCaseTask.progress.Manifest=Deleting manifest file {0}... DeleteCaseTask.progress.openingCaseDatabase=Opening the case database... DeleteCaseTask.progress.openingCaseMetadataFile=Opening case metadata file... # {0} - manifest file path diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/CaseNodesCleanupAction.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/CaseNodesCleanupAction.java index e655eb2473..a54308047d 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/CaseNodesCleanupAction.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/CaseNodesCleanupAction.java @@ -48,13 +48,6 @@ final class CaseNodesCleanupAction extends AbstractAction { final FutureTask future = new FutureTask<>(task, null); taskCanceller.setFuture(future); new Thread(future).start(); - try { - future.get(); - } catch (InterruptedException ex) { - Exceptions.printStackTrace(ex); - } catch (ExecutionException ex) { - Exceptions.printStackTrace(ex); - } } @Override diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/CaseNodesCleanupTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/CaseNodesCleanupTask.java index 60bd7e5c37..79addde576 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/CaseNodesCleanupTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/CaseNodesCleanupTask.java @@ -51,10 +51,12 @@ final class CaseNodesCleanupTask implements Runnable { @Override @NbBundle.Messages({ + "CaseNodesCleanupTask.progress.startMessage=Starting orphaned case znode cleanup...", "CaseNodesCleanupTask.progress.connectingToCoordSvc=Connecting to the coordination service...", "CaseNodesCleanupTask.progress.gettingCaseNodesListing=Querying coordination service for case nodes..." }) public void run() { + progress.start(Bundle.CaseNodesCleanupTask_progress_startMessage()); try { progress.progress(Bundle.CaseNodesCleanupTask_progress_connectingToCoordSvc()); logger.log(Level.INFO, "Connecting to the coordination service for orphan case node clean up"); // NON-NLS @@ -67,7 +69,7 @@ final class CaseNodesCleanupTask implements Runnable { } progress.progress(Bundle.CaseNodesCleanupTask_progress_gettingCaseNodesListing()); - logger.log(Level.INFO, "Querying coordination service for case nodes for orphan case node clean up"); // NON-NLS + logger.log(Level.INFO, "Querying coordination service for case nodes for orphaned case node clean up"); // NON-NLS List nodeDataList; try { nodeDataList = CaseNodeDataCollector.getNodeData(); @@ -99,11 +101,21 @@ final class CaseNodesCleanupTask implements Runnable { deleteNode(coordinationService, caseName, nodePath); } catch (InterruptedException ex) { - logger.log(Level.WARNING, String.format("Unexpected interrupt while deleting znode %s for %s", nodePath, caseName), ex); // NON-NLS + logger.log(Level.WARNING, String.format("Unexpected interrupt while deleting orphaned znode %s for %s", nodePath, caseName), ex); // NON-NLS return; } } } + } catch (Exception ex) { + /* + * This is an unexpected runtime exceptions firewall. It is here + * because this task is designed to be able to be run in scenarios + * where there is no call to get() on a Future associated with + * the task, so this ensures that any such errors get logged. + */ + logger.log(Level.SEVERE, "Unexpected error during orphan case znode cleanup", ex); // NON-NLS + throw ex; + } finally { progress.finish(); }