From 41ddc7bce71974353491109371fd26a3af4cda82 Mon Sep 17 00:00:00 2001 From: Matt Hanna Date: Thu, 27 Oct 2011 11:30:04 -0400 Subject: [PATCH] Make sure we output a full stack trace when we encounter Tribble error messages on VCF header merge. --- .../gatk/executive/HierarchicalMicroScheduler.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java b/public/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java index 3b9e35311..ae98874c1 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java +++ b/public/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.gatk.executive; import net.sf.picard.reference.IndexedFastaSequenceFile; +import org.broad.tribble.TribbleException; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.datasources.reads.SAMDataSource; import org.broadinstitute.sting.gatk.datasources.reads.Shard; @@ -263,8 +264,17 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Hierar traverser.waitForComplete(); OutputMergeTask mergeTask = traverser.getOutputMergeTask(); - if( mergeTask != null ) - mergeTask.merge(); + if( mergeTask != null ) { + try { + mergeTask.merge(); + } + catch(TribbleException ex) { + // Specifically catch Tribble I/O exceptions and rethrow them as Reviewed. We don't expect + // any issues here because we created the Tribble output file mere moments ago and expect it to + // be completely valid. + throw new ReviewedStingException("Unable to merge temporary Tribble output file.",ex); + } + } } long endTime = System.currentTimeMillis();