http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreePrimaryIndexSearchOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreePrimaryIndexSearchOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreePrimaryIndexSearchOperatorTest.java index 8874330..870cfe3 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreePrimaryIndexSearchOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreePrimaryIndexSearchOperatorTest.java @@ -19,6 +19,8 @@ package org.apache.hyracks.tests.am.btree; +import java.io.DataOutput; + import org.apache.hyracks.api.constraints.PartitionConstraintHelper; import org.apache.hyracks.api.dataflow.IOperatorDescriptor; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; @@ -32,21 +34,13 @@ import org.apache.hyracks.dataflow.std.file.ConstantFileSplitProvider; import org.apache.hyracks.dataflow.std.file.IFileSplitProvider; import org.apache.hyracks.dataflow.std.file.PlainFileWriterOperatorDescriptor; import org.apache.hyracks.dataflow.std.misc.ConstantTupleSourceOperatorDescriptor; +import org.apache.hyracks.storage.am.btree.dataflow.BTreeResourceFactory; import org.apache.hyracks.storage.am.btree.dataflow.BTreeSearchOperatorDescriptor; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; -import org.apache.hyracks.storage.am.common.freepage.LinkedMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallbackFactory; +import org.apache.hyracks.storage.common.IResourceFactory; import org.junit.Before; import org.junit.Test; -import java.io.DataOutput; - -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryBloomFilterKeyFields; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryComparatorFactories; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryKeyFieldCount; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryRecDesc; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryTypeTraits; - public class BTreePrimaryIndexSearchOperatorTest extends AbstractBTreeOperatorTest { @Override @@ -63,7 +57,7 @@ public class BTreePrimaryIndexSearchOperatorTest extends AbstractBTreeOperatorTe // build tuple containing low and high search key // high key and low key - ArrayTupleBuilder tb = new ArrayTupleBuilder(primaryKeyFieldCount * 2); + ArrayTupleBuilder tb = new ArrayTupleBuilder(DataSetConstants.primaryKeyFieldCount * 2); DataOutput dos = tb.getDataOutput(); tb.reset(); @@ -74,8 +68,8 @@ public class BTreePrimaryIndexSearchOperatorTest extends AbstractBTreeOperatorTe new UTF8StringSerializerDeserializer().serialize("200", dos); tb.addFieldEndOffset(); - ISerializerDeserializer[] keyRecDescSers = { new UTF8StringSerializerDeserializer(), - new UTF8StringSerializerDeserializer() }; + ISerializerDeserializer[] keyRecDescSers = + { new UTF8StringSerializerDeserializer(), new UTF8StringSerializerDeserializer() }; RecordDescriptor keyRecDesc = new RecordDescriptor(keyRecDescSers); ConstantTupleSourceOperatorDescriptor keyProviderOp = new ConstantTupleSourceOperatorDescriptor(spec, @@ -85,10 +79,9 @@ public class BTreePrimaryIndexSearchOperatorTest extends AbstractBTreeOperatorTe int[] lowKeyFields = { 0 }; int[] highKeyFields = { 1 }; - BTreeSearchOperatorDescriptor primaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, primaryRecDesc, - storageManager, lcManagerProvider, primarySplitProvider, primaryTypeTraits, primaryComparatorFactories, - primaryBloomFilterKeyFields, lowKeyFields, highKeyFields, true, true, primaryDataflowHelperFactory, false, - false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, new LinkedMetadataPageManagerFactory()); + BTreeSearchOperatorDescriptor primaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, + DataSetConstants.primaryRecDesc, lowKeyFields, highKeyFields, true, true, primaryHelperFactory, false, + false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, false); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, primaryBtreeSearchOp, NC1_ID); IFileSplitProvider outSplits = new ConstantFileSplitProvider(new FileSplit[] { createFile(nc1) }); @@ -103,12 +96,19 @@ public class BTreePrimaryIndexSearchOperatorTest extends AbstractBTreeOperatorTe } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory(int[] btreeFields, int[] filterFields) { - return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(); + public void cleanup() throws Exception { + destroyPrimaryIndex(); + } + + @Override + protected IResourceFactory createPrimaryResourceFactory() { + return new BTreeResourceFactory(storageManager, DataSetConstants.primaryTypeTraits, + DataSetConstants.primaryComparatorFactories, pageManagerFactory); } @Override - public void cleanup() throws Exception { - destroyPrimaryIndex(); + protected IResourceFactory createSecondaryResourceFactory() { + return new BTreeResourceFactory(storageManager, DataSetConstants.secondaryTypeTraits, + DataSetConstants.secondaryComparatorFactories, pageManagerFactory); } }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreePrimaryIndexStatsOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreePrimaryIndexStatsOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreePrimaryIndexStatsOperatorTest.java index b26071e..5cffd95 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreePrimaryIndexStatsOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreePrimaryIndexStatsOperatorTest.java @@ -27,16 +27,12 @@ import org.apache.hyracks.dataflow.std.connectors.OneToOneConnectorDescriptor; import org.apache.hyracks.dataflow.std.file.ConstantFileSplitProvider; import org.apache.hyracks.dataflow.std.file.IFileSplitProvider; import org.apache.hyracks.dataflow.std.file.PlainFileWriterOperatorDescriptor; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; +import org.apache.hyracks.storage.am.btree.dataflow.BTreeResourceFactory; import org.apache.hyracks.storage.am.common.dataflow.TreeIndexStatsOperatorDescriptor; -import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallbackFactory; +import org.apache.hyracks.storage.common.IResourceFactory; import org.junit.Before; import org.junit.Test; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryBloomFilterKeyFields; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryComparatorFactories; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryTypeTraits; - public class BTreePrimaryIndexStatsOperatorTest extends AbstractBTreeOperatorTest { @Override @@ -51,10 +47,8 @@ public class BTreePrimaryIndexStatsOperatorTest extends AbstractBTreeOperatorTes public void showPrimaryIndexStats() throws Exception { JobSpecification spec = new JobSpecification(); - TreeIndexStatsOperatorDescriptor primaryStatsOp = new TreeIndexStatsOperatorDescriptor(spec, storageManager, - lcManagerProvider, primarySplitProvider, primaryTypeTraits, primaryComparatorFactories, - primaryBloomFilterKeyFields, primaryDataflowHelperFactory, NoOpOperationCallbackFactory.INSTANCE, - pageManagerFactory); + TreeIndexStatsOperatorDescriptor primaryStatsOp = + new TreeIndexStatsOperatorDescriptor(spec, storageManager, primaryHelperFactory); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, primaryStatsOp, NC1_ID); IFileSplitProvider outSplits = new ConstantFileSplitProvider(new FileSplit[] { createFile(nc1) }); IOperatorDescriptor printer = new PlainFileWriterOperatorDescriptor(spec, outSplits, ","); @@ -66,12 +60,19 @@ public class BTreePrimaryIndexStatsOperatorTest extends AbstractBTreeOperatorTes } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory(int[] btreeFields, int[] filterFields) { - return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(); + public void cleanup() throws Exception { + destroyPrimaryIndex(); } @Override - public void cleanup() throws Exception { - destroyPrimaryIndex(); + protected IResourceFactory createPrimaryResourceFactory() { + return new BTreeResourceFactory(storageManager, DataSetConstants.primaryTypeTraits, + DataSetConstants.primaryComparatorFactories, pageManagerFactory); + } + + @Override + protected IResourceFactory createSecondaryResourceFactory() { + return new BTreeResourceFactory(storageManager, DataSetConstants.secondaryTypeTraits, + DataSetConstants.secondaryComparatorFactories, pageManagerFactory); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexInsertOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexInsertOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexInsertOperatorTest.java index 7e04d75..b2060b6 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexInsertOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexInsertOperatorTest.java @@ -34,15 +34,13 @@ import org.apache.hyracks.dataflow.std.file.ConstantFileSplitProvider; import org.apache.hyracks.dataflow.std.file.IFileSplitProvider; import org.apache.hyracks.dataflow.std.file.PlainFileWriterOperatorDescriptor; import org.apache.hyracks.dataflow.std.misc.ConstantTupleSourceOperatorDescriptor; +import org.apache.hyracks.storage.am.btree.dataflow.BTreeResourceFactory; import org.apache.hyracks.storage.am.btree.dataflow.BTreeSearchOperatorDescriptor; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; -import org.apache.hyracks.storage.am.common.freepage.LinkedMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallbackFactory; +import org.apache.hyracks.storage.common.IResourceFactory; import org.junit.Before; import org.junit.Test; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.*; - public class BTreeSecondaryIndexInsertOperatorTest extends AbstractBTreeOperatorTest { @Override @@ -62,7 +60,7 @@ public class BTreeSecondaryIndexInsertOperatorTest extends AbstractBTreeOperator // build tuple containing search keys (only use the first key as search // key) - ArrayTupleBuilder tb = new ArrayTupleBuilder(secondaryKeyFieldCount); + ArrayTupleBuilder tb = new ArrayTupleBuilder(DataSetConstants.secondaryKeyFieldCount); DataOutput dos = tb.getDataOutput(); tb.reset(); @@ -73,8 +71,8 @@ public class BTreeSecondaryIndexInsertOperatorTest extends AbstractBTreeOperator new UTF8StringSerializerDeserializer().serialize("2000-10-18", dos); tb.addFieldEndOffset(); - ISerializerDeserializer[] keyRecDescSers = { new UTF8StringSerializerDeserializer(), - new UTF8StringSerializerDeserializer() }; + ISerializerDeserializer[] keyRecDescSers = + { new UTF8StringSerializerDeserializer(), new UTF8StringSerializerDeserializer() }; RecordDescriptor keyRecDesc = new RecordDescriptor(keyRecDescSers); ConstantTupleSourceOperatorDescriptor keyProviderOp = new ConstantTupleSourceOperatorDescriptor(spec, @@ -86,10 +84,8 @@ public class BTreeSecondaryIndexInsertOperatorTest extends AbstractBTreeOperator // search secondary index BTreeSearchOperatorDescriptor secondaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, - secondaryRecDesc, storageManager, lcManagerProvider, secondarySplitProvider, secondaryTypeTraits, - secondaryComparatorFactories, secondaryBloomFilterKeyFields, secondaryLowKeyFields, - secondaryHighKeyFields, true, true, primaryDataflowHelperFactory, false, false, null, - NoOpOperationCallbackFactory.INSTANCE, null, null, new LinkedMetadataPageManagerFactory()); + DataSetConstants.secondaryRecDesc, secondaryLowKeyFields, secondaryHighKeyFields, true, true, + secondaryHelperFactory, false, false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, false); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, secondaryBtreeSearchOp, NC1_ID); @@ -99,11 +95,9 @@ public class BTreeSecondaryIndexInsertOperatorTest extends AbstractBTreeOperator int[] primaryHighKeyFields = { 1 }; // search primary index - BTreeSearchOperatorDescriptor primaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, primaryRecDesc, - storageManager, lcManagerProvider, primarySplitProvider, primaryTypeTraits, primaryComparatorFactories, - primaryBloomFilterKeyFields, primaryLowKeyFields, primaryHighKeyFields, true, true, - primaryDataflowHelperFactory, false, false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, - new LinkedMetadataPageManagerFactory()); + BTreeSearchOperatorDescriptor primaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, + DataSetConstants.primaryRecDesc, primaryLowKeyFields, primaryHighKeyFields, true, true, + primaryHelperFactory, false, false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, false); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, primaryBtreeSearchOp, NC1_ID); IFileSplitProvider outSplits = new ConstantFileSplitProvider(new FileSplit[] { createFile(nc1) }); @@ -119,13 +113,20 @@ public class BTreeSecondaryIndexInsertOperatorTest extends AbstractBTreeOperator } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory(int[] btreeFields, int[] filterFields) { - return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(); - } - - @Override public void cleanup() throws Exception { destroyPrimaryIndex(); destroySecondaryIndex(); } + + @Override + protected IResourceFactory createPrimaryResourceFactory() { + return new BTreeResourceFactory(storageManager, DataSetConstants.primaryTypeTraits, + DataSetConstants.primaryComparatorFactories, pageManagerFactory); + } + + @Override + protected IResourceFactory createSecondaryResourceFactory() { + return new BTreeResourceFactory(storageManager, DataSetConstants.secondaryTypeTraits, + DataSetConstants.secondaryComparatorFactories, pageManagerFactory); + } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexSearchOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexSearchOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexSearchOperatorTest.java index 322e4f9..e73a11e 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexSearchOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexSearchOperatorTest.java @@ -34,15 +34,13 @@ import org.apache.hyracks.dataflow.std.file.ConstantFileSplitProvider; import org.apache.hyracks.dataflow.std.file.IFileSplitProvider; import org.apache.hyracks.dataflow.std.file.PlainFileWriterOperatorDescriptor; import org.apache.hyracks.dataflow.std.misc.ConstantTupleSourceOperatorDescriptor; +import org.apache.hyracks.storage.am.btree.dataflow.BTreeResourceFactory; import org.apache.hyracks.storage.am.btree.dataflow.BTreeSearchOperatorDescriptor; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; -import org.apache.hyracks.storage.am.common.freepage.LinkedMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallbackFactory; +import org.apache.hyracks.storage.common.IResourceFactory; import org.junit.Before; import org.junit.Test; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.*; - public class BTreeSecondaryIndexSearchOperatorTest extends AbstractBTreeOperatorTest { @Override @@ -61,7 +59,7 @@ public class BTreeSecondaryIndexSearchOperatorTest extends AbstractBTreeOperator // build tuple containing search keys (only use the first key as search // key) - ArrayTupleBuilder tb = new ArrayTupleBuilder(secondaryKeyFieldCount); + ArrayTupleBuilder tb = new ArrayTupleBuilder(DataSetConstants.secondaryKeyFieldCount); DataOutput dos = tb.getDataOutput(); tb.reset(); @@ -72,8 +70,8 @@ public class BTreeSecondaryIndexSearchOperatorTest extends AbstractBTreeOperator new UTF8StringSerializerDeserializer().serialize("2000-10-18", dos); tb.addFieldEndOffset(); - ISerializerDeserializer[] keyRecDescSers = { new UTF8StringSerializerDeserializer(), - new UTF8StringSerializerDeserializer() }; + ISerializerDeserializer[] keyRecDescSers = + { new UTF8StringSerializerDeserializer(), new UTF8StringSerializerDeserializer() }; RecordDescriptor keyRecDesc = new RecordDescriptor(keyRecDescSers); ConstantTupleSourceOperatorDescriptor keyProviderOp = new ConstantTupleSourceOperatorDescriptor(spec, @@ -85,10 +83,8 @@ public class BTreeSecondaryIndexSearchOperatorTest extends AbstractBTreeOperator // search secondary index BTreeSearchOperatorDescriptor secondaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, - secondaryRecDesc, storageManager, lcManagerProvider, secondarySplitProvider, secondaryTypeTraits, - secondaryComparatorFactories, secondaryBloomFilterKeyFields, secondaryLowKeyFields, - secondaryHighKeyFields, true, true, primaryDataflowHelperFactory, false, false, null, - NoOpOperationCallbackFactory.INSTANCE, null, null, new LinkedMetadataPageManagerFactory()); + DataSetConstants.secondaryRecDesc, secondaryLowKeyFields, secondaryHighKeyFields, true, true, + secondaryHelperFactory, false, false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, false); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, secondaryBtreeSearchOp, NC1_ID); @@ -98,11 +94,9 @@ public class BTreeSecondaryIndexSearchOperatorTest extends AbstractBTreeOperator // coming from secondary index // search primary index - BTreeSearchOperatorDescriptor primaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, primaryRecDesc, - storageManager, lcManagerProvider, primarySplitProvider, primaryTypeTraits, primaryComparatorFactories, - primaryBloomFilterKeyFields, primaryLowKeyFields, primaryHighKeyFields, true, true, - primaryDataflowHelperFactory, false, false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, - new LinkedMetadataPageManagerFactory()); + BTreeSearchOperatorDescriptor primaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, + DataSetConstants.primaryRecDesc, primaryLowKeyFields, primaryHighKeyFields, true, true, + primaryHelperFactory, false, false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, false); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, primaryBtreeSearchOp, NC1_ID); IFileSplitProvider outSplits = new ConstantFileSplitProvider(new FileSplit[] { createFile(nc1) }); IOperatorDescriptor printer = new PlainFileWriterOperatorDescriptor(spec, outSplits, ","); @@ -115,13 +109,20 @@ public class BTreeSecondaryIndexSearchOperatorTest extends AbstractBTreeOperator } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory(int[] btreeFields, int[] filterFields) { - return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(); - } - - @Override public void cleanup() throws Exception { destroyPrimaryIndex(); destroySecondaryIndex(); } + + @Override + protected IResourceFactory createPrimaryResourceFactory() { + return new BTreeResourceFactory(storageManager, DataSetConstants.primaryTypeTraits, + DataSetConstants.primaryComparatorFactories, pageManagerFactory); + } + + @Override + protected IResourceFactory createSecondaryResourceFactory() { + return new BTreeResourceFactory(storageManager, DataSetConstants.secondaryTypeTraits, + DataSetConstants.secondaryComparatorFactories, pageManagerFactory); + } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexUpsertOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexUpsertOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexUpsertOperatorTest.java index 2de100b..a333dc4 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexUpsertOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/btree/BTreeSecondaryIndexUpsertOperatorTest.java @@ -33,15 +33,13 @@ import org.apache.hyracks.dataflow.std.file.ConstantFileSplitProvider; import org.apache.hyracks.dataflow.std.file.IFileSplitProvider; import org.apache.hyracks.dataflow.std.file.PlainFileWriterOperatorDescriptor; import org.apache.hyracks.dataflow.std.misc.ConstantTupleSourceOperatorDescriptor; +import org.apache.hyracks.storage.am.btree.dataflow.BTreeResourceFactory; import org.apache.hyracks.storage.am.btree.dataflow.BTreeSearchOperatorDescriptor; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; -import org.apache.hyracks.storage.am.common.freepage.LinkedMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallbackFactory; +import org.apache.hyracks.storage.common.IResourceFactory; import org.junit.Before; import org.junit.Test; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.*; - public class BTreeSecondaryIndexUpsertOperatorTest extends AbstractBTreeOperatorTest { @Override @@ -61,7 +59,7 @@ public class BTreeSecondaryIndexUpsertOperatorTest extends AbstractBTreeOperator // build tuple containing search keys (only use the first key as search // key) - ArrayTupleBuilder tb = new ArrayTupleBuilder(secondaryKeyFieldCount); + ArrayTupleBuilder tb = new ArrayTupleBuilder(DataSetConstants.secondaryKeyFieldCount); DataOutput dos = tb.getDataOutput(); tb.reset(); @@ -72,8 +70,8 @@ public class BTreeSecondaryIndexUpsertOperatorTest extends AbstractBTreeOperator new UTF8StringSerializerDeserializer().serialize("2000-10-18", dos); tb.addFieldEndOffset(); - ISerializerDeserializer[] keyRecDescSers = { new UTF8StringSerializerDeserializer(), - new UTF8StringSerializerDeserializer() }; + ISerializerDeserializer[] keyRecDescSers = + { new UTF8StringSerializerDeserializer(), new UTF8StringSerializerDeserializer() }; RecordDescriptor keyRecDesc = new RecordDescriptor(keyRecDescSers); ConstantTupleSourceOperatorDescriptor keyProviderOp = new ConstantTupleSourceOperatorDescriptor(spec, @@ -85,10 +83,8 @@ public class BTreeSecondaryIndexUpsertOperatorTest extends AbstractBTreeOperator // search secondary index BTreeSearchOperatorDescriptor secondaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, - secondaryRecDesc, storageManager, lcManagerProvider, secondarySplitProvider, secondaryTypeTraits, - secondaryComparatorFactories, secondaryBloomFilterKeyFields, secondaryLowKeyFields, - secondaryHighKeyFields, true, true, primaryDataflowHelperFactory, false, false, null, - NoOpOperationCallbackFactory.INSTANCE, null, null, new LinkedMetadataPageManagerFactory()); + DataSetConstants.secondaryRecDesc, secondaryLowKeyFields, secondaryHighKeyFields, true, true, + secondaryHelperFactory, false, false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, false); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, secondaryBtreeSearchOp, NC1_ID); @@ -98,11 +94,9 @@ public class BTreeSecondaryIndexUpsertOperatorTest extends AbstractBTreeOperator int[] primaryHighKeyFields = { 1 }; // search primary index - BTreeSearchOperatorDescriptor primaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, primaryRecDesc, - storageManager, lcManagerProvider, primarySplitProvider, primaryTypeTraits, primaryComparatorFactories, - primaryBloomFilterKeyFields, primaryLowKeyFields, primaryHighKeyFields, true, true, - primaryDataflowHelperFactory, false, false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, - new LinkedMetadataPageManagerFactory()); + BTreeSearchOperatorDescriptor primaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, + DataSetConstants.primaryRecDesc, primaryLowKeyFields, primaryHighKeyFields, true, true, + primaryHelperFactory, false, false, null, NoOpOperationCallbackFactory.INSTANCE, null, null, false); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, primaryBtreeSearchOp, NC1_ID); IFileSplitProvider outSplits = new ConstantFileSplitProvider(new FileSplit[] { createFile(nc1) }); @@ -118,13 +112,20 @@ public class BTreeSecondaryIndexUpsertOperatorTest extends AbstractBTreeOperator } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory(int[] btreeFields, int[] filterFields) { - return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(); - } - - @Override public void cleanup() throws Exception { destroyPrimaryIndex(); destroySecondaryIndex(); } + + @Override + protected IResourceFactory createPrimaryResourceFactory() { + return new BTreeResourceFactory(storageManager, DataSetConstants.primaryTypeTraits, + DataSetConstants.primaryComparatorFactories, pageManagerFactory); + } + + @Override + protected IResourceFactory createSecondaryResourceFactory() { + return new BTreeResourceFactory(storageManager, DataSetConstants.secondaryTypeTraits, + DataSetConstants.secondaryComparatorFactories, pageManagerFactory); + } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/common/ITreeIndexOperatorTestHelper.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/common/ITreeIndexOperatorTestHelper.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/common/ITreeIndexOperatorTestHelper.java index be9d981..5564d3d 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/common/ITreeIndexOperatorTestHelper.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/common/ITreeIndexOperatorTestHelper.java @@ -20,6 +20,7 @@ package org.apache.hyracks.tests.am.common; public interface ITreeIndexOperatorTestHelper { - public String getPrimaryIndexName(); - public String getSecondaryIndexName(); + String getPrimaryIndexName(); + + String getSecondaryIndexName(); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/common/LSMTreeOperatorTestHelper.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/common/LSMTreeOperatorTestHelper.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/common/LSMTreeOperatorTestHelper.java index b263068..dbb6b50 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/common/LSMTreeOperatorTestHelper.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/common/LSMTreeOperatorTestHelper.java @@ -19,20 +19,32 @@ package org.apache.hyracks.tests.am.common; +import java.util.Collections; +import java.util.Map; + import org.apache.hyracks.control.nc.io.IOManager; import org.apache.hyracks.storage.am.lsm.common.api.IVirtualBufferCacheProvider; +import org.apache.hyracks.storage.am.lsm.common.impls.ConstantMergePolicyFactory; import org.apache.hyracks.test.support.TestVirtualBufferCacheProvider; public class LSMTreeOperatorTestHelper extends TreeOperatorTestHelper { - protected static int DEFAULT_MEM_PAGE_SIZE = 32768; - protected static int DEFAULT_MEM_NUM_PAGES = 1000; - protected static double DEFAULT_BLOOM_FILTER_FALSE_POSITIVE_RATE = 0.01; + public static final int DEFAULT_MEM_PAGE_SIZE = 32768; + public static final int DEFAULT_MEM_NUM_PAGES = 1000; + public static final double DEFAULT_BLOOM_FILTER_FALSE_POSITIVE_RATE = 0.01; + public static final ConstantMergePolicyFactory MERGE_POLICY_FACTORY = new ConstantMergePolicyFactory(); + public static final Map<String, String> MERGE_POLICY_PROPERTIES = + Collections.singletonMap(ConstantMergePolicyFactory.NUM_COMPONENTS, "3"); + public static final boolean DURABLE = false; protected final IOManager ioManager; protected final IVirtualBufferCacheProvider virtualBufferCacheProvider; public LSMTreeOperatorTestHelper(IOManager ioManager) { this.ioManager = ioManager; - this.virtualBufferCacheProvider = new TestVirtualBufferCacheProvider(DEFAULT_MEM_PAGE_SIZE, - DEFAULT_MEM_NUM_PAGES); + this.virtualBufferCacheProvider = + new TestVirtualBufferCacheProvider(DEFAULT_MEM_PAGE_SIZE, DEFAULT_MEM_NUM_PAGES); + } + + public IVirtualBufferCacheProvider getVirtualBufferCacheProvider() { + return virtualBufferCacheProvider; } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeOperatorTestHelper.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeOperatorTestHelper.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeOperatorTestHelper.java index d7a2c18..91acea0 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeOperatorTestHelper.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeOperatorTestHelper.java @@ -19,40 +19,33 @@ package org.apache.hyracks.tests.am.lsm.btree; +import org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory; +import org.apache.hyracks.api.dataflow.value.ITypeTraits; import org.apache.hyracks.control.nc.io.IOManager; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; -import org.apache.hyracks.storage.am.lsm.btree.dataflow.LSMBTreeDataflowHelperFactory; -import org.apache.hyracks.storage.am.lsm.common.impls.ConstantMergePolicyFactory; -import org.apache.hyracks.storage.am.lsm.common.impls.NoOpIOOperationCallback; +import org.apache.hyracks.storage.am.common.api.IMetadataPageManagerFactory; +import org.apache.hyracks.storage.am.lsm.btree.dataflow.LSMBTreeLocalResourceFactory; +import org.apache.hyracks.storage.am.lsm.common.impls.NoOpIOOperationCallbackFactory; import org.apache.hyracks.storage.am.lsm.common.impls.SynchronousSchedulerProvider; import org.apache.hyracks.storage.am.lsm.common.impls.ThreadCountingOperationTrackerFactory; +import org.apache.hyracks.storage.common.IResourceFactory; +import org.apache.hyracks.storage.common.IStorageManager; import org.apache.hyracks.tests.am.common.LSMTreeOperatorTestHelper; -import java.util.HashMap; -import java.util.Map; - -import static org.apache.hyracks.tests.am.btree.DataSetConstants.filterCmpFactories; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.filterTypeTraits; - public class LSMBTreeOperatorTestHelper extends LSMTreeOperatorTestHelper { - private static final Map<String, String> MERGE_POLICY_PROPERTIES; - - static { - MERGE_POLICY_PROPERTIES = new HashMap<String, String>(); - MERGE_POLICY_PROPERTIES.put("num-components", "3"); - } - public LSMBTreeOperatorTestHelper(IOManager ioManager) { super(ioManager); } - public IIndexDataflowHelperFactory createDataFlowHelperFactory(int[] btreeFields, int[] filterFields) { - return new LSMBTreeDataflowHelperFactory(virtualBufferCacheProvider, new ConstantMergePolicyFactory(), - MERGE_POLICY_PROPERTIES, ThreadCountingOperationTrackerFactory.INSTANCE, - SynchronousSchedulerProvider.INSTANCE, NoOpIOOperationCallback.INSTANCE, - DEFAULT_BLOOM_FILTER_FALSE_POSITIVE_RATE, true, filterTypeTraits, filterCmpFactories, - btreeFields, filterFields, true); + public IResourceFactory getLocalResourceFactory(IStorageManager storageManager, ITypeTraits[] typeTraits, + IBinaryComparatorFactory[] comparatorFactories, IMetadataPageManagerFactory pageManagerFactory, + int[] bloomFilterKeyFields, int[] btreefields, int[] filterfields, ITypeTraits[] filtertypetraits, + IBinaryComparatorFactory[] filtercmpfactories) { + return new LSMBTreeLocalResourceFactory(storageManager, typeTraits, comparatorFactories, filtertypetraits, + filtercmpfactories, filterfields, ThreadCountingOperationTrackerFactory.INSTANCE, + NoOpIOOperationCallbackFactory.INSTANCE, pageManagerFactory, getVirtualBufferCacheProvider(), + SynchronousSchedulerProvider.INSTANCE, MERGE_POLICY_FACTORY, MERGE_POLICY_PROPERTIES, DURABLE, + bloomFilterKeyFields, LSMTreeOperatorTestHelper.DEFAULT_BLOOM_FILTER_FALSE_POSITIVE_RATE, true, + btreefields); } - } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreePrimaryIndexScanOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreePrimaryIndexScanOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreePrimaryIndexScanOperatorTest.java index e342a0c..f738bab 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreePrimaryIndexScanOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreePrimaryIndexScanOperatorTest.java @@ -20,9 +20,11 @@ package org.apache.hyracks.tests.am.lsm.btree; import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; +import org.apache.hyracks.storage.am.common.api.IMetadataPageManagerFactory; +import org.apache.hyracks.storage.common.IResourceFactory; import org.apache.hyracks.test.support.TestStorageManagerComponentHolder; import org.apache.hyracks.tests.am.btree.BTreePrimaryIndexScanOperatorTest; +import org.apache.hyracks.tests.am.btree.DataSetConstants; import org.apache.hyracks.tests.am.common.ITreeIndexOperatorTestHelper; public class LSMBTreePrimaryIndexScanOperatorTest extends BTreePrimaryIndexScanOperatorTest { @@ -33,8 +35,21 @@ public class LSMBTreePrimaryIndexScanOperatorTest extends BTreePrimaryIndexScanO } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory(int[] btreeFields, int[] filterFields) { - return ((LSMBTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(btreeFields, filterFields); + protected IResourceFactory createPrimaryResourceFactory() { + return ((LSMBTreeOperatorTestHelper) testHelper).getLocalResourceFactory(storageManager, + DataSetConstants.primaryTypeTraits, DataSetConstants.primaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory, DataSetConstants.primaryBloomFilterKeyFields, + DataSetConstants.primaryBtreeFields, DataSetConstants.primaryFilterFields, + DataSetConstants.filterTypeTraits, DataSetConstants.filterCmpFactories); + } + + @Override + protected IResourceFactory createSecondaryResourceFactory() { + return ((LSMBTreeOperatorTestHelper) testHelper).getLocalResourceFactory(storageManager, + DataSetConstants.secondaryTypeTraits, DataSetConstants.secondaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory, DataSetConstants.secondaryBloomFilterKeyFields, + DataSetConstants.secondaryBtreeFields, DataSetConstants.secondaryFilterFields, + DataSetConstants.filterTypeTraits, DataSetConstants.filterCmpFactories); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreePrimaryIndexSearchOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreePrimaryIndexSearchOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreePrimaryIndexSearchOperatorTest.java index fde9aac..9d3ba5c 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreePrimaryIndexSearchOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreePrimaryIndexSearchOperatorTest.java @@ -19,6 +19,8 @@ package org.apache.hyracks.tests.am.lsm.btree; +import java.io.DataOutput; + import org.apache.hyracks.api.constraints.PartitionConstraintHelper; import org.apache.hyracks.api.dataflow.IOperatorDescriptor; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; @@ -34,24 +36,16 @@ import org.apache.hyracks.dataflow.std.file.IFileSplitProvider; import org.apache.hyracks.dataflow.std.file.PlainFileWriterOperatorDescriptor; import org.apache.hyracks.dataflow.std.misc.ConstantTupleSourceOperatorDescriptor; import org.apache.hyracks.storage.am.btree.dataflow.BTreeSearchOperatorDescriptor; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; -import org.apache.hyracks.storage.am.common.freepage.LinkedMetadataPageManagerFactory; +import org.apache.hyracks.storage.am.common.api.IMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallbackFactory; +import org.apache.hyracks.storage.common.IResourceFactory; import org.apache.hyracks.test.support.TestStorageManagerComponentHolder; import org.apache.hyracks.tests.am.btree.BTreePrimaryIndexSearchOperatorTest; +import org.apache.hyracks.tests.am.btree.DataSetConstants; import org.apache.hyracks.tests.am.common.ITreeIndexOperatorTestHelper; import org.apache.hyracks.tests.util.NoopMissingWriterFactory; import org.junit.Test; -import java.io.DataOutput; - -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryAndFilterRecDesc; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryBloomFilterKeyFields; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryComparatorFactories; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryFilterFields; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryKeyFieldCount; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryTypeTraits; - public class LSMBTreePrimaryIndexSearchOperatorTest extends BTreePrimaryIndexSearchOperatorTest { @Override protected ITreeIndexOperatorTestHelper createTestHelper() throws HyracksDataException { @@ -59,8 +53,12 @@ public class LSMBTreePrimaryIndexSearchOperatorTest extends BTreePrimaryIndexSea } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory(int[] btreeFields, int[] filterFields) { - return ((LSMBTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(btreeFields, filterFields); + protected IResourceFactory createPrimaryResourceFactory() { + return ((LSMBTreeOperatorTestHelper) testHelper).getLocalResourceFactory(storageManager, + DataSetConstants.primaryTypeTraits, DataSetConstants.primaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory, DataSetConstants.primaryBloomFilterKeyFields, + DataSetConstants.primaryBtreeFields, DataSetConstants.primaryFilterFields, + DataSetConstants.filterTypeTraits, DataSetConstants.filterCmpFactories); } @Test @@ -69,7 +67,7 @@ public class LSMBTreePrimaryIndexSearchOperatorTest extends BTreePrimaryIndexSea // build tuple containing low and high search key // high key and low key - ArrayTupleBuilder tb = new ArrayTupleBuilder(primaryKeyFieldCount * 2); + ArrayTupleBuilder tb = new ArrayTupleBuilder(DataSetConstants.primaryKeyFieldCount * 2); DataOutput dos = tb.getDataOutput(); tb.reset(); @@ -84,21 +82,17 @@ public class LSMBTreePrimaryIndexSearchOperatorTest extends BTreePrimaryIndexSea { new UTF8StringSerializerDeserializer(), new UTF8StringSerializerDeserializer() }; RecordDescriptor keyRecDesc = new RecordDescriptor(keyRecDescSers); - ConstantTupleSourceOperatorDescriptor keyProviderOp = - new ConstantTupleSourceOperatorDescriptor(spec, keyRecDesc, tb.getFieldEndOffsets(), tb.getByteArray(), - tb.getSize()); + ConstantTupleSourceOperatorDescriptor keyProviderOp = new ConstantTupleSourceOperatorDescriptor(spec, + keyRecDesc, tb.getFieldEndOffsets(), tb.getByteArray(), tb.getSize()); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, keyProviderOp, NC1_ID); int[] lowKeyFields = { 0 }; int[] highKeyFields = { 1 }; BTreeSearchOperatorDescriptor primaryBtreeSearchOp = - new BTreeSearchOperatorDescriptor(spec, primaryAndFilterRecDesc, storageManager, lcManagerProvider, - primarySplitProvider, primaryTypeTraits, primaryComparatorFactories, - primaryBloomFilterKeyFields, lowKeyFields, highKeyFields, true, true, - primaryDataflowHelperFactory, - false, false, NoopMissingWriterFactory.INSTANCE, NoOpOperationCallbackFactory.INSTANCE, true, - null, null, new LinkedMetadataPageManagerFactory()); + new BTreeSearchOperatorDescriptor(spec, DataSetConstants.primaryAndFilterRecDesc, lowKeyFields, + highKeyFields, true, true, primaryHelperFactory, false, false, + NoopMissingWriterFactory.INSTANCE, NoOpOperationCallbackFactory.INSTANCE, null, null, true); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, primaryBtreeSearchOp, NC1_ID); IFileSplitProvider outSplits = new ConstantFileSplitProvider(new FileSplit[] { createFile(nc1) }); @@ -118,7 +112,8 @@ public class LSMBTreePrimaryIndexSearchOperatorTest extends BTreePrimaryIndexSea // build tuple containing low and high search key // high key and low key - ArrayTupleBuilder tb = new ArrayTupleBuilder((primaryKeyFieldCount + primaryFilterFields.length) * 2); + ArrayTupleBuilder tb = new ArrayTupleBuilder( + (DataSetConstants.primaryKeyFieldCount + DataSetConstants.primaryFilterFields.length) * 2); DataOutput dos = tb.getDataOutput(); tb.reset(); @@ -140,9 +135,8 @@ public class LSMBTreePrimaryIndexSearchOperatorTest extends BTreePrimaryIndexSea new UTF8StringSerializerDeserializer(), new UTF8StringSerializerDeserializer() }; RecordDescriptor keyRecDesc = new RecordDescriptor(keyRecDescSers); - ConstantTupleSourceOperatorDescriptor keyProviderOp = - new ConstantTupleSourceOperatorDescriptor(spec, keyRecDesc, tb.getFieldEndOffsets(), tb.getByteArray(), - tb.getSize()); + ConstantTupleSourceOperatorDescriptor keyProviderOp = new ConstantTupleSourceOperatorDescriptor(spec, + keyRecDesc, tb.getFieldEndOffsets(), tb.getByteArray(), tb.getSize()); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, keyProviderOp, NC1_ID); int[] lowKeyFields = { 0 }; @@ -150,13 +144,10 @@ public class LSMBTreePrimaryIndexSearchOperatorTest extends BTreePrimaryIndexSea int[] minFilterFields = { 2 }; int[] maxFilterFields = { 3 }; - BTreeSearchOperatorDescriptor primaryBtreeSearchOp = - new BTreeSearchOperatorDescriptor(spec, primaryAndFilterRecDesc, storageManager, lcManagerProvider, - primarySplitProvider, primaryTypeTraits, primaryComparatorFactories, - primaryBloomFilterKeyFields, lowKeyFields, highKeyFields, true, true, - primaryDataflowHelperFactory, - false, false, NoopMissingWriterFactory.INSTANCE, NoOpOperationCallbackFactory.INSTANCE, true, - minFilterFields, maxFilterFields, new LinkedMetadataPageManagerFactory()); + BTreeSearchOperatorDescriptor primaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, + DataSetConstants.primaryAndFilterRecDesc, lowKeyFields, highKeyFields, true, true, primaryHelperFactory, + false, false, NoopMissingWriterFactory.INSTANCE, NoOpOperationCallbackFactory.INSTANCE, minFilterFields, + maxFilterFields, true); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, primaryBtreeSearchOp, NC1_ID); IFileSplitProvider outSplits = new ConstantFileSplitProvider(new FileSplit[] { createFile(nc1) }); @@ -169,4 +160,13 @@ public class LSMBTreePrimaryIndexSearchOperatorTest extends BTreePrimaryIndexSea spec.addRoot(printer); runTest(spec); } + + @Override + protected IResourceFactory createSecondaryResourceFactory() { + return ((LSMBTreeOperatorTestHelper) testHelper).getLocalResourceFactory(storageManager, + DataSetConstants.secondaryTypeTraits, DataSetConstants.secondaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory, DataSetConstants.secondaryBloomFilterKeyFields, + DataSetConstants.secondaryBtreeFields, DataSetConstants.secondaryFilterFields, + DataSetConstants.filterTypeTraits, DataSetConstants.filterCmpFactories); + } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeSecondaryIndexInsertOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeSecondaryIndexInsertOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeSecondaryIndexInsertOperatorTest.java index c0eca6a..4763c34 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeSecondaryIndexInsertOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeSecondaryIndexInsertOperatorTest.java @@ -20,9 +20,11 @@ package org.apache.hyracks.tests.am.lsm.btree; import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; +import org.apache.hyracks.storage.am.common.api.IMetadataPageManagerFactory; +import org.apache.hyracks.storage.common.IResourceFactory; import org.apache.hyracks.test.support.TestStorageManagerComponentHolder; import org.apache.hyracks.tests.am.btree.BTreeSecondaryIndexInsertOperatorTest; +import org.apache.hyracks.tests.am.btree.DataSetConstants; import org.apache.hyracks.tests.am.common.ITreeIndexOperatorTestHelper; public class LSMBTreeSecondaryIndexInsertOperatorTest extends BTreeSecondaryIndexInsertOperatorTest { @@ -32,8 +34,21 @@ public class LSMBTreeSecondaryIndexInsertOperatorTest extends BTreeSecondaryInde } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory(int[] btreeFields, int[] filterFields) { - return ((LSMBTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(btreeFields, filterFields); + protected IResourceFactory createPrimaryResourceFactory() { + return ((LSMBTreeOperatorTestHelper) testHelper).getLocalResourceFactory(storageManager, + DataSetConstants.primaryTypeTraits, DataSetConstants.primaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory, DataSetConstants.primaryBloomFilterKeyFields, + DataSetConstants.primaryBtreeFields, DataSetConstants.primaryFilterFields, + DataSetConstants.filterTypeTraits, DataSetConstants.filterCmpFactories); + } + + @Override + protected IResourceFactory createSecondaryResourceFactory() { + return ((LSMBTreeOperatorTestHelper) testHelper).getLocalResourceFactory(storageManager, + DataSetConstants.secondaryTypeTraits, DataSetConstants.secondaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory, DataSetConstants.secondaryBloomFilterKeyFields, + DataSetConstants.secondaryBtreeFields, DataSetConstants.secondaryFilterFields, + DataSetConstants.filterTypeTraits, DataSetConstants.filterCmpFactories); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeSecondaryIndexSearchOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeSecondaryIndexSearchOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeSecondaryIndexSearchOperatorTest.java index 5306445..97a4746 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeSecondaryIndexSearchOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/btree/LSMBTreeSecondaryIndexSearchOperatorTest.java @@ -19,6 +19,8 @@ package org.apache.hyracks.tests.am.lsm.btree; +import java.io.DataOutput; + import org.apache.hyracks.api.constraints.PartitionConstraintHelper; import org.apache.hyracks.api.dataflow.IOperatorDescriptor; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; @@ -34,27 +36,16 @@ import org.apache.hyracks.dataflow.std.file.IFileSplitProvider; import org.apache.hyracks.dataflow.std.file.PlainFileWriterOperatorDescriptor; import org.apache.hyracks.dataflow.std.misc.ConstantTupleSourceOperatorDescriptor; import org.apache.hyracks.storage.am.btree.dataflow.BTreeSearchOperatorDescriptor; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; -import org.apache.hyracks.storage.am.common.freepage.LinkedMetadataPageManagerFactory; +import org.apache.hyracks.storage.am.common.api.IMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallbackFactory; +import org.apache.hyracks.storage.common.IResourceFactory; import org.apache.hyracks.test.support.TestStorageManagerComponentHolder; import org.apache.hyracks.tests.am.btree.BTreeSecondaryIndexSearchOperatorTest; +import org.apache.hyracks.tests.am.btree.DataSetConstants; import org.apache.hyracks.tests.am.common.ITreeIndexOperatorTestHelper; import org.apache.hyracks.tests.util.NoopMissingWriterFactory; import org.junit.Test; -import java.io.DataOutput; - -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryBloomFilterKeyFields; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryComparatorFactories; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryRecDesc; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.primaryTypeTraits; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.secondaryBloomFilterKeyFields; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.secondaryComparatorFactories; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.secondaryKeyFieldCount; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.secondaryTypeTraits; -import static org.apache.hyracks.tests.am.btree.DataSetConstants.secondaryWithFilterRecDesc; - public class LSMBTreeSecondaryIndexSearchOperatorTest extends BTreeSecondaryIndexSearchOperatorTest { @Override protected ITreeIndexOperatorTestHelper createTestHelper() throws HyracksDataException { @@ -62,8 +53,12 @@ public class LSMBTreeSecondaryIndexSearchOperatorTest extends BTreeSecondaryInde } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory(int[] btreeFields, int[] filterFields) { - return ((LSMBTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(btreeFields, filterFields); + protected IResourceFactory createPrimaryResourceFactory() { + return ((LSMBTreeOperatorTestHelper) testHelper).getLocalResourceFactory(storageManager, + DataSetConstants.primaryTypeTraits, DataSetConstants.primaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory, DataSetConstants.primaryBloomFilterKeyFields, + DataSetConstants.primaryBtreeFields, DataSetConstants.primaryFilterFields, + DataSetConstants.filterTypeTraits, DataSetConstants.filterCmpFactories); } @Test @@ -72,7 +67,7 @@ public class LSMBTreeSecondaryIndexSearchOperatorTest extends BTreeSecondaryInde // build tuple containing search keys (only use the first key as search // key) - ArrayTupleBuilder tb = new ArrayTupleBuilder(secondaryKeyFieldCount); + ArrayTupleBuilder tb = new ArrayTupleBuilder(DataSetConstants.secondaryKeyFieldCount); DataOutput dos = tb.getDataOutput(); tb.reset(); @@ -87,9 +82,8 @@ public class LSMBTreeSecondaryIndexSearchOperatorTest extends BTreeSecondaryInde { new UTF8StringSerializerDeserializer(), new UTF8StringSerializerDeserializer() }; RecordDescriptor keyRecDesc = new RecordDescriptor(keyRecDescSers); - ConstantTupleSourceOperatorDescriptor keyProviderOp = - new ConstantTupleSourceOperatorDescriptor(spec, keyRecDesc, tb.getFieldEndOffsets(), tb.getByteArray(), - tb.getSize()); + ConstantTupleSourceOperatorDescriptor keyProviderOp = new ConstantTupleSourceOperatorDescriptor(spec, + keyRecDesc, tb.getFieldEndOffsets(), tb.getByteArray(), tb.getSize()); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, keyProviderOp, NC1_ID); int[] secondaryLowKeyFields = { 0 }; @@ -97,12 +91,9 @@ public class LSMBTreeSecondaryIndexSearchOperatorTest extends BTreeSecondaryInde // search secondary index BTreeSearchOperatorDescriptor secondaryBtreeSearchOp = - new BTreeSearchOperatorDescriptor(spec, secondaryWithFilterRecDesc, storageManager, lcManagerProvider, - secondarySplitProvider, secondaryTypeTraits, secondaryComparatorFactories, - secondaryBloomFilterKeyFields, secondaryLowKeyFields, secondaryHighKeyFields, true, true, - primaryDataflowHelperFactory, false, false, NoopMissingWriterFactory.INSTANCE, - NoOpOperationCallbackFactory.INSTANCE, true, null, null, - new LinkedMetadataPageManagerFactory()); + new BTreeSearchOperatorDescriptor(spec, DataSetConstants.secondaryWithFilterRecDesc, + secondaryLowKeyFields, secondaryHighKeyFields, true, true, secondaryHelperFactory, false, false, + NoopMissingWriterFactory.INSTANCE, NoOpOperationCallbackFactory.INSTANCE, null, null, true); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, secondaryBtreeSearchOp, NC1_ID); @@ -112,12 +103,10 @@ public class LSMBTreeSecondaryIndexSearchOperatorTest extends BTreeSecondaryInde int[] maxFilterFields = { 3 }; // search primary index - BTreeSearchOperatorDescriptor primaryBtreeSearchOp = - new BTreeSearchOperatorDescriptor(spec, primaryRecDesc, storageManager, lcManagerProvider, - primarySplitProvider, primaryTypeTraits, primaryComparatorFactories, - primaryBloomFilterKeyFields, primaryLowKeyFields, primaryHighKeyFields, true, true, - primaryDataflowHelperFactory, false, false, null, NoOpOperationCallbackFactory.INSTANCE, - minFilterFields, maxFilterFields, new LinkedMetadataPageManagerFactory()); + BTreeSearchOperatorDescriptor primaryBtreeSearchOp = new BTreeSearchOperatorDescriptor(spec, + DataSetConstants.primaryRecDesc, primaryLowKeyFields, primaryHighKeyFields, true, true, + primaryHelperFactory, false, false, NoopMissingWriterFactory.INSTANCE, + NoOpOperationCallbackFactory.INSTANCE, minFilterFields, maxFilterFields, false); PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, primaryBtreeSearchOp, NC1_ID); IFileSplitProvider outSplits = new ConstantFileSplitProvider(new FileSplit[] { createFile(nc1) }); IOperatorDescriptor printer = new PlainFileWriterOperatorDescriptor(spec, outSplits, ","); @@ -129,4 +118,13 @@ public class LSMBTreeSecondaryIndexSearchOperatorTest extends BTreeSecondaryInde runTest(spec); } + @Override + protected IResourceFactory createSecondaryResourceFactory() { + return ((LSMBTreeOperatorTestHelper) testHelper).getLocalResourceFactory(storageManager, + DataSetConstants.secondaryTypeTraits, DataSetConstants.secondaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory, DataSetConstants.secondaryBloomFilterKeyFields, + DataSetConstants.secondaryBtreeFields, DataSetConstants.secondaryFilterFields, + DataSetConstants.filterTypeTraits, DataSetConstants.filterCmpFactories); + } + } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeOperatorTestHelper.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeOperatorTestHelper.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeOperatorTestHelper.java index 4eb3f4b..d9358bd 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeOperatorTestHelper.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeOperatorTestHelper.java @@ -19,44 +19,40 @@ package org.apache.hyracks.tests.am.lsm.rtree; -import java.util.HashMap; -import java.util.Map; - import org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory; import org.apache.hyracks.api.dataflow.value.ILinearizeComparatorFactory; import org.apache.hyracks.api.dataflow.value.ITypeTraits; import org.apache.hyracks.control.nc.io.IOManager; +import org.apache.hyracks.storage.am.common.api.IMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.api.IPrimitiveValueProviderFactory; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; -import org.apache.hyracks.storage.am.lsm.common.impls.ConstantMergePolicyFactory; -import org.apache.hyracks.storage.am.lsm.common.impls.NoOpIOOperationCallback; +import org.apache.hyracks.storage.am.lsm.common.impls.NoOpIOOperationCallbackFactory; import org.apache.hyracks.storage.am.lsm.common.impls.SynchronousSchedulerProvider; import org.apache.hyracks.storage.am.lsm.common.impls.ThreadCountingOperationTrackerFactory; -import org.apache.hyracks.storage.am.lsm.rtree.dataflow.LSMRTreeDataflowHelperFactory; +import org.apache.hyracks.storage.am.lsm.rtree.dataflow.LSMRTreeLocalResourceFactory; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; +import org.apache.hyracks.storage.common.IResourceFactory; +import org.apache.hyracks.storage.common.IStorageManager; import org.apache.hyracks.tests.am.common.LSMTreeOperatorTestHelper; public class LSMRTreeOperatorTestHelper extends LSMTreeOperatorTestHelper { - private static final Map<String, String> MERGE_POLICY_PROPERTIES; - static { - MERGE_POLICY_PROPERTIES = new HashMap<String, String>(); - MERGE_POLICY_PROPERTIES.put("num-components", "3"); - } + public static final boolean IS_POINT_MBR = false; + public static final boolean DURABLE = true; public LSMRTreeOperatorTestHelper(IOManager ioManager) { super(ioManager); } - public IIndexDataflowHelperFactory createDataFlowHelperFactory( + public IResourceFactory getSecondaryLocalResourceFactory(IStorageManager storageManager, IPrimitiveValueProviderFactory[] valueProviderFactories, RTreePolicyType rtreePolicyType, IBinaryComparatorFactory[] btreeComparatorFactories, ILinearizeComparatorFactory linearizerCmpFactory, - int[] btreeFields, int[] rtreeFields, ITypeTraits[] filterTypeTraits, IBinaryComparatorFactory[] filterCmpFactories, - int[] filterFields) { - return new LSMRTreeDataflowHelperFactory(valueProviderFactories, rtreePolicyType, btreeComparatorFactories, - virtualBufferCacheProvider, new ConstantMergePolicyFactory(), MERGE_POLICY_PROPERTIES, - ThreadCountingOperationTrackerFactory.INSTANCE, SynchronousSchedulerProvider.INSTANCE, - NoOpIOOperationCallback.INSTANCE, linearizerCmpFactory, DEFAULT_BLOOM_FILTER_FALSE_POSITIVE_RATE, rtreeFields, - btreeFields, filterTypeTraits, filterCmpFactories, filterFields, true, false); + int[] btreeFields, ITypeTraits[] secondaryTypeTraits, + IBinaryComparatorFactory[] secondaryComparatorFactories, IMetadataPageManagerFactory pageManagerFactory) { + return new LSMRTreeLocalResourceFactory(storageManager, secondaryTypeTraits, secondaryComparatorFactories, null, + null, null, ThreadCountingOperationTrackerFactory.INSTANCE, NoOpIOOperationCallbackFactory.INSTANCE, + pageManagerFactory, getVirtualBufferCacheProvider(), SynchronousSchedulerProvider.INSTANCE, + MERGE_POLICY_FACTORY, MERGE_POLICY_PROPERTIES, DURABLE, btreeComparatorFactories, + valueProviderFactories, rtreePolicyType, linearizerCmpFactory, null, btreeFields, IS_POINT_MBR, + DEFAULT_BLOOM_FILTER_FALSE_POSITIVE_RATE); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeSecondaryIndexInsertOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeSecondaryIndexInsertOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeSecondaryIndexInsertOperatorTest.java index 0f03ec8..f4984d3 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeSecondaryIndexInsertOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeSecondaryIndexInsertOperatorTest.java @@ -23,9 +23,10 @@ import org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory; import org.apache.hyracks.api.dataflow.value.ILinearizeComparatorFactory; import org.apache.hyracks.api.dataflow.value.ITypeTraits; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.storage.am.common.api.IMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.api.IPrimitiveValueProviderFactory; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; +import org.apache.hyracks.storage.common.IResourceFactory; import org.apache.hyracks.test.support.TestStorageManagerComponentHolder; import org.apache.hyracks.tests.am.common.ITreeIndexOperatorTestHelper; import org.apache.hyracks.tests.am.rtree.RTreeSecondaryIndexInsertOperatorTest; @@ -42,13 +43,13 @@ public class LSMRTreeSecondaryIndexInsertOperatorTest extends RTreeSecondaryInde } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory( + protected IResourceFactory createSecondaryResourceFactory( IPrimitiveValueProviderFactory[] secondaryValueProviderFactories, RTreePolicyType rtreePolicyType, IBinaryComparatorFactory[] btreeComparatorFactories, ILinearizeComparatorFactory linearizerCmpFactory, - int[] btreeFields, int[] rtreeFields, ITypeTraits[] filterTypeTraits, IBinaryComparatorFactory[] filterCmpFactories, - int[] filterFields) { - return ((LSMRTreeOperatorTestHelper) testHelper) - .createDataFlowHelperFactory(secondaryValueProviderFactories, rtreePolicyType, btreeComparatorFactories, - linearizerCmpFactory, btreeFields, rtreeFields, filterTypeTraits, filterCmpFactories, filterFields); + int[] btreeFields) { + return ((LSMRTreeOperatorTestHelper) testHelper).getSecondaryLocalResourceFactory(storageManager, + secondaryValueProviderFactories, rtreePolicyType, btreeComparatorFactories, linearizerCmpFactory, + btreeFields, secondaryTypeTraits, secondaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeSecondaryIndexSearchOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeSecondaryIndexSearchOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeSecondaryIndexSearchOperatorTest.java index e9d4605..3945013 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeSecondaryIndexSearchOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeSecondaryIndexSearchOperatorTest.java @@ -23,9 +23,10 @@ import org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory; import org.apache.hyracks.api.dataflow.value.ILinearizeComparatorFactory; import org.apache.hyracks.api.dataflow.value.ITypeTraits; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.storage.am.common.api.IMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.api.IPrimitiveValueProviderFactory; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; +import org.apache.hyracks.storage.common.IResourceFactory; import org.apache.hyracks.test.support.TestStorageManagerComponentHolder; import org.apache.hyracks.tests.am.common.ITreeIndexOperatorTestHelper; import org.apache.hyracks.tests.am.rtree.RTreeSecondaryIndexSearchOperatorTest; @@ -41,13 +42,13 @@ public class LSMRTreeSecondaryIndexSearchOperatorTest extends RTreeSecondaryInde } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory( + protected IResourceFactory createSecondaryResourceFactory( IPrimitiveValueProviderFactory[] secondaryValueProviderFactories, RTreePolicyType rtreePolicyType, IBinaryComparatorFactory[] btreeComparatorFactories, ILinearizeComparatorFactory linearizerCmpFactory, - int[] btreeFields, int[] rtreeFields, ITypeTraits[] filterTypeTraits, IBinaryComparatorFactory[] filterCmpFactories, - int[] filterFields) { - return ((LSMRTreeOperatorTestHelper) testHelper) - .createDataFlowHelperFactory(secondaryValueProviderFactories, rtreePolicyType, btreeComparatorFactories, - linearizerCmpFactory, btreeFields, rtreeFields, filterTypeTraits, filterCmpFactories, filterFields); + int[] btreeFields) { + return ((LSMRTreeOperatorTestHelper) testHelper).getSecondaryLocalResourceFactory(storageManager, + secondaryValueProviderFactories, rtreePolicyType, btreeComparatorFactories, linearizerCmpFactory, + btreeFields, secondaryTypeTraits, secondaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeWithAntiMatterTuplesOperatorTestHelper.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeWithAntiMatterTuplesOperatorTestHelper.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeWithAntiMatterTuplesOperatorTestHelper.java index 752cfd9..d230f38 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeWithAntiMatterTuplesOperatorTestHelper.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeWithAntiMatterTuplesOperatorTestHelper.java @@ -19,45 +19,41 @@ package org.apache.hyracks.tests.am.lsm.rtree; -import java.util.HashMap; -import java.util.Map; - import org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory; import org.apache.hyracks.api.dataflow.value.ILinearizeComparatorFactory; import org.apache.hyracks.api.dataflow.value.ITypeTraits; import org.apache.hyracks.control.nc.io.IOManager; +import org.apache.hyracks.storage.am.common.api.IMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.api.IPrimitiveValueProviderFactory; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; -import org.apache.hyracks.storage.am.lsm.common.impls.ConstantMergePolicyFactory; -import org.apache.hyracks.storage.am.lsm.common.impls.NoOpIOOperationCallback; +import org.apache.hyracks.storage.am.lsm.common.impls.NoOpIOOperationCallbackFactory; import org.apache.hyracks.storage.am.lsm.common.impls.SynchronousSchedulerProvider; import org.apache.hyracks.storage.am.lsm.common.impls.ThreadCountingOperationTrackerFactory; -import org.apache.hyracks.storage.am.lsm.rtree.dataflow.LSMRTreeWithAntiMatterTuplesDataflowHelperFactory; +import org.apache.hyracks.storage.am.lsm.rtree.dataflow.LSMRTreeWithAntiMatterLocalResourceFactory; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; +import org.apache.hyracks.storage.common.IResourceFactory; +import org.apache.hyracks.storage.common.IStorageManager; import org.apache.hyracks.tests.am.common.LSMTreeOperatorTestHelper; public class LSMRTreeWithAntiMatterTuplesOperatorTestHelper extends LSMTreeOperatorTestHelper { - private static final Map<String, String> MERGE_POLICY_PROPERTIES; + public static final boolean IS_POINT_MBR = false; + public static final boolean DURABLE = true; - static { - MERGE_POLICY_PROPERTIES = new HashMap<String, String>(); - MERGE_POLICY_PROPERTIES.put("num-components", "3"); - } public LSMRTreeWithAntiMatterTuplesOperatorTestHelper(IOManager ioManager) { super(ioManager); } - public IIndexDataflowHelperFactory createDataFlowHelperFactory( + public IResourceFactory getSecondaryLocalResourceFactory(IStorageManager storageManager, IPrimitiveValueProviderFactory[] valueProviderFactories, RTreePolicyType rtreePolicyType, IBinaryComparatorFactory[] btreeComparatorFactories, ILinearizeComparatorFactory linearizerCmpFactory, - int[] rtreeFields, ITypeTraits[] filterTypeTraits, IBinaryComparatorFactory[] filterCmpFactories, - int[] filterFields) { - return new LSMRTreeWithAntiMatterTuplesDataflowHelperFactory(valueProviderFactories, rtreePolicyType, - btreeComparatorFactories, virtualBufferCacheProvider, new ConstantMergePolicyFactory(), - MERGE_POLICY_PROPERTIES, ThreadCountingOperationTrackerFactory.INSTANCE, - SynchronousSchedulerProvider.INSTANCE, NoOpIOOperationCallback.INSTANCE, linearizerCmpFactory, - rtreeFields, filterTypeTraits, filterCmpFactories, filterFields, true, false); + int[] btreeFields, ITypeTraits[] secondaryTypeTraits, + IBinaryComparatorFactory[] secondaryComparatorFactories, IMetadataPageManagerFactory pageManagerFactory) { + return new LSMRTreeWithAntiMatterLocalResourceFactory(storageManager, secondaryTypeTraits, + secondaryComparatorFactories, null, null, null, ThreadCountingOperationTrackerFactory.INSTANCE, + NoOpIOOperationCallbackFactory.INSTANCE, pageManagerFactory, getVirtualBufferCacheProvider(), + SynchronousSchedulerProvider.INSTANCE, MERGE_POLICY_FACTORY, MERGE_POLICY_PROPERTIES, DURABLE, + valueProviderFactories, rtreePolicyType, linearizerCmpFactory, btreeFields, IS_POINT_MBR, + btreeComparatorFactories); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeWithAntiMatterTuplesSecondaryIndexInsertOperatorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeWithAntiMatterTuplesSecondaryIndexInsertOperatorTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeWithAntiMatterTuplesSecondaryIndexInsertOperatorTest.java index 668c4ef..4397290 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeWithAntiMatterTuplesSecondaryIndexInsertOperatorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/lsm/rtree/LSMRTreeWithAntiMatterTuplesSecondaryIndexInsertOperatorTest.java @@ -23,9 +23,10 @@ import org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory; import org.apache.hyracks.api.dataflow.value.ILinearizeComparatorFactory; import org.apache.hyracks.api.dataflow.value.ITypeTraits; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.storage.am.common.api.IMetadataPageManagerFactory; import org.apache.hyracks.storage.am.common.api.IPrimitiveValueProviderFactory; -import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; +import org.apache.hyracks.storage.common.IResourceFactory; import org.apache.hyracks.test.support.TestStorageManagerComponentHolder; import org.apache.hyracks.tests.am.common.ITreeIndexOperatorTestHelper; import org.apache.hyracks.tests.am.rtree.RTreeSecondaryIndexInsertOperatorTest; @@ -42,13 +43,13 @@ public class LSMRTreeWithAntiMatterTuplesSecondaryIndexInsertOperatorTest } @Override - protected IIndexDataflowHelperFactory createDataFlowHelperFactory( + protected IResourceFactory createSecondaryResourceFactory( IPrimitiveValueProviderFactory[] secondaryValueProviderFactories, RTreePolicyType rtreePolicyType, IBinaryComparatorFactory[] btreeComparatorFactories, ILinearizeComparatorFactory linearizerCmpFactory, - int[] btreeFields, int[] rtreeFields, ITypeTraits[] filterTypeTraits, - IBinaryComparatorFactory[] filterCmpFactories, int[] filterFields) { - return ((LSMRTreeWithAntiMatterTuplesOperatorTestHelper) testHelper) - .createDataFlowHelperFactory(secondaryValueProviderFactories, rtreePolicyType, btreeComparatorFactories, - linearizerCmpFactory, rtreeFields, filterTypeTraits, filterCmpFactories, filterFields); + int[] btreeFields) { + return ((LSMRTreeWithAntiMatterTuplesOperatorTestHelper) testHelper).getSecondaryLocalResourceFactory( + storageManager, secondaryValueProviderFactories, rtreePolicyType, btreeComparatorFactories, + linearizerCmpFactory, btreeFields, secondaryTypeTraits, secondaryComparatorFactories, + (IMetadataPageManagerFactory) pageManagerFactory); } }