http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/ExternalRTreeDataflowHelperFactory.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/ExternalRTreeDataflowHelperFactory.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/ExternalRTreeDataflowHelperFactory.java index 70e0580..8eab50e 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/ExternalRTreeDataflowHelperFactory.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/ExternalRTreeDataflowHelperFactory.java @@ -30,7 +30,7 @@ import org.apache.hyracks.storage.am.common.dataflow.IndexDataflowHelper; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallbackFactory; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationSchedulerProvider; import org.apache.hyracks.storage.am.lsm.common.api.ILSMMergePolicyFactory; -import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTrackerProvider; +import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTrackerFactory; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; public class ExternalRTreeDataflowHelperFactory extends LSMRTreeDataflowHelperFactory { @@ -41,7 +41,7 @@ public class ExternalRTreeDataflowHelperFactory extends LSMRTreeDataflowHelperFa public ExternalRTreeDataflowHelperFactory(IPrimitiveValueProviderFactory[] valueProviderFactories, RTreePolicyType rtreePolicyType, IBinaryComparatorFactory[] btreeComparatorFactories, ILSMMergePolicyFactory mergePolicyFactory, Map<String, String> mergePolicyProperties, - ILSMOperationTrackerProvider opTrackerFactory, ILSMIOOperationSchedulerProvider ioSchedulerProvider, + ILSMOperationTrackerFactory opTrackerFactory, ILSMIOOperationSchedulerProvider ioSchedulerProvider, ILSMIOOperationCallbackFactory ioOpCallbackFactory, ILinearizeComparatorFactory linearizeCmpFactory, double bloomFilterFalsePositiveRate, int[] btreeFields, int version, boolean durable, boolean isPointMBR) { super(valueProviderFactories, rtreePolicyType, btreeComparatorFactories, null, mergePolicyFactory,
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeDataflowHelper.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeDataflowHelper.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeDataflowHelper.java index c949737..3f69016 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeDataflowHelper.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeDataflowHelper.java @@ -36,7 +36,7 @@ import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallbackFacto import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationScheduler; import org.apache.hyracks.storage.am.lsm.common.api.ILSMMergePolicy; import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTracker; -import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTrackerProvider; +import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTrackerFactory; import org.apache.hyracks.storage.am.lsm.common.api.IVirtualBufferCache; import org.apache.hyracks.storage.am.lsm.rtree.utils.LSMRTreeUtils; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; @@ -49,7 +49,7 @@ public class LSMRTreeDataflowHelper extends AbstractLSMRTreeDataflowHelper { public LSMRTreeDataflowHelper(IIndexOperatorDescriptor opDesc, IHyracksTaskContext ctx, int partition, List<IVirtualBufferCache> virtualBufferCaches, IBinaryComparatorFactory[] btreeComparatorFactories, IPrimitiveValueProviderFactory[] valueProviderFactories, RTreePolicyType rtreePolicyType, - ILSMMergePolicy mergePolicy, ILSMOperationTrackerProvider opTrackerFactory, + ILSMMergePolicy mergePolicy, ILSMOperationTrackerFactory opTrackerFactory, ILSMIOOperationScheduler ioScheduler, ILSMIOOperationCallbackFactory ioOpCallbackFactory, ILinearizeComparatorFactory linearizeCmpFactory, int[] rtreeFields, int[] btreeFields, ITypeTraits[] filterTypeTraits, IBinaryComparatorFactory[] filterCmpFactories, int[] filterFields, @@ -64,7 +64,7 @@ public class LSMRTreeDataflowHelper extends AbstractLSMRTreeDataflowHelper { List<IVirtualBufferCache> virtualBufferCaches, double bloomFilterFalsePositiveRate, IBinaryComparatorFactory[] btreeComparatorFactories, IPrimitiveValueProviderFactory[] valueProviderFactories, RTreePolicyType rtreePolicyType, - ILSMMergePolicy mergePolicy, ILSMOperationTrackerProvider opTrackerFactory, + ILSMMergePolicy mergePolicy, ILSMOperationTrackerFactory opTrackerFactory, ILSMIOOperationScheduler ioScheduler, ILSMIOOperationCallbackFactory ioOpCallbackFactory, ILinearizeComparatorFactory linearizeCmpFactory, int[] rtreeFields, int[] btreeFields, ITypeTraits[] filterTypeTraits, IBinaryComparatorFactory[] filterCmpFactories, int[] filterFields, http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeDataflowHelperFactory.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeDataflowHelperFactory.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeDataflowHelperFactory.java index ed0bd2e..93d9b54 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeDataflowHelperFactory.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeDataflowHelperFactory.java @@ -32,7 +32,7 @@ import org.apache.hyracks.storage.am.common.dataflow.IndexDataflowHelper; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallbackFactory; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationSchedulerProvider; import org.apache.hyracks.storage.am.lsm.common.api.ILSMMergePolicyFactory; -import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTrackerProvider; +import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTrackerFactory; import org.apache.hyracks.storage.am.lsm.common.api.IVirtualBufferCacheProvider; import org.apache.hyracks.storage.am.lsm.common.dataflow.AbstractLSMIndexDataflowHelperFactory; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; @@ -52,7 +52,7 @@ public class LSMRTreeDataflowHelperFactory extends AbstractLSMIndexDataflowHelpe public LSMRTreeDataflowHelperFactory(IPrimitiveValueProviderFactory[] valueProviderFactories, RTreePolicyType rtreePolicyType, IBinaryComparatorFactory[] btreeComparatorFactories, IVirtualBufferCacheProvider virtualBufferCacheProvider, ILSMMergePolicyFactory mergePolicyFactory, - Map<String, String> mergePolicyProperties, ILSMOperationTrackerProvider opTrackerFactory, + Map<String, String> mergePolicyProperties, ILSMOperationTrackerFactory opTrackerFactory, ILSMIOOperationSchedulerProvider ioSchedulerProvider, ILSMIOOperationCallbackFactory ioOpCallbackFactory, ILinearizeComparatorFactory linearizeCmpFactory, double bloomFilterFalsePositiveRate, int[] rtreeFields, int[] btreeFields, ITypeTraits[] filterTypeTraits, IBinaryComparatorFactory[] filterCmpFactories, http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeWithAntiMatterTuplesDataflowHelper.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeWithAntiMatterTuplesDataflowHelper.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeWithAntiMatterTuplesDataflowHelper.java index 116cb51..8a807c2 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeWithAntiMatterTuplesDataflowHelper.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeWithAntiMatterTuplesDataflowHelper.java @@ -36,7 +36,7 @@ import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallbackFacto import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationScheduler; import org.apache.hyracks.storage.am.lsm.common.api.ILSMMergePolicy; import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTracker; -import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTrackerProvider; +import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTrackerFactory; import org.apache.hyracks.storage.am.lsm.common.api.IVirtualBufferCache; import org.apache.hyracks.storage.am.lsm.rtree.utils.LSMRTreeUtils; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; @@ -48,7 +48,7 @@ public class LSMRTreeWithAntiMatterTuplesDataflowHelper extends AbstractLSMRTree int partition, List<IVirtualBufferCache> virtualBufferCaches, IBinaryComparatorFactory[] btreeComparatorFactories, IPrimitiveValueProviderFactory[] valueProviderFactories, RTreePolicyType rtreePolicyType, - ILSMMergePolicy mergePolicy, ILSMOperationTrackerProvider opTrackerFactory, + ILSMMergePolicy mergePolicy, ILSMOperationTrackerFactory opTrackerFactory, ILSMIOOperationScheduler ioScheduler, ILSMIOOperationCallbackFactory ioOpCallbackFactory, ILinearizeComparatorFactory linearizeCmpFactory, int[] rtreeFields, ITypeTraits[] filterTypeTraits, IBinaryComparatorFactory[] filterCmpFactories, int[] filterFields, boolean durable, boolean isPointMBR) http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeWithAntiMatterTuplesDataflowHelperFactory.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeWithAntiMatterTuplesDataflowHelperFactory.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeWithAntiMatterTuplesDataflowHelperFactory.java index 725c69a..297d82d 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeWithAntiMatterTuplesDataflowHelperFactory.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/dataflow/LSMRTreeWithAntiMatterTuplesDataflowHelperFactory.java @@ -32,7 +32,7 @@ import org.apache.hyracks.storage.am.common.dataflow.IndexDataflowHelper; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallbackFactory; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationSchedulerProvider; import org.apache.hyracks.storage.am.lsm.common.api.ILSMMergePolicyFactory; -import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTrackerProvider; +import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTrackerFactory; import org.apache.hyracks.storage.am.lsm.common.api.IVirtualBufferCacheProvider; import org.apache.hyracks.storage.am.lsm.common.dataflow.AbstractLSMIndexDataflowHelperFactory; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; @@ -51,7 +51,7 @@ public class LSMRTreeWithAntiMatterTuplesDataflowHelperFactory extends AbstractL public LSMRTreeWithAntiMatterTuplesDataflowHelperFactory(IPrimitiveValueProviderFactory[] valueProviderFactories, RTreePolicyType rtreePolicyType, IBinaryComparatorFactory[] btreeComparatorFactories, IVirtualBufferCacheProvider virtualBufferCacheProvider, ILSMMergePolicyFactory mergePolicyFactory, - Map<String, String> mergePolicyProperties, ILSMOperationTrackerProvider opTrackerFactory, + Map<String, String> mergePolicyProperties, ILSMOperationTrackerFactory opTrackerFactory, ILSMIOOperationSchedulerProvider ioSchedulerProvider, ILSMIOOperationCallbackFactory ioOpCallbackFactory, ILinearizeComparatorFactory linearizeCmpFactory, int[] rtreeFields, ITypeTraits[] filterTypeTraits, IBinaryComparatorFactory[] filterCmpFactories, int[] filterFields, boolean durable, boolean isPointMBR) { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/dataflow/RTreeSearchOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/dataflow/RTreeSearchOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/dataflow/RTreeSearchOperatorDescriptor.java index 32c85e6..fad00ca 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/dataflow/RTreeSearchOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/dataflow/RTreeSearchOperatorDescriptor.java @@ -35,7 +35,7 @@ import org.apache.hyracks.storage.am.common.api.ISearchOperationCallbackFactory; import org.apache.hyracks.storage.am.common.dataflow.AbstractTreeIndexOperatorDescriptor; import org.apache.hyracks.storage.am.common.dataflow.IIndexDataflowHelperFactory; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallbackFactory; -import org.apache.hyracks.storage.common.IStorageManagerInterface; +import org.apache.hyracks.storage.common.IStorageManager; import org.apache.hyracks.storage.common.file.NoOpLocalResourceFactoryProvider; public class RTreeSearchOperatorDescriptor extends AbstractTreeIndexOperatorDescriptor { @@ -47,7 +47,7 @@ public class RTreeSearchOperatorDescriptor extends AbstractTreeIndexOperatorDesc protected final int[] maxFilterFieldIndexes; public RTreeSearchOperatorDescriptor(IOperatorDescriptorRegistry spec, RecordDescriptor recDesc, - IStorageManagerInterface storageManager, IIndexLifecycleManagerProvider lifecycleManagerProvider, + IStorageManager storageManager, IIndexLifecycleManagerProvider lifecycleManagerProvider, IFileSplitProvider fileSplitProvider, ITypeTraits[] typeTraits, IBinaryComparatorFactory[] comparatorFactories, int[] keyFields, IIndexDataflowHelperFactory dataflowHelperFactory, boolean retainInput, boolean retainNull, http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IStorageManager.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IStorageManager.java b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IStorageManager.java new file mode 100644 index 0000000..24cf557 --- /dev/null +++ b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IStorageManager.java @@ -0,0 +1,60 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.hyracks.storage.common; + +import java.io.Serializable; + +import org.apache.hyracks.api.context.IHyracksTaskContext; +import org.apache.hyracks.storage.common.buffercache.IBufferCache; +import org.apache.hyracks.storage.common.file.IFileMapProvider; +import org.apache.hyracks.storage.common.file.ILocalResourceRepository; +import org.apache.hyracks.storage.common.file.IResourceIdFactory; + +/** + * Provides storage components during hyracks tasks execution + */ +public interface IStorageManager extends Serializable { + /** + * @param ctx + * hyracks task context + * @return the disk buffer cache {@link org.apache.hyracks.storage.common.buffercache.IBufferCache} + */ + IBufferCache getBufferCache(IHyracksTaskContext ctx); + + /** + * @param ctx + * the task context + * @return the file map provider {@link org.apache.hyracks.storage.common.file.IFileMapProvider} + */ + IFileMapProvider getFileMapProvider(IHyracksTaskContext ctx); + + /** + * @param ctx + * the task context + * @return the local resource repository {@link org.apache.hyracks.storage.common.file.ILocalResourceRepository} + */ + ILocalResourceRepository getLocalResourceRepository(IHyracksTaskContext ctx); + + /** + * @param ctx + * the task context + * @return the resource id factory {@link org.apache.hyracks.storage.common.file.IResourceIdFactory} + */ + IResourceIdFactory getResourceIdFactory(IHyracksTaskContext ctx); +} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IStorageManagerInterface.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IStorageManagerInterface.java b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IStorageManagerInterface.java deleted file mode 100644 index c1bdeab..0000000 --- a/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IStorageManagerInterface.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.hyracks.storage.common; - -import java.io.Serializable; - -import org.apache.hyracks.api.context.IHyracksTaskContext; -import org.apache.hyracks.storage.common.buffercache.IBufferCache; -import org.apache.hyracks.storage.common.file.IFileMapProvider; -import org.apache.hyracks.storage.common.file.ILocalResourceRepository; -import org.apache.hyracks.storage.common.file.IResourceIdFactory; - -public interface IStorageManagerInterface extends Serializable { - public IBufferCache getBufferCache(IHyracksTaskContext ctx); - - public IFileMapProvider getFileMapProvider(IHyracksTaskContext ctx); - - public ILocalResourceRepository getLocalResourceRepository(IHyracksTaskContext ctx); - - public IResourceIdFactory getResourceIdFactory(IHyracksTaskContext ctx); -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java index a9b2e1f..6da9334 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java @@ -22,7 +22,7 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.common.api.IIndexAccessor; import org.apache.hyracks.storage.am.common.api.IModificationOperationCallback; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractOperationCallbackTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractOperationCallbackTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractOperationCallbackTest.java index 2fb52c9..831dafa 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractOperationCallbackTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractOperationCallbackTest.java @@ -20,7 +20,7 @@ package org.apache.hyracks.storage.am.btree; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.SerdeUtils; +import org.apache.hyracks.dataflow.common.utils.SerdeUtils; import org.apache.hyracks.storage.am.common.api.IIndex; import org.apache.hyracks.storage.am.common.ophelpers.MultiComparator; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java index 20a2c0f..2bb357a 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java @@ -30,7 +30,7 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.btree.impls.RangePredicate; import org.apache.hyracks.storage.am.common.api.IIndexAccessor; import org.apache.hyracks.storage.am.common.api.IIndexCursor; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java index 6225697..8988605 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java @@ -37,7 +37,7 @@ import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; import org.apache.hyracks.dataflow.common.data.marshalling.UTF8StringSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.btree.impls.RangePredicate; import org.apache.hyracks.storage.am.btree.util.BTreeUtils; import org.apache.hyracks.storage.am.common.TestOperationCallback; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexMultiThreadTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexMultiThreadTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexMultiThreadTest.java index 95c3448..b9c0286 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexMultiThreadTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexMultiThreadTest.java @@ -29,7 +29,7 @@ import org.apache.hyracks.api.dataflow.value.ITypeTraits; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; import org.apache.hyracks.dataflow.common.data.marshalling.UTF8StringSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.SerdeUtils; +import org.apache.hyracks.dataflow.common.utils.SerdeUtils; import org.apache.hyracks.storage.am.common.IIndexTestWorkerFactory; import org.apache.hyracks.storage.am.common.IndexMultiThreadTestDriver; import org.apache.hyracks.storage.am.common.TestWorkloadConf; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestDriver.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestDriver.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestDriver.java index b1e8a8c..3aab8ef 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestDriver.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestDriver.java @@ -29,7 +29,7 @@ import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; import org.apache.hyracks.dataflow.common.data.marshalling.UTF8StringSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.btree.frames.BTreeLeafFrameType; import org.apache.hyracks.storage.am.config.AccessMethodTestsConfig; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java index 40b9f05..2a16ebe 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java @@ -38,7 +38,7 @@ import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; import org.apache.hyracks.dataflow.common.data.marshalling.UTF8StringSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.btree.impls.RangePredicate; import org.apache.hyracks.storage.am.btree.util.BTreeUtils; import org.apache.hyracks.storage.am.common.CheckTuple; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java index 464291a..94c0ab4 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java @@ -36,7 +36,7 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.common.api.IIndexBulkLoader; import org.apache.hyracks.storage.am.common.api.ISearchPredicate; import org.apache.hyracks.storage.am.common.api.ITreeIndexAccessor; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java index d4470fe..ba55a1d 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java @@ -37,7 +37,7 @@ import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.dataflow.common.data.marshalling.DoubleSerializerDeserializer; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; import org.apache.hyracks.dataflow.common.data.marshalling.UTF8StringSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.common.TestOperationCallback; import org.apache.hyracks.storage.am.common.api.IIndexAccessor; import org.apache.hyracks.storage.am.common.api.IIndexBulkLoader; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeMultiThreadTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeMultiThreadTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeMultiThreadTest.java index 27d7aa8..d6f07d9 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeMultiThreadTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeMultiThreadTest.java @@ -31,7 +31,7 @@ import org.apache.hyracks.data.std.primitive.DoublePointable; import org.apache.hyracks.data.std.primitive.IntegerPointable; import org.apache.hyracks.dataflow.common.data.marshalling.DoubleSerializerDeserializer; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.SerdeUtils; +import org.apache.hyracks.dataflow.common.utils.SerdeUtils; import org.apache.hyracks.storage.am.common.IIndexTestWorkerFactory; import org.apache.hyracks.storage.am.common.IndexMultiThreadTestDriver; import org.apache.hyracks.storage.am.common.TestWorkloadConf; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeTestDriver.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeTestDriver.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeTestDriver.java index 7e56455..87f70fd 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeTestDriver.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeTestDriver.java @@ -31,7 +31,7 @@ import org.apache.hyracks.data.std.primitive.IntegerPointable; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.dataflow.common.data.marshalling.DoubleSerializerDeserializer; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.common.api.IPrimitiveValueProviderFactory; import org.apache.hyracks.storage.am.config.AccessMethodTestsConfig; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java index 824d925..13a4fcb 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java @@ -31,7 +31,7 @@ import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.common.CheckTuple; import org.apache.hyracks.storage.am.common.IIndexTestContext; import org.apache.hyracks.storage.am.common.TreeIndexTestUtils; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManager.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManager.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManager.java new file mode 100644 index 0000000..14ce345 --- /dev/null +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManager.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.hyracks.test.support; + +import org.apache.hyracks.api.context.IHyracksTaskContext; +import org.apache.hyracks.storage.common.IStorageManager; +import org.apache.hyracks.storage.common.buffercache.IBufferCache; +import org.apache.hyracks.storage.common.file.IFileMapProvider; +import org.apache.hyracks.storage.common.file.ILocalResourceRepository; +import org.apache.hyracks.storage.common.file.ResourceIdFactory; + +public class TestStorageManager implements IStorageManager { + private static final long serialVersionUID = 1L; + + @Override + public IBufferCache getBufferCache(IHyracksTaskContext ctx) { + return TestStorageManagerComponentHolder.getBufferCache(ctx); + } + + @Override + public IFileMapProvider getFileMapProvider(IHyracksTaskContext ctx) { + return TestStorageManagerComponentHolder.getFileMapProvider(ctx); + } + + @Override + public ILocalResourceRepository getLocalResourceRepository(IHyracksTaskContext ctx) { + return TestStorageManagerComponentHolder.getLocalResourceRepository(ctx); + } + + @Override + public ResourceIdFactory getResourceIdFactory(IHyracksTaskContext ctx) { + return TestStorageManagerComponentHolder.getResourceIdFactory(ctx); + } +} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManagerComponentHolder.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManagerComponentHolder.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManagerComponentHolder.java index cf59ada..259f737 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManagerComponentHolder.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManagerComponentHolder.java @@ -58,7 +58,7 @@ public class TestStorageManagerComponentHolder { private static IResourceLifecycleManager<IIndex> lcManager; private static ResourceIdFactory resourceIdFactory; private static IMetadataPageManagerFactory metadataPageManagerFactory = - new AppendOnlyLinkedMetadataPageManagerFactory(); + AppendOnlyLinkedMetadataPageManagerFactory.INSTANCE; private static int pageSize; private static int numPages; private static int maxOpenFiles; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManagerInterface.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManagerInterface.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManagerInterface.java deleted file mode 100644 index 885ff9b..0000000 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestStorageManagerInterface.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.hyracks.test.support; - -import org.apache.hyracks.api.context.IHyracksTaskContext; -import org.apache.hyracks.storage.common.IStorageManagerInterface; -import org.apache.hyracks.storage.common.buffercache.IBufferCache; -import org.apache.hyracks.storage.common.file.IFileMapProvider; -import org.apache.hyracks.storage.common.file.ILocalResourceRepository; -import org.apache.hyracks.storage.common.file.ResourceIdFactory; - -public class TestStorageManagerInterface implements IStorageManagerInterface { - private static final long serialVersionUID = 1L; - - @Override - public IBufferCache getBufferCache(IHyracksTaskContext ctx) { - return TestStorageManagerComponentHolder.getBufferCache(ctx); - } - - @Override - public IFileMapProvider getFileMapProvider(IHyracksTaskContext ctx) { - return TestStorageManagerComponentHolder.getFileMapProvider(ctx); - } - - @Override - public ILocalResourceRepository getLocalResourceRepository(IHyracksTaskContext ctx) { - return TestStorageManagerComponentHolder.getLocalResourceRepository(ctx); - } - - @Override - public ResourceIdFactory getResourceIdFactory(IHyracksTaskContext ctx) { - return TestStorageManagerComponentHolder.getResourceIdFactory(ctx); - } -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-bloomfilter-test/src/test/java/org/apache/hyracks/storage/am/bloomfilter/BloomFilterTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-bloomfilter-test/src/test/java/org/apache/hyracks/storage/am/bloomfilter/BloomFilterTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-bloomfilter-test/src/test/java/org/apache/hyracks/storage/am/bloomfilter/BloomFilterTest.java index 4f57f19..afcc6c2 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-bloomfilter-test/src/test/java/org/apache/hyracks/storage/am/bloomfilter/BloomFilterTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-bloomfilter-test/src/test/java/org/apache/hyracks/storage/am/bloomfilter/BloomFilterTest.java @@ -30,7 +30,7 @@ import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; import org.apache.hyracks.dataflow.common.data.marshalling.UTF8StringSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.bloomfilter.impls.BloomCalculations; import org.apache.hyracks.storage.am.bloomfilter.impls.BloomFilter; import org.apache.hyracks.storage.am.bloomfilter.impls.BloomFilterSpecification; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-bloomfilter-test/src/test/java/org/apache/hyracks/storage/am/bloomfilter/MurmurHashForITupleReferenceTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-bloomfilter-test/src/test/java/org/apache/hyracks/storage/am/bloomfilter/MurmurHashForITupleReferenceTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-bloomfilter-test/src/test/java/org/apache/hyracks/storage/am/bloomfilter/MurmurHashForITupleReferenceTest.java index 3284f8d..9d1b9be 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-bloomfilter-test/src/test/java/org/apache/hyracks/storage/am/bloomfilter/MurmurHashForITupleReferenceTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-bloomfilter-test/src/test/java/org/apache/hyracks/storage/am/bloomfilter/MurmurHashForITupleReferenceTest.java @@ -33,7 +33,7 @@ import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.dataflow.common.data.marshalling.UTF8StringSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.bloomfilter.impls.MurmurHash128Bit; import org.apache.hyracks.storage.am.bloomfilter.util.AbstractBloomFilterTest; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeModificationOperationCallbackTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeModificationOperationCallbackTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeModificationOperationCallbackTest.java index 313510d..defb0bf 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeModificationOperationCallbackTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeModificationOperationCallbackTest.java @@ -18,7 +18,7 @@ */ package org.apache.hyracks.storage.am.btree; -import org.apache.hyracks.dataflow.common.util.SerdeUtils; +import org.apache.hyracks.dataflow.common.utils.SerdeUtils; import org.apache.hyracks.storage.am.btree.frames.BTreeLeafFrameType; import org.apache.hyracks.storage.am.btree.util.BTreeTestHarness; import org.apache.hyracks.storage.am.btree.util.BTreeUtils; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java index b880a01..3f71dd9 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java @@ -44,7 +44,7 @@ import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.btree.api.IBTreeInteriorFrame; import org.apache.hyracks.storage.am.btree.api.IBTreeLeafFrame; import org.apache.hyracks.storage.am.btree.exceptions.BTreeException; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchOperationCallbackTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchOperationCallbackTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchOperationCallbackTest.java index 797ee49..c9248a6 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchOperationCallbackTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchOperationCallbackTest.java @@ -18,7 +18,7 @@ */ package org.apache.hyracks.storage.am.btree; -import org.apache.hyracks.dataflow.common.util.SerdeUtils; +import org.apache.hyracks.dataflow.common.utils.SerdeUtils; import org.apache.hyracks.storage.am.btree.frames.BTreeLeafFrameType; import org.apache.hyracks.storage.am.btree.util.BTreeTestHarness; import org.apache.hyracks.storage.am.btree.util.BTreeUtils; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java index 493a7ab..8fc5a09 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java @@ -34,7 +34,7 @@ import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.btree.api.IBTreeLeafFrame; import org.apache.hyracks.storage.am.btree.frames.BTreeNSMInteriorFrameFactory; import org.apache.hyracks.storage.am.btree.frames.BTreeNSMLeafFrameFactory; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/StorageFileAccessTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/StorageFileAccessTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/StorageFileAccessTest.java new file mode 100644 index 0000000..d62d0ad --- /dev/null +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/StorageFileAccessTest.java @@ -0,0 +1,271 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.hyracks.storage.am.btree; + +import java.util.LinkedList; +import java.util.List; +import java.util.Random; +import java.util.logging.Level; + +import org.junit.Test; + +import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.storage.am.btree.util.AbstractBTreeTest; +import org.apache.hyracks.storage.common.buffercache.IBufferCache; +import org.apache.hyracks.storage.common.buffercache.ICachedPage; +import org.apache.hyracks.storage.common.file.BufferedFileHandle; +import org.apache.hyracks.storage.common.sync.LatchType; + +public class StorageFileAccessTest extends AbstractBTreeTest { + public class PinnedLatchedPage { + public final ICachedPage page; + public final LatchType latch; + public final int pageId; + + public PinnedLatchedPage(ICachedPage page, int pageId, LatchType latch) { + this.page = page; + this.pageId = pageId; + this.latch = latch; + } + } + + public enum FileAccessType { + FTA_READONLY, + FTA_WRITEONLY, + FTA_MIXED, + FTA_UNLATCHED + } + + public class FileAccessWorker implements Runnable { + private int workerId; + private final IBufferCache bufferCache; + private final int maxPages; + private final int fileId; + private final long thinkTime; + private final int maxLoopCount; + private final int maxPinnedPages; + private final int closeFileChance; + private final FileAccessType fta; + private int loopCount = 0; + private boolean fileIsOpen = false; + private Random rnd = new Random(50); + private List<PinnedLatchedPage> pinnedPages = new LinkedList<PinnedLatchedPage>(); + + public FileAccessWorker(int workerId, IBufferCache bufferCache, FileAccessType fta, int fileId, int maxPages, + int maxPinnedPages, int maxLoopCount, int closeFileChance, long thinkTime) { + this.bufferCache = bufferCache; + this.fileId = fileId; + this.maxPages = maxPages; + this.maxLoopCount = maxLoopCount; + this.maxPinnedPages = maxPinnedPages; + this.thinkTime = thinkTime; + this.closeFileChance = closeFileChance; + this.workerId = workerId; + this.fta = fta; + } + + private void pinRandomPage() { + int pageId = Math.abs(rnd.nextInt() % maxPages); + + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " PINNING PAGE: " + pageId); + } + + try { + ICachedPage page = bufferCache.pin(BufferedFileHandle.getDiskPageId(fileId, pageId), false); + LatchType latch = null; + + switch (fta) { + + case FTA_UNLATCHED: { + latch = null; + } + break; + + case FTA_READONLY: { + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " S LATCHING: " + pageId); + } + page.acquireReadLatch(); + latch = LatchType.LATCH_S; + } + break; + + case FTA_WRITEONLY: { + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " X LATCHING: " + pageId); + } + page.acquireWriteLatch(); + latch = LatchType.LATCH_X; + } + break; + + case FTA_MIXED: { + if (rnd.nextInt() % 2 == 0) { + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " S LATCHING: " + pageId); + } + page.acquireReadLatch(); + latch = LatchType.LATCH_S; + } else { + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " X LATCHING: " + pageId); + } + page.acquireWriteLatch(); + latch = LatchType.LATCH_X; + } + } + break; + + } + + PinnedLatchedPage plPage = new PinnedLatchedPage(page, pageId, latch); + pinnedPages.add(plPage); + } catch (HyracksDataException e) { + e.printStackTrace(); + } + } + + private void unpinRandomPage() { + int index = Math.abs(rnd.nextInt() % pinnedPages.size()); + try { + PinnedLatchedPage plPage = pinnedPages.get(index); + + if (plPage.latch != null) { + if (plPage.latch == LatchType.LATCH_S) { + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " S UNLATCHING: " + plPage.pageId); + } + plPage.page.releaseReadLatch(); + } else { + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " X UNLATCHING: " + plPage.pageId); + } + plPage.page.releaseWriteLatch(true); + } + } + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " UNPINNING PAGE: " + plPage.pageId); + } + + bufferCache.unpin(plPage.page); + pinnedPages.remove(index); + } catch (HyracksDataException e) { + e.printStackTrace(); + } + } + + private void openFile() { + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " OPENING FILE: " + fileId); + } + try { + bufferCache.openFile(fileId); + fileIsOpen = true; + } catch (HyracksDataException e) { + e.printStackTrace(); + } + } + + private void closeFile() { + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " CLOSING FILE: " + fileId); + } + try { + bufferCache.closeFile(fileId); + fileIsOpen = false; + } catch (HyracksDataException e) { + e.printStackTrace(); + } + } + + @Override + public void run() { + + openFile(); + + while (loopCount < maxLoopCount) { + loopCount++; + + if (LOGGER.isLoggable(Level.INFO)) { + LOGGER.info(workerId + " LOOP: " + loopCount + "/" + maxLoopCount); + } + + if (fileIsOpen) { + + // pin some pages + int pagesToPin = Math.abs(rnd.nextInt()) % (maxPinnedPages - pinnedPages.size()); + for (int i = 0; i < pagesToPin; i++) { + pinRandomPage(); + } + + // do some thinking + try { + Thread.sleep(thinkTime); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + // unpin some pages + if (!pinnedPages.isEmpty()) { + int pagesToUnpin = Math.abs(rnd.nextInt()) % pinnedPages.size(); + for (int i = 0; i < pagesToUnpin; i++) { + unpinRandomPage(); + } + } + + // possibly close file + int closeFileCheck = Math.abs(rnd.nextInt()) % closeFileChance; + if (pinnedPages.isEmpty() || closeFileCheck == 0) { + int numPinnedPages = pinnedPages.size(); + for (int i = 0; i < numPinnedPages; i++) { + unpinRandomPage(); + } + closeFile(); + } + } else { + openFile(); + } + } + + if (fileIsOpen) { + int numPinnedPages = pinnedPages.size(); + for (int i = 0; i < numPinnedPages; i++) { + unpinRandomPage(); + } + closeFile(); + } + } + } + + @Test + public void oneThreadOneFileTest() throws Exception { + IBufferCache bufferCache = harness.getBufferCache(); + bufferCache.createFile(harness.getFileReference()); + int btreeFileId = harness.getFileMapProvider().lookupFileId(harness.getFileReference()); + bufferCache.openFile(btreeFileId); + Thread worker = new Thread(new FileAccessWorker(0, harness.getBufferCache(), FileAccessType.FTA_UNLATCHED, + btreeFileId, 10, 10, 100, 10, 0)); + worker.start(); + worker.join(); + bufferCache.closeFile(btreeFileId); + bufferCache.close(); + } +} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/StorageManagerTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/StorageManagerTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/StorageManagerTest.java deleted file mode 100644 index 01863ca..0000000 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/StorageManagerTest.java +++ /dev/null @@ -1,271 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.hyracks.storage.am.btree; - -import java.util.LinkedList; -import java.util.List; -import java.util.Random; -import java.util.logging.Level; - -import org.junit.Test; - -import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.storage.am.btree.util.AbstractBTreeTest; -import org.apache.hyracks.storage.common.buffercache.IBufferCache; -import org.apache.hyracks.storage.common.buffercache.ICachedPage; -import org.apache.hyracks.storage.common.file.BufferedFileHandle; -import org.apache.hyracks.storage.common.sync.LatchType; - -public class StorageManagerTest extends AbstractBTreeTest { - public class PinnedLatchedPage { - public final ICachedPage page; - public final LatchType latch; - public final int pageId; - - public PinnedLatchedPage(ICachedPage page, int pageId, LatchType latch) { - this.page = page; - this.pageId = pageId; - this.latch = latch; - } - } - - public enum FileAccessType { - FTA_READONLY, - FTA_WRITEONLY, - FTA_MIXED, - FTA_UNLATCHED - } - - public class FileAccessWorker implements Runnable { - private int workerId; - private final IBufferCache bufferCache; - private final int maxPages; - private final int fileId; - private final long thinkTime; - private final int maxLoopCount; - private final int maxPinnedPages; - private final int closeFileChance; - private final FileAccessType fta; - private int loopCount = 0; - private boolean fileIsOpen = false; - private Random rnd = new Random(50); - private List<PinnedLatchedPage> pinnedPages = new LinkedList<PinnedLatchedPage>(); - - public FileAccessWorker(int workerId, IBufferCache bufferCache, FileAccessType fta, int fileId, int maxPages, - int maxPinnedPages, int maxLoopCount, int closeFileChance, long thinkTime) { - this.bufferCache = bufferCache; - this.fileId = fileId; - this.maxPages = maxPages; - this.maxLoopCount = maxLoopCount; - this.maxPinnedPages = maxPinnedPages; - this.thinkTime = thinkTime; - this.closeFileChance = closeFileChance; - this.workerId = workerId; - this.fta = fta; - } - - private void pinRandomPage() { - int pageId = Math.abs(rnd.nextInt() % maxPages); - - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " PINNING PAGE: " + pageId); - } - - try { - ICachedPage page = bufferCache.pin(BufferedFileHandle.getDiskPageId(fileId, pageId), false); - LatchType latch = null; - - switch (fta) { - - case FTA_UNLATCHED: { - latch = null; - } - break; - - case FTA_READONLY: { - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " S LATCHING: " + pageId); - } - page.acquireReadLatch(); - latch = LatchType.LATCH_S; - } - break; - - case FTA_WRITEONLY: { - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " X LATCHING: " + pageId); - } - page.acquireWriteLatch(); - latch = LatchType.LATCH_X; - } - break; - - case FTA_MIXED: { - if (rnd.nextInt() % 2 == 0) { - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " S LATCHING: " + pageId); - } - page.acquireReadLatch(); - latch = LatchType.LATCH_S; - } else { - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " X LATCHING: " + pageId); - } - page.acquireWriteLatch(); - latch = LatchType.LATCH_X; - } - } - break; - - } - - PinnedLatchedPage plPage = new PinnedLatchedPage(page, pageId, latch); - pinnedPages.add(plPage); - } catch (HyracksDataException e) { - e.printStackTrace(); - } - } - - private void unpinRandomPage() { - int index = Math.abs(rnd.nextInt() % pinnedPages.size()); - try { - PinnedLatchedPage plPage = pinnedPages.get(index); - - if (plPage.latch != null) { - if (plPage.latch == LatchType.LATCH_S) { - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " S UNLATCHING: " + plPage.pageId); - } - plPage.page.releaseReadLatch(); - } else { - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " X UNLATCHING: " + plPage.pageId); - } - plPage.page.releaseWriteLatch(true); - } - } - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " UNPINNING PAGE: " + plPage.pageId); - } - - bufferCache.unpin(plPage.page); - pinnedPages.remove(index); - } catch (HyracksDataException e) { - e.printStackTrace(); - } - } - - private void openFile() { - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " OPENING FILE: " + fileId); - } - try { - bufferCache.openFile(fileId); - fileIsOpen = true; - } catch (HyracksDataException e) { - e.printStackTrace(); - } - } - - private void closeFile() { - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " CLOSING FILE: " + fileId); - } - try { - bufferCache.closeFile(fileId); - fileIsOpen = false; - } catch (HyracksDataException e) { - e.printStackTrace(); - } - } - - @Override - public void run() { - - openFile(); - - while (loopCount < maxLoopCount) { - loopCount++; - - if (LOGGER.isLoggable(Level.INFO)) { - LOGGER.info(workerId + " LOOP: " + loopCount + "/" + maxLoopCount); - } - - if (fileIsOpen) { - - // pin some pages - int pagesToPin = Math.abs(rnd.nextInt()) % (maxPinnedPages - pinnedPages.size()); - for (int i = 0; i < pagesToPin; i++) { - pinRandomPage(); - } - - // do some thinking - try { - Thread.sleep(thinkTime); - } catch (InterruptedException e) { - e.printStackTrace(); - } - - // unpin some pages - if (!pinnedPages.isEmpty()) { - int pagesToUnpin = Math.abs(rnd.nextInt()) % pinnedPages.size(); - for (int i = 0; i < pagesToUnpin; i++) { - unpinRandomPage(); - } - } - - // possibly close file - int closeFileCheck = Math.abs(rnd.nextInt()) % closeFileChance; - if (pinnedPages.isEmpty() || closeFileCheck == 0) { - int numPinnedPages = pinnedPages.size(); - for (int i = 0; i < numPinnedPages; i++) { - unpinRandomPage(); - } - closeFile(); - } - } else { - openFile(); - } - } - - if (fileIsOpen) { - int numPinnedPages = pinnedPages.size(); - for (int i = 0; i < numPinnedPages; i++) { - unpinRandomPage(); - } - closeFile(); - } - } - } - - @Test - public void oneThreadOneFileTest() throws Exception { - IBufferCache bufferCache = harness.getBufferCache(); - bufferCache.createFile(harness.getFileReference()); - int btreeFileId = harness.getFileMapProvider().lookupFileId(harness.getFileReference()); - bufferCache.openFile(btreeFileId); - Thread worker = new Thread(new FileAccessWorker(0, harness.getBufferCache(), FileAccessType.FTA_UNLATCHED, - btreeFileId, 10, 10, 100, 10, 0)); - worker.start(); - worker.join(); - bufferCache.closeFile(btreeFileId); - bufferCache.close(); - } -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/util/BTreeTestContext.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/util/BTreeTestContext.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/util/BTreeTestContext.java index f849e8e..440261a 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/util/BTreeTestContext.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/util/BTreeTestContext.java @@ -24,7 +24,7 @@ import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.dataflow.value.ITypeTraits; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.api.io.FileReference; -import org.apache.hyracks.dataflow.common.util.SerdeUtils; +import org.apache.hyracks.dataflow.common.utils.SerdeUtils; import org.apache.hyracks.storage.am.btree.OrderedIndexTestContext; import org.apache.hyracks.storage.am.btree.frames.BTreeLeafFrameType; import org.apache.hyracks.storage.am.btree.impls.BTree; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeExamplesTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeExamplesTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeExamplesTest.java index ddfcae0..0cdcf48 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeExamplesTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeExamplesTest.java @@ -30,14 +30,14 @@ import org.apache.hyracks.data.std.primitive.IntegerPointable; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.btree.OrderedIndexExamplesTest; import org.apache.hyracks.storage.am.common.TestOperationCallback; import org.apache.hyracks.storage.am.common.api.IIndexAccessor; import org.apache.hyracks.storage.am.common.api.ITreeIndex; import org.apache.hyracks.storage.am.common.api.TreeIndexException; import org.apache.hyracks.storage.am.lsm.btree.util.LSMBTreeTestHarness; -import org.apache.hyracks.storage.am.lsm.btree.util.LSMBTreeUtils; +import org.apache.hyracks.storage.am.lsm.btree.utils.LSMBTreeUtil; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -49,7 +49,7 @@ public class LSMBTreeExamplesTest extends OrderedIndexExamplesTest { protected ITreeIndex createTreeIndex(ITypeTraits[] typeTraits, IBinaryComparatorFactory[] cmpFactories, int[] bloomFilterKeyFields, ITypeTraits[] filterTypeTraits, IBinaryComparatorFactory[] filterCmpFactories, int[] btreeFields, int[] filterFields) throws TreeIndexException, HyracksDataException { - return LSMBTreeUtils.createLSMTree(harness.getIOManager(), harness.getVirtualBufferCaches(), harness + return LSMBTreeUtil.createLSMTree(harness.getIOManager(), harness.getVirtualBufferCaches(), harness .getFileReference(), harness.getDiskBufferCache(), harness.getDiskFileMapProvider(), typeTraits, cmpFactories, bloomFilterKeyFields, harness.getBoomFilterFalsePositiveRate(), harness.getMergePolicy(), http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeModificationOperationCallbackTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeModificationOperationCallbackTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeModificationOperationCallbackTest.java index 6ec706f..32e6bf6 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeModificationOperationCallbackTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeModificationOperationCallbackTest.java @@ -19,16 +19,16 @@ package org.apache.hyracks.storage.am.lsm.btree; -import org.apache.hyracks.dataflow.common.util.SerdeUtils; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.SerdeUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.btree.AbstractModificationOperationCallbackTest; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; import org.apache.hyracks.storage.am.lsm.btree.util.LSMBTreeTestHarness; -import org.apache.hyracks.storage.am.lsm.btree.util.LSMBTreeUtils; +import org.apache.hyracks.storage.am.lsm.btree.utils.LSMBTreeUtil; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexAccessor; import org.apache.hyracks.storage.am.lsm.common.impls.BlockingIOOperationCallbackWrapper; import org.apache.hyracks.storage.am.lsm.common.impls.NoOpIOOperationCallback; -import org.apache.hyracks.storage.am.lsm.common.impls.NoOpOperationTrackerProvider; +import org.apache.hyracks.storage.am.lsm.common.impls.NoOpOperationTrackerFactory; import org.junit.Test; public class LSMBTreeModificationOperationCallbackTest extends AbstractModificationOperationCallbackTest { @@ -45,13 +45,13 @@ public class LSMBTreeModificationOperationCallbackTest extends AbstractModificat @Override protected void createIndexInstance() throws Exception { - index = LSMBTreeUtils.createLSMTree(harness.getIOManager(), harness.getVirtualBufferCaches(), harness + index = LSMBTreeUtil.createLSMTree(harness.getIOManager(), harness.getVirtualBufferCaches(), harness .getFileReference(), harness.getDiskBufferCache(), harness.getDiskFileMapProvider(), SerdeUtils.serdesToTypeTraits(keySerdes), SerdeUtils.serdesToComparatorFactories(keySerdes, keySerdes.length), bloomFilterKeyFields, harness.getBoomFilterFalsePositiveRate(), harness.getMergePolicy(), - NoOpOperationTrackerProvider.INSTANCE.getOperationTracker(null), harness.getIOScheduler(), + NoOpOperationTrackerFactory.INSTANCE.getOperationTracker(null), harness.getIOScheduler(), harness.getIOOperationCallback(), true, null, null, null, null, true, harness .getMetadataPageManagerFactory()); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ef9be0f9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java index 78ec635..f408bb9 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java @@ -26,8 +26,8 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; -import org.apache.hyracks.dataflow.common.util.SerdeUtils; -import org.apache.hyracks.dataflow.common.util.TupleUtils; +import org.apache.hyracks.dataflow.common.utils.SerdeUtils; +import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.btree.AbstractSearchOperationCallbackTest; import org.apache.hyracks.storage.am.btree.impls.RangePredicate; import org.apache.hyracks.storage.am.common.api.IIndexAccessor; @@ -36,8 +36,8 @@ import org.apache.hyracks.storage.am.common.api.IIndexCursor; import org.apache.hyracks.storage.am.common.api.ISearchOperationCallback; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; import org.apache.hyracks.storage.am.lsm.btree.util.LSMBTreeTestHarness; -import org.apache.hyracks.storage.am.lsm.btree.util.LSMBTreeUtils; -import org.apache.hyracks.storage.am.lsm.common.impls.NoOpOperationTrackerProvider; +import org.apache.hyracks.storage.am.lsm.btree.utils.LSMBTreeUtil; +import org.apache.hyracks.storage.am.lsm.common.impls.NoOpOperationTrackerFactory; import org.junit.Assert; import org.junit.Test; @@ -52,13 +52,13 @@ public class LSMBTreeSearchOperationCallbackTest extends AbstractSearchOperation @Override protected void createIndexInstance() throws Exception { - index = LSMBTreeUtils.createLSMTree(harness.getIOManager(), harness.getVirtualBufferCaches(), harness + index = LSMBTreeUtil.createLSMTree(harness.getIOManager(), harness.getVirtualBufferCaches(), harness .getFileReference(), harness.getDiskBufferCache(), harness.getDiskFileMapProvider(), SerdeUtils.serdesToTypeTraits(keySerdes), SerdeUtils.serdesToComparatorFactories(keySerdes, keySerdes.length), bloomFilterKeyFields, harness.getBoomFilterFalsePositiveRate(), harness.getMergePolicy(), - NoOpOperationTrackerProvider.INSTANCE.getOperationTracker(null), harness.getIOScheduler(), + NoOpOperationTrackerFactory.INSTANCE.getOperationTracker(null), harness.getIOScheduler(), harness.getIOOperationCallback(), true, null, null, null, null, true, harness .getMetadataPageManagerFactory()); }
