package com.bigdata.bop.fed.shards; import com.bigdata.bop.IBindingSet; import com.bigdata.mdi.IMetadataIndex; import com.bigdata.mdi.PartitionLocator; /** * @todo Implement {@link Algorithm_LowShardCount}. * <p> * When the #of index partitions is small, it is efficient to locally * materialize the {@link IMetadataIndex} using a locator scan and then * assign the {@link Bundle}s to the partitions. * <p> * Rather than worrying about multiple locator scans against the remote * {@link IMetadataIndex}, we can run a relatively naive (or more * sophisticated) scan against a cached {@link IMetadataIndex}. * <p> * This could be done either by explicit caching of the * {@link IMetadataIndex} or by materialization of a * {@link PartitionLocator}[] and either scanning it or using a binary * search. * <p> * Note that the {@link IMetadataIndex} might already be cached in the low * shard count condition, in which case we could use any of the general * purpose {@link Algorithm_NestedLocatorScan}. */ class Algorithm_LowShardCount<E extends IBindingSet, F> implements IShardMapper<E, F> { public void mapOverShards(Bundle<F>[] bundles) { // TODO Auto-generated method stub throw new UnsupportedOperationException(); } }