Workaround: use a single ReferenceIterator for an entire micromanaged traversal. We'll have to
do something about ReferenceIterator thread safety later. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@361 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
95753e1b34
commit
2322bb7d86
|
|
@ -59,6 +59,8 @@ public class MicroManager {
|
|||
ShardStrategy shardStrategy = ShardStrategyFactory.shatter( ShardStrategyFactory.SHATTER_STRATEGY.LINEAR,
|
||||
ref.getSequenceDictionary(),
|
||||
SHARD_SIZE );
|
||||
ReferenceIterator refIter = new ReferenceIterator(ref);
|
||||
|
||||
Object accumulator = ((LocusWalker<?,?>)walker).reduceInit();
|
||||
|
||||
for(Shard shard: shardStrategy) {
|
||||
|
|
@ -74,7 +76,7 @@ public class MicroManager {
|
|||
throw new RuntimeException( ex );
|
||||
}
|
||||
|
||||
ReferenceProvider referenceProvider = new ReferenceProvider( new ReferenceIterator(ref) );
|
||||
ReferenceProvider referenceProvider = new ReferenceProvider( refIter );
|
||||
LocusContextProvider locusProvider = new LocusContextProvider( readShard );
|
||||
|
||||
accumulator = traversalEngine.traverse( walker, shard, referenceProvider, locusProvider, accumulator );
|
||||
|
|
|
|||
Loading…
Reference in New Issue