Description:
When attempting to select a dataset for an analysis run, if the dataset exceeds the size on disk, the dataset will never be set to the selected dataset. A dialog should popup informing the user of the lack of diskspace and to reselect the dataset when sufficient diskspace has been freed up.
Notes:
I recommend catching the java.io.IOException (verifying it has a message of "There is not enough space on the disk") and launching a popup message. A better course of action would be to determine ahead of time if there is enough diskspace to perform the analysis and alert the user, this may be difficult to determine ahead of time as generated analysis data will likely vary.
Exception Trace:
1223201 - [ERROR] [edu.illinois.ncsa.ergo.core.analysis.types.UseCase]: Script failed
ncsa.tools.elf.core.exceptions.ActivationException: Failed executing script
at ncsa.tools.elf.scripts.modules.SerialScriptsModule.wrappedActivate(SerialScriptsModule.java:75)
at ncsa.tools.elf.core.BaseContainerModule.activate(BaseContainerModule.java:22)
at ncsa.tools.elf.core.types.ElfContainer.startModules(ElfContainer.java:225)
at ncsa.tools.elf.core.types.ElfContainer.activateScriptModules(ElfContainer.java:195)
at ncsa.tools.elf.embedded.container.EmbeddedElfContainer.wrappedStart(EmbeddedElfContainer.java:46)
at ncsa.tools.elf.core.types.ElfContainer.start(ElfContainer.java:75)
at ncsa.tools.elf.embedded.managers.EmbeddedExecutionManager.execute(EmbeddedExecutionManager.java:36)
at edu.illinois.ncsa.ergo.core.analysis.elf.ElfScriptExecutable$1.run(ElfScriptExecutable.java:141)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: ncsa.tools.elf.core.exceptions.ScriptExecutionException: Failed to write collection
at edu.illinois.ncsa.ergo.core.analysis.ogrescript.tasks.core.CommitFeatureIteratorTask.wrappedExecute(CommitFeatureIteratorTask.java:52)
at ncsa.tools.ogrescript.tasks.OgreScriptBaseTask.execute(OgreScriptBaseTask.java:52)
at ncsa.tools.ogrescript.modules.DynamicTaskExecutionModule.runTask(DynamicTaskExecutionModule.java:53)
at ncsa.tools.ogrescript.modules.SerialTaskExecutionModule.runTasks(SerialTaskExecutionModule.java:13)
at ncsa.tools.ogrescript.tasks.OgreScriptTaskContainer.processTasks(OgreScriptTaskContainer.java:63)
at ncsa.tools.ogrescript.tasks.container.conditional.If.processMainBranch(If.java:116)
at ncsa.tools.ogrescript.tasks.container.conditional.If.wrappedExecute(If.java:32)
at ncsa.tools.ogrescript.tasks.OgreScriptBaseTask.execute(OgreScriptBaseTask.java:52)
at ncsa.tools.ogrescript.modules.DynamicTaskExecutionModule.runTask(DynamicTaskExecutionModule.java:53)
at ncsa.tools.ogrescript.modules.SingleTaskExecutionModule.runTasks(SingleTaskExecutionModule.java:13)
at ncsa.tools.ogrescript.tasks.OgreScriptTaskContainer.processTask(OgreScriptTaskContainer.java:48)
at edu.illinois.ncsa.ergo.core.analysis.elf.tasks.FeatureWhile.wrappedExecute(FeatureWhile.java:68)
at ncsa.tools.ogrescript.tasks.OgreScriptBaseTask.execute(OgreScriptBaseTask.java:52)
at ncsa.tools.ogrescript.modules.DynamicTaskExecutionModule.runTask(DynamicTaskExecutionModule.java:53)
at ncsa.tools.ogrescript.modules.SerialTaskExecutionModule.runTasks(SerialTaskExecutionModule.java:13)
at ncsa.tools.ogrescript.tasks.container.Try.wrappedExecute(Try.java:60)
at ncsa.tools.ogrescript.tasks.OgreScriptBaseTask.execute(OgreScriptBaseTask.java:52)
at ncsa.tools.ogrescript.modules.DynamicTaskExecutionModule.runTask(DynamicTaskExecutionModule.java:53)
at ncsa.tools.ogrescript.modules.SerialTaskExecutionModule.runTasks(SerialTaskExecutionModule.java:13)
at ncsa.tools.ogrescript.tasks.container.Try.wrappedExecute(Try.java:60)
at edu.illinois.ncsa.ergo.core.analysis.elf.tasks.AnalysisTask.wrappedExecute(AnalysisTask.java:55)
at ncsa.tools.ogrescript.tasks.OgreScriptBaseTask.execute(OgreScriptBaseTask.java:52)
at ncsa.tools.ogrescript.modules.DynamicTaskExecutionModule.runTask(DynamicTaskExecutionModule.java:53)
at ncsa.tools.ogrescript.modules.SerialTaskExecutionModule.runTasks(SerialTaskExecutionModule.java:13)
at ncsa.tools.ogrescript.OgreScript.execute(OgreScript.java:132)
at ncsa.tools.elf.scripts.modules.SerialScriptsModule.wrappedActivate(SerialScriptsModule.java:70)
... 8 more
Caused by: java.io.IOException: There is not enough space on the disk
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.FileDispatcherImpl.write(Unknown Source)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.write(Unknown Source)
at sun.nio.ch.FileChannelImpl.write(Unknown Source)
at org.geotools.data.shapefile.dbf.DbaseFileWriter.write(DbaseFileWriter.java:85)
at org.geotools.data.shapefile.dbf.DbaseFileWriter.write(DbaseFileWriter.java:122)
at org.geotools.data.shapefile.ShapefileDataStore$Writer.write(ShapefileDataStore.java:1660)
at org.geotools.data.shapefile.ShapefileDataStore$Writer.close(ShapefileDataStore.java:1495)
at org.geotools.data.TransactionStateDiff.applyDiff(TransactionStateDiff.java:253)
at org.geotools.data.TransactionStateDiff.commit(TransactionStateDiff.java:140)
at org.geotools.data.DefaultTransaction.commit(DefaultTransaction.java:181)
at edu.illinois.ncsa.ergo.core.analysis.ogrescript.tasks.core.CommitFeatureIteratorTask.wrappedExecute(CommitFeatureIteratorTask.java:48)
... 33 more
- relates to
-
ERGO-234 Error during dataset selection when disk space is low
- Open