Rename some key classes.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@587 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
5bdf653919
commit
6e38966349
|
|
@ -50,7 +50,7 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce
|
||||||
|
|
||||||
private Queue<Shard> traverseTasks = new LinkedList<Shard>();
|
private Queue<Shard> traverseTasks = new LinkedList<Shard>();
|
||||||
private Queue<TreeReduceTask> reduceTasks = new LinkedList<TreeReduceTask>();
|
private Queue<TreeReduceTask> reduceTasks = new LinkedList<TreeReduceTask>();
|
||||||
private Queue<ShardOutput> outputMergeTasks = new LinkedList<ShardOutput>();
|
private Queue<OutputMerger> outputMergeTasks = new LinkedList<OutputMerger>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new hierarchical microscheduler to process the given reads and reference.
|
* Create a new hierarchical microscheduler to process the given reads and reference.
|
||||||
|
|
@ -159,7 +159,7 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce
|
||||||
|
|
||||||
// If any of the first MAX_OUTSTANDING merges aren't ready, the merge limit
|
// If any of the first MAX_OUTSTANDING merges aren't ready, the merge limit
|
||||||
// has not been exceeded.
|
// has not been exceeded.
|
||||||
ShardOutput[] outputMergers = outputMergeTasks.toArray( new ShardOutput[0] );
|
OutputMerger[] outputMergers = outputMergeTasks.toArray( new OutputMerger[0] );
|
||||||
for( int i = 0; i < outputMergers.length; i++ ) {
|
for( int i = 0; i < outputMergers.length; i++ ) {
|
||||||
if( !outputMergers[i].isComplete() )
|
if( !outputMergers[i].isComplete() )
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -194,12 +194,12 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce
|
||||||
protected void mergeRemainingOutput() {
|
protected void mergeRemainingOutput() {
|
||||||
OutputTracker outputTracker = GenomeAnalysisTK.Instance.getOutputTracker();
|
OutputTracker outputTracker = GenomeAnalysisTK.Instance.getOutputTracker();
|
||||||
while( outputMergeTasks.size() > 0 ) {
|
while( outputMergeTasks.size() > 0 ) {
|
||||||
ShardOutput shardOutput = outputMergeTasks.remove();
|
OutputMerger outputMerger = outputMergeTasks.remove();
|
||||||
synchronized(shardOutput) {
|
synchronized(outputMerger) {
|
||||||
if( !shardOutput.isComplete() )
|
if( !outputMerger.isComplete() )
|
||||||
shardOutput.waitForOutputComplete();
|
outputMerger.waitForOutputComplete();
|
||||||
}
|
}
|
||||||
shardOutput.mergeInto( outputTracker.getGlobalOutStream(), outputTracker.getGlobalErrStream() );
|
outputMerger.mergeInto( outputTracker.getGlobalOutStream(), outputTracker.getGlobalErrStream() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -212,14 +212,14 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce
|
||||||
if( traverseTasks.size() == 0 )
|
if( traverseTasks.size() == 0 )
|
||||||
throw new IllegalStateException( "Cannot traverse; no pending traversals exist.");
|
throw new IllegalStateException( "Cannot traverse; no pending traversals exist.");
|
||||||
|
|
||||||
ShardOutput shardOutput = new ShardOutput();
|
OutputMerger outputMerger = new OutputMerger();
|
||||||
|
|
||||||
ShardTraverser traverser = new ShardTraverser( traversalEngine,
|
ShardTraverser traverser = new ShardTraverser( traversalEngine,
|
||||||
walker,
|
walker,
|
||||||
traverseTasks.remove(),
|
traverseTasks.remove(),
|
||||||
reference,
|
reference,
|
||||||
dataSource,
|
dataSource,
|
||||||
shardOutput );
|
outputMerger );
|
||||||
|
|
||||||
Future traverseResult = threadPool.submit(traverser);
|
Future traverseResult = threadPool.submit(traverser);
|
||||||
|
|
||||||
|
|
@ -230,7 +230,7 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce
|
||||||
if( !isShardTraversePending() )
|
if( !isShardTraversePending() )
|
||||||
reduceTree.complete();
|
reduceTree.complete();
|
||||||
|
|
||||||
outputMergeTasks.add(shardOutput);
|
outputMergeTasks.add(outputMerger);
|
||||||
|
|
||||||
return traverseResult;
|
return traverseResult;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ import java.nio.channels.WritableByteChannel;
|
||||||
* can be made at any time from any thread, but complete() should be called on the
|
* can be made at any time from any thread, but complete() should be called on the
|
||||||
* thread which is doing the writing.
|
* thread which is doing the writing.
|
||||||
*/
|
*/
|
||||||
public class ShardOutput {
|
public class OutputMerger {
|
||||||
/**
|
/**
|
||||||
* Create a unique identifier
|
* Create a unique identifier
|
||||||
*/
|
*/
|
||||||
|
|
@ -54,7 +54,7 @@ public class ShardOutput {
|
||||||
private FileOutputStream out = null;
|
private FileOutputStream out = null;
|
||||||
private FileOutputStream err = null;
|
private FileOutputStream err = null;
|
||||||
|
|
||||||
public ShardOutput() {
|
public OutputMerger() {
|
||||||
try {
|
try {
|
||||||
outFile = File.createTempFile("gatkout_" + id, null);
|
outFile = File.createTempFile("gatkout_" + id, null);
|
||||||
errFile = File.createTempFile("gatkerr_" + id, null);
|
errFile = File.createTempFile("gatkerr_" + id, null);
|
||||||
|
|
@ -68,7 +68,7 @@ public class ShardOutput {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Waits for any the given ShardOutput to be ready for merging.
|
* Waits for any the given OutputMerger to be ready for merging.
|
||||||
*/
|
*/
|
||||||
public synchronized void waitForOutputComplete() {
|
public synchronized void waitForOutputComplete() {
|
||||||
try {
|
try {
|
||||||
|
|
@ -36,14 +36,14 @@ public class ShardTraverser implements Callable {
|
||||||
private Shard shard;
|
private Shard shard;
|
||||||
private IndexedFastaSequenceFile reference;
|
private IndexedFastaSequenceFile reference;
|
||||||
private SAMDataSource reads;
|
private SAMDataSource reads;
|
||||||
private ShardOutput output;
|
private OutputMerger output;
|
||||||
|
|
||||||
public ShardTraverser( TraverseLociByReference traversalEngine,
|
public ShardTraverser( TraverseLociByReference traversalEngine,
|
||||||
Walker walker,
|
Walker walker,
|
||||||
Shard shard,
|
Shard shard,
|
||||||
IndexedFastaSequenceFile reference,
|
IndexedFastaSequenceFile reference,
|
||||||
SAMDataSource reads,
|
SAMDataSource reads,
|
||||||
ShardOutput output ) {
|
OutputMerger output ) {
|
||||||
this.walker = walker;
|
this.walker = walker;
|
||||||
this.traversalEngine = traversalEngine;
|
this.traversalEngine = traversalEngine;
|
||||||
this.shard = shard;
|
this.shard = shard;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue