From 85525d9e6e47724c82c0428c10e6305853b3f1b1 Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Fri, 12 Oct 2012 09:19:50 -0400 Subject: [PATCH] Make Geraldine's life easier: from now on we treat problems where a temp file cannot be found when running the GATK with multiple threads as User Errors (since they are 99.9% of the time). This is an extremely large class of errors in Tableau and on the forums. Helpful error message tells users exactly what we tell them on the forums anyways (Geraldine: feel free to edit). --- .../sting/gatk/io/storage/VariantContextWriterStorage.java | 2 +- .../sting/utils/exceptions/UserException.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/storage/VariantContextWriterStorage.java b/public/java/src/org/broadinstitute/sting/gatk/io/storage/VariantContextWriterStorage.java index c6438cfdb..31f6d5954 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/storage/VariantContextWriterStorage.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/storage/VariantContextWriterStorage.java @@ -186,7 +186,7 @@ public class VariantContextWriterStorage implements Storage codec = fd.getCodec(); final AbstractFeatureReader source = diff --git a/public/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java b/public/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java index faafc611a..eaa8d7943 100755 --- a/public/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java +++ b/public/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java @@ -129,6 +129,12 @@ public class UserException extends ReviewedStingException { } } + public static class LocalParallelizationProblem extends UserException { + public LocalParallelizationProblem(final File file) { + super(String.format("There was a failure because temporary file %s could not be found while running the GATK with more than one thread. Possible causes for this problem include: your system's open file handle limit is too small, your output or temp directories do not have sufficient space, or just an isolated file system blip", file.getAbsolutePath())); + } + } + public static class NotEnoughMemory extends UserException { public NotEnoughMemory() { super(String.format("There was a failure because you did not provide enough memory to run this program. See the -Xmx JVM argument to adjust the maximum heap size provided to Java"));