Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 99811200CA9 for ; Fri, 12 May 2017 01:43:21 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 97F63160BD0; Thu, 11 May 2017 23:43:21 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 7262A160BD8 for ; Fri, 12 May 2017 01:43:18 +0200 (CEST) Received: (qmail 33285 invoked by uid 500); 11 May 2017 23:43:17 -0000 Mailing-List: contact commits-help@asterixdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@asterixdb.apache.org Delivered-To: mailing list commits@asterixdb.apache.org Received: (qmail 32845 invoked by uid 99); 11 May 2017 23:43:17 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 May 2017 23:43:17 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 4B3D3DFFB5; Thu, 11 May 2017 23:43:17 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: amoudi@apache.org To: commits@asterixdb.apache.org Date: Thu, 11 May 2017 23:43:31 -0000 Message-Id: <5ffe36ef40de4cba96bc2fb772060f36@git.apache.org> In-Reply-To: <5f594fe565684258b006e5f3b566db33@git.apache.org> References: <5f594fe565684258b006e5f3b566db33@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [16/25] asterixdb git commit: Separate index build from index access archived-at: Thu, 11 May 2017 23:43:21 -0000 http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepository.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepository.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepository.java index b21eb29..44aaef5 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepository.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepository.java @@ -25,9 +25,8 @@ import java.io.FilenameFilter; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -42,11 +41,12 @@ import java.util.logging.Logger; import org.apache.asterix.common.cluster.ClusterPartition; import org.apache.asterix.common.config.MetadataProperties; +import org.apache.asterix.common.dataflow.DatasetLocalResource; import org.apache.asterix.common.exceptions.AsterixException; +import org.apache.asterix.common.exceptions.ErrorCode; import org.apache.asterix.common.replication.IReplicationManager; import org.apache.asterix.common.replication.ReplicationJob; import org.apache.asterix.common.storage.IndexFileProperties; -import org.apache.asterix.common.transactions.Resource; import org.apache.asterix.common.utils.StorageConstants; import org.apache.asterix.common.utils.StoragePathUtil; import org.apache.commons.io.FileUtils; @@ -58,8 +58,8 @@ import org.apache.hyracks.api.replication.IReplicationJob.ReplicationExecutionTy import org.apache.hyracks.api.replication.IReplicationJob.ReplicationJobType; import org.apache.hyracks.api.replication.IReplicationJob.ReplicationOperation; import org.apache.hyracks.storage.am.common.api.ITreeIndexFrame; -import org.apache.hyracks.storage.common.file.ILocalResourceRepository; -import org.apache.hyracks.storage.common.file.LocalResource; +import org.apache.hyracks.storage.common.ILocalResourceRepository; +import org.apache.hyracks.storage.common.LocalResource; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; @@ -72,7 +72,6 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito private static final Logger LOGGER = Logger.getLogger(PersistentLocalResourceRepository.class.getName()); private static final String STORAGE_METADATA_DIRECTORY = StorageConstants.METADATA_ROOT; private static final String STORAGE_METADATA_FILE_NAME_PREFIX = "." + StorageConstants.METADATA_ROOT; - private static final long STORAGE_LOCAL_RESOURCE_ID = -4321; private static final int MAX_CACHED_RESOURCES = 1000; private static final FilenameFilter METADATA_FILES_FILTER = (File dir, String name) -> name.equalsIgnoreCase(METADATA_FILE_NAME); @@ -132,11 +131,10 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito return aString.toString(); } - public void initializeNewUniverse(String storageRootDirName) throws HyracksDataException { + public void initializeNewUniverse(String storageRoot) throws HyracksDataException { if (LOGGER.isLoggable(Level.INFO)) { LOGGER.info("Initializing local resource repository ... "); } - /* * create storage metadata file * (This file is used to locate the root storage directory after instance restarts). @@ -144,30 +142,30 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito * we can find out the storage root directory without looking at this file. * This file could potentially store more information, otherwise no need to keep it. */ + String storageRootDirName = storageRoot; + while (storageRootDirName.startsWith(File.separator)) { + storageRootDirName = storageRootDirName.substring(File.separator.length()); + } for (int i = 0; i < mountPoints.length; i++) { FileReference storageMetadataFile = getStorageMetadataFile(ioManager, nodeId, i); File storageMetadataDir = storageMetadataFile.getFile().getParentFile(); + if (storageMetadataDir.exists()) { + throw HyracksDataException.create(ErrorCode.ROOT_LOCAL_RESOURCE_EXISTS, getClass().getSimpleName(), + storageMetadataDir.getAbsolutePath()); + } //make dirs for the storage metadata file boolean success = storageMetadataDir.mkdirs(); if (!success) { - throw new IllegalStateException( - "Unable to create storage metadata directory of PersistentLocalResourceRepository in " - + storageMetadataDir.getAbsolutePath() + " or directory already exists"); + throw HyracksDataException.create(ErrorCode.ROOT_LOCAL_RESOURCE_COULD_NOT_BE_CREATED, + getClass().getSimpleName(), storageMetadataDir.getAbsolutePath()); } - LOGGER.log(Level.INFO, "created the root-metadata-file's directory: " + storageMetadataDir.getAbsolutePath()); - - String storageRootDirPath; - if (storageRootDirName.startsWith(File.separator)) { - storageRootDirPath = mountPoints[i] + storageRootDirName.substring(File.separator.length()); - } else { - storageRootDirPath = mountPoints[i] + storageRootDirName; + try (FileOutputStream fos = new FileOutputStream(storageMetadataFile.getFile())) { + fos.write(storageRootDirName.getBytes(StandardCharsets.UTF_8)); + } catch (IOException e) { + throw HyracksDataException.create(e); } - - LocalResource rootLocalResource = new LocalResource(STORAGE_LOCAL_RESOURCE_ID, - storageMetadataFile.getRelativePath(), 0, ITreeIndexFrame.Constants.VERSION, storageRootDirPath); - insert(rootLocalResource); LOGGER.log(Level.INFO, "created the root-metadata-file: " + storageMetadataFile.getAbsolutePath()); } LOGGER.log(Level.INFO, "Completed the initialization of the local resource repository"); @@ -188,17 +186,14 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito @Override public synchronized void insert(LocalResource resource) throws HyracksDataException { - String relativePath = getFileName(resource.getPath(), resource.getId()); + String relativePath = getFileName(resource.getPath()); FileReference resourceFile = ioManager.resolve(relativePath); if (resourceFile.getFile().exists()) { throw new HyracksDataException("Duplicate resource: " + resourceFile.getAbsolutePath()); } else { resourceFile.getFile().getParentFile().mkdirs(); } - - if (resource.getId() != STORAGE_LOCAL_RESOURCE_ID) { - resourceCache.put(resource.getPath(), resource); - } + resourceCache.put(resource.getPath(), resource); try (FileOutputStream fos = new FileOutputStream(resourceFile.getFile()); ObjectOutputStream oosToFos = new ObjectOutputStream(fos)) { @@ -209,7 +204,7 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito } //if replication enabled, send resource metadata info to remote nodes - if (isReplicationEnabled && resource.getId() != STORAGE_LOCAL_RESOURCE_ID) { + if (isReplicationEnabled) { createReplicationJob(ReplicationOperation.REPLICATE, resourceFile); } } @@ -237,19 +232,25 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito return ioManager.resolve(fileName); } - public Map loadAndGetAllResources() throws HyracksDataException { + public Map loadAndGetAllResources() throws IOException { //TODO During recovery, the memory usage currently is proportional to the number of resources available. //This could be fixed by traversing all resources on disk until the required resource is found. + LOGGER.log(Level.INFO, "Loading all resources"); Map resourcesMap = new HashMap<>(); for (int i = 0; i < mountPoints.length; i++) { File storageRootDir = getStorageRootDirectoryIfExists(ioManager, nodeId, i); if (storageRootDir == null) { + LOGGER.log(Level.INFO, "Getting storage root dir returned null. Returning"); continue; } + LOGGER.log(Level.INFO, "Getting storage root dir returned " + storageRootDir.getAbsolutePath()); //load all local resources. File[] partitions = storageRootDir.listFiles(); + LOGGER.log(Level.INFO, "Number of partitions found = " + partitions.length); for (File partition : partitions) { File[] dataverseFileList = partition.listFiles(); + LOGGER.log(Level.INFO, "Reading partition = " + partition.getName() + ". Number of dataverses found: " + + dataverseFileList.length); if (dataverseFileList != null) { for (File dataverseFile : dataverseFileList) { loadDataverse(dataverseFile, resourcesMap); @@ -261,6 +262,7 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito } private void loadDataverse(File dataverseFile, Map resourcesMap) throws HyracksDataException { + LOGGER.log(Level.INFO, "Loading dataverse:" + dataverseFile.getName()); if (dataverseFile.isDirectory()) { File[] indexFileList = dataverseFile.listFiles(); if (indexFileList != null) { @@ -272,11 +274,13 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito } private void loadIndex(File indexFile, Map resourcesMap) throws HyracksDataException { + LOGGER.log(Level.INFO, "Loading index:" + indexFile.getName()); if (indexFile.isDirectory()) { File[] metadataFiles = indexFile.listFiles(METADATA_FILES_FILTER); if (metadataFiles != null) { for (File metadataFile : metadataFiles) { LocalResource localResource = readLocalResource(metadataFile); + LOGGER.log(Level.INFO, "Resource loaded " + localResource.getId() + ":" + localResource.getPath()); resourcesMap.put(localResource.getId(), localResource); } } @@ -286,7 +290,6 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito @Override public long maxId() throws HyracksDataException { long maxResourceId = 0; - for (int i = 0; i < mountPoints.length; i++) { File storageRootDir = getStorageRootDirectoryIfExists(ioManager, nodeId, i); if (storageRootDir == null) { @@ -335,10 +338,9 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito return maxResourceId; } - private static String getFileName(String baseDir, long resourceId) { - return (resourceId == STORAGE_LOCAL_RESOURCE_ID) ? baseDir - : baseDir.endsWith(File.separator) ? (baseDir + METADATA_FILE_NAME) - : (baseDir + File.separator + METADATA_FILE_NAME); + private static String getFileName(String path) { + return path.endsWith(File.separator) ? (path + METADATA_FILE_NAME) + : (path + File.separator + METADATA_FILE_NAME); } public static LocalResource readLocalResource(File file) throws HyracksDataException { @@ -437,17 +439,27 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito */ public static File getStorageRootDirectoryIfExists(IIOManager ioManager, String nodeId, int ioDeviceId) throws HyracksDataException { - File storageRootDir = null; - FileReference storageMetadataFile = getStorageMetadataFile(ioManager, nodeId, ioDeviceId); - if (storageMetadataFile.getFile().exists()) { - LocalResource rootLocalResource = readLocalResource(storageMetadataFile.getFile()); - String storageRootDirPath = (String) rootLocalResource.getResource(); - Path path = Paths.get(storageRootDirPath); - if (Files.exists(path)) { - storageRootDir = new File(storageRootDirPath); + try { + FileReference storageMetadataFile = getStorageMetadataFile(ioManager, nodeId, ioDeviceId); + LOGGER.log(Level.INFO, "Storage metadata file is " + storageMetadataFile.getAbsolutePath()); + if (storageMetadataFile.getFile().exists()) { + String storageRootDirPath = + new String(Files.readAllBytes(storageMetadataFile.getFile().toPath()), StandardCharsets.UTF_8); + LOGGER.log(Level.INFO, "Storage metadata file found and root dir is " + storageRootDirPath); + FileReference storageRootFileRef = + new FileReference(ioManager.getIODevices().get(ioDeviceId), storageRootDirPath); + if (storageRootFileRef.getFile().exists()) { + return storageRootFileRef.getFile(); + } else { + LOGGER.log(Level.INFO, "Storage root doesn't exist"); + } + } else { + LOGGER.log(Level.INFO, "Storage metadata file doesn't exist"); } + return null; + } catch (IOException ioe) { + throw HyracksDataException.create(ioe); } - return storageRootDir; } /** @@ -505,7 +517,7 @@ public class PersistentLocalResourceRepository implements ILocalResourceReposito int partitionId = StoragePathUtil.getPartitionNumFromName(partition); String relativePath = getLocalResourceRelativePath(absoluteFilePath); final LocalResource lr = get(relativePath); - int datasetId = lr == null ? -1 : ((Resource) lr.getResource()).datasetId(); + int datasetId = lr == null ? -1 : ((DatasetLocalResource) lr.getResource()).getDatasetId(); return new IndexFileProperties(partitionId, dataverse, index, fileName, datasetId); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepositoryFactory.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepositoryFactory.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepositoryFactory.java index dd69a76..93a7d83 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepositoryFactory.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepositoryFactory.java @@ -21,7 +21,7 @@ package org.apache.asterix.transaction.management.resource; import org.apache.asterix.common.config.MetadataProperties; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.api.io.IIOManager; -import org.apache.hyracks.storage.common.file.ILocalResourceRepository; +import org.apache.hyracks.storage.common.ILocalResourceRepository; import org.apache.hyracks.storage.common.file.ILocalResourceRepositoryFactory; public class PersistentLocalResourceRepositoryFactory implements ILocalResourceRepositoryFactory { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java index d2650e9..585e8ec 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java @@ -30,6 +30,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.logging.Level; import java.util.logging.Logger; import org.apache.asterix.common.exceptions.ACIDException; @@ -87,6 +88,7 @@ public abstract class AbstractCheckpointManager implements ICheckpointManager { List checkpointObjectList = new ArrayList<>(); for (File file : checkpoints) { try { + LOGGER.log(Level.WARNING, "Reading snapshot file: " + file.getAbsolutePath()); String jsonString = new String(Files.readAllBytes(Paths.get(file.getAbsolutePath()))); checkpointObjectList.add(Checkpoint.fromJson(jsonString)); } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionContext.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionContext.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionContext.java index ad03a25..22d56f0 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionContext.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionContext.java @@ -35,9 +35,9 @@ import org.apache.asterix.common.transactions.JobId; import org.apache.asterix.common.transactions.LogRecord; import org.apache.asterix.common.transactions.MutableLong; import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.storage.am.common.api.IModificationOperationCallback; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndex; import org.apache.hyracks.storage.am.lsm.common.api.LSMOperationType; +import org.apache.hyracks.storage.common.IModificationOperationCallback; /* * An object of TransactionContext is created and accessed(read/written) by multiple threads which work for http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/asterixdb/asterix-transactions/src/test/java/org/apache/asterix/transaction/management/service/locking/TestRuntimeContextProvider.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/test/java/org/apache/asterix/transaction/management/service/locking/TestRuntimeContextProvider.java b/asterixdb/asterix-transactions/src/test/java/org/apache/asterix/transaction/management/service/locking/TestRuntimeContextProvider.java index d800cc7..ba34414 100644 --- a/asterixdb/asterix-transactions/src/test/java/org/apache/asterix/transaction/management/service/locking/TestRuntimeContextProvider.java +++ b/asterixdb/asterix-transactions/src/test/java/org/apache/asterix/transaction/management/service/locking/TestRuntimeContextProvider.java @@ -30,9 +30,9 @@ import org.apache.asterix.common.transactions.ITransactionSubsystem; import org.apache.hyracks.api.io.IIOManager; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationScheduler; import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTracker; +import org.apache.hyracks.storage.common.ILocalResourceRepository; import org.apache.hyracks.storage.common.buffercache.IBufferCache; import org.apache.hyracks.storage.common.file.IFileMapProvider; -import org.apache.hyracks.storage.common.file.ILocalResourceRepository; class TestRuntimeContextProvider implements IAppRuntimeContextProvider { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java index 5d1f402..6860147 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java @@ -67,12 +67,12 @@ public interface IMetadataProvider { public Pair getInsertRuntime(IDataSource dataSource, IOperatorSchema propagatedSchema, IVariableTypeEnvironment typeEnv, List keys, LogicalVariable payLoadVar, List additionalFilterKeyFields, - List additionalNonFilteringFields, RecordDescriptor recordDesc, JobGenContext context, + List additionalNonFilteringFields, RecordDescriptor inputRecordDesc, JobGenContext context, JobSpecification jobSpec, boolean bulkload) throws AlgebricksException; public Pair getDeleteRuntime(IDataSource dataSource, IOperatorSchema propagatedSchema, IVariableTypeEnvironment typeEnv, List keys, - LogicalVariable payLoadVar, List additionalNonKeyFields, RecordDescriptor recordDesc, + LogicalVariable payLoadVar, List additionalNonKeyFields, RecordDescriptor inputRecordDesc, JobGenContext context, JobSpecification jobSpec) throws AlgebricksException; /** http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/algebricks/algebricks-data/src/main/java/org/apache/hyracks/algebricks/data/IBinaryComparatorFactoryProvider.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-data/src/main/java/org/apache/hyracks/algebricks/data/IBinaryComparatorFactoryProvider.java b/hyracks-fullstack/algebricks/algebricks-data/src/main/java/org/apache/hyracks/algebricks/data/IBinaryComparatorFactoryProvider.java index 0acb40a..9584c69 100644 --- a/hyracks-fullstack/algebricks/algebricks-data/src/main/java/org/apache/hyracks/algebricks/data/IBinaryComparatorFactoryProvider.java +++ b/hyracks-fullstack/algebricks/algebricks-data/src/main/java/org/apache/hyracks/algebricks/data/IBinaryComparatorFactoryProvider.java @@ -24,8 +24,8 @@ import org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory; /** * Provides {@link org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory} for different types */ -@FunctionalInterface public interface IBinaryComparatorFactoryProvider { + /** * @param type * the type of the binary data @@ -36,4 +36,19 @@ public interface IBinaryComparatorFactoryProvider { * if the comparator factory for the passed type could not be created */ IBinaryComparatorFactory getBinaryComparatorFactory(Object type, boolean ascending) throws AlgebricksException; + + /** + * + * @param type + * the type of the binary data + * @param ascending + * the order direction. true if ascending order is desired, false otherwise + * @param ignoreCase + * ignore case for strings + * @return the appropriate {@link org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory} instance + * @throws AlgebricksException + * if the comparator factory for the passed type could not be created + */ + IBinaryComparatorFactory getBinaryComparatorFactory(Object type, boolean ascending, boolean ignoreCase) + throws AlgebricksException; } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/AlgebricksMetaOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/AlgebricksMetaOperatorDescriptor.java b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/AlgebricksMetaOperatorDescriptor.java index ae77d3a..1294614 100644 --- a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/AlgebricksMetaOperatorDescriptor.java +++ b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/AlgebricksMetaOperatorDescriptor.java @@ -47,7 +47,7 @@ public class AlgebricksMetaOperatorDescriptor extends AbstractSingleActivityOper IPushRuntimeFactory[] runtimeFactories, RecordDescriptor[] internalRecordDescriptors) { super(spec, inputArity, outputArity); if (outputArity == 1) { - this.recordDescriptors[0] = internalRecordDescriptors[internalRecordDescriptors.length - 1]; + this.outRecDescs[0] = internalRecordDescriptors[internalRecordDescriptors.length - 1]; } this.pipeline = new AlgebricksPipeline(runtimeFactories, internalRecordDescriptors); } @@ -91,7 +91,7 @@ public class AlgebricksMetaOperatorDescriptor extends AbstractSingleActivityOper public void initialize() throws HyracksDataException { IFrameWriter startOfPipeline; RecordDescriptor pipelineOutputRecordDescriptor = - outputArity > 0 ? AlgebricksMetaOperatorDescriptor.this.recordDescriptors[0] : null; + outputArity > 0 ? AlgebricksMetaOperatorDescriptor.this.outRecDescs[0] : null; PipelineAssembler pa = new PipelineAssembler(pipeline, inputArity, outputArity, null, pipelineOutputRecordDescriptor); startOfPipeline = pa.assemblePipeline(writer, ctx); @@ -117,7 +117,7 @@ public class AlgebricksMetaOperatorDescriptor extends AbstractSingleActivityOper public void open() throws HyracksDataException { if (startOfPipeline == null) { RecordDescriptor pipelineOutputRecordDescriptor = - outputArity > 0 ? AlgebricksMetaOperatorDescriptor.this.recordDescriptors[0] : null; + outputArity > 0 ? AlgebricksMetaOperatorDescriptor.this.outRecDescs[0] : null; RecordDescriptor pipelineInputRecordDescriptor = recordDescProvider .getInputRecordDescriptor(AlgebricksMetaOperatorDescriptor.this.getActivityId(), 0); PipelineAssembler pa = new PipelineAssembler(pipeline, inputArity, outputArity, http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/SplitOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/SplitOperatorDescriptor.java b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/SplitOperatorDescriptor.java index 508b1aa..68274ce 100644 --- a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/SplitOperatorDescriptor.java +++ b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/SplitOperatorDescriptor.java @@ -97,7 +97,7 @@ public class SplitOperatorDescriptor extends AbstractReplicateOperatorDescriptor final boolean[] isOpen = new boolean[numberOfNonMaterializedOutputs]; final IPointable p = VoidPointable.FACTORY.createPointable();; // To deal with each tuple in a frame - final FrameTupleAccessor accessor = new FrameTupleAccessor(recordDescriptors[0]);; + final FrameTupleAccessor accessor = new FrameTupleAccessor(outRecDescs[0]);; final FrameTupleAppender[] appenders = new FrameTupleAppender[numberOfNonMaterializedOutputs]; final FrameTupleReference tRef = new FrameTupleReference();; final IBinaryIntegerInspector intInsepctor = intInsepctorFactory.createBinaryIntegerInspector(ctx); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksCommonContext.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksCommonContext.java b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksCommonContext.java index 9812d12..5afcf69 100644 --- a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksCommonContext.java +++ b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksCommonContext.java @@ -22,5 +22,5 @@ import org.apache.hyracks.api.io.IIOManager; public interface IHyracksCommonContext extends IHyracksFrameMgrContext{ - public IIOManager getIOManager(); + public IIOManager getIoManager(); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java index 019ac41..c8e4cf8 100644 --- a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java +++ b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java @@ -31,21 +31,21 @@ import org.apache.hyracks.api.resources.IDeallocatableRegistry; public interface IHyracksTaskContext extends IHyracksCommonContext, IWorkspaceFileFactory, IDeallocatableRegistry, IOperatorEnvironment { - public IHyracksJobletContext getJobletContext(); + IHyracksJobletContext getJobletContext(); - public TaskAttemptId getTaskAttemptId(); + TaskAttemptId getTaskAttemptId(); - public ICounterContext getCounterContext(); + ICounterContext getCounterContext(); - public ExecutorService getExecutorService(); + ExecutorService getExecutorService(); - public IDatasetPartitionManager getDatasetPartitionManager(); + IDatasetPartitionManager getDatasetPartitionManager(); - public void sendApplicationMessageToCC(Serializable message, DeploymentId deploymentId) throws Exception; + void sendApplicationMessageToCC(Serializable message, DeploymentId deploymentId) throws Exception; - public void sendApplicationMessageToCC(byte[] message, DeploymentId deploymentId) throws Exception; + void sendApplicationMessageToCC(byte[] message, DeploymentId deploymentId) throws Exception; - public void setSharedObject(Object object); + void setSharedObject(Object object); - public Object getSharedObject(); + Object getSharedObject(); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IComparator.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IComparator.java b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IComparator.java deleted file mode 100644 index f306c15..0000000 --- a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IComparator.java +++ /dev/null @@ -1,23 +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.api.dataflow.value; - -public interface IComparator { - public int compare(T o1, T o2); -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IComparatorFactory.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IComparatorFactory.java b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IComparatorFactory.java deleted file mode 100644 index 61c4ac3..0000000 --- a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/IComparatorFactory.java +++ /dev/null @@ -1,25 +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.api.dataflow.value; - -import java.io.Serializable; - -public interface IComparatorFactory extends Serializable { - public IComparator createComparator(); -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITypeTraits.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITypeTraits.java b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITypeTraits.java index 0b2261e..ec3ad3f 100644 --- a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITypeTraits.java +++ b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITypeTraits.java @@ -20,8 +20,17 @@ package org.apache.hyracks.api.dataflow.value; import java.io.Serializable; +/** + * Specify whether a type has fixed length and if so, what is the length + */ public interface ITypeTraits extends Serializable { - public boolean isFixedLength(); + /** + * @return true if the type has a fixed length, false otherwise + */ + boolean isFixedLength(); - public int getFixedLength(); + /** + * @return the fixed length if isFixedLength() returns true, undefined otherwise + */ + int getFixedLength(); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-client/src/main/java/org/apache/hyracks/client/dataset/HyracksDataset.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-client/src/main/java/org/apache/hyracks/client/dataset/HyracksDataset.java b/hyracks-fullstack/hyracks/hyracks-client/src/main/java/org/apache/hyracks/client/dataset/HyracksDataset.java index 5f038b2..c27110f 100644 --- a/hyracks-fullstack/hyracks/hyracks-client/src/main/java/org/apache/hyracks/client/dataset/HyracksDataset.java +++ b/hyracks-fullstack/hyracks/hyracks-client/src/main/java/org/apache/hyracks/client/dataset/HyracksDataset.java @@ -68,7 +68,7 @@ public class HyracksDataset implements IHyracksDataset { } @Override - public IIOManager getIOManager() { + public IIOManager getIoManager() { return null; } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java index fe3c02c..7224b49 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java @@ -147,7 +147,7 @@ public class Task implements IHyracksTaskContext, ICounterContext, Runnable { } @Override - public IIOManager getIOManager() { + public IIOManager getIoManager() { return joblet.getIOManager(); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/dataset/DatasetPartitionWriter.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/dataset/DatasetPartitionWriter.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/dataset/DatasetPartitionWriter.java index 952eb75..9ca2d68 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/dataset/DatasetPartitionWriter.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/dataset/DatasetPartitionWriter.java @@ -69,7 +69,7 @@ public class DatasetPartitionWriter implements IFrameWriter { this.datasetMemoryManager = datasetMemoryManager; resultSetPartitionId = new ResultSetPartitionId(jobId, rsId, partition); - resultState = new ResultState(resultSetPartitionId, asyncMode, ctx.getIOManager(), fileFactory, + resultState = new ResultState(resultSetPartitionId, asyncMode, ctx.getIoManager(), fileFactory, ctx.getInitialFrameSize()); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/partitions/MaterializedPartitionWriter.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/partitions/MaterializedPartitionWriter.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/partitions/MaterializedPartitionWriter.java index 37aed0a..3b52dc9 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/partitions/MaterializedPartitionWriter.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/partitions/MaterializedPartitionWriter.java @@ -75,11 +75,11 @@ public class MaterializedPartitionWriter implements IFrameWriter { public void nextFrame(ByteBuffer buffer) throws HyracksDataException { if (handle == null) { fRef = manager.getFileFactory().createUnmanagedWorkspaceFile(pid.toString()); - handle = ctx.getIOManager().open(fRef, IIOManager.FileReadWriteMode.READ_WRITE, + handle = ctx.getIoManager().open(fRef, IIOManager.FileReadWriteMode.READ_WRITE, IIOManager.FileSyncMode.METADATA_ASYNC_DATA_ASYNC); size = 0; } - size += ctx.getIOManager().syncWrite(handle, size, buffer); + size += ctx.getIoManager().syncWrite(handle, size, buffer); } @Override @@ -93,11 +93,11 @@ public class MaterializedPartitionWriter implements IFrameWriter { LOGGER.info("close(" + pid + " by " + taId); } if (handle != null) { - ctx.getIOManager().close(handle); + ctx.getIoManager().close(handle); } if (!failed) { manager.registerPartition(pid, taId, - new MaterializedPartition(ctx, fRef, executor, ctx.getIOManager()), + new MaterializedPartition(ctx, fRef, executor, ctx.getIoManager()), PartitionState.COMMITTED, taId.getAttempt() == 0 ? false : true); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/partitions/MaterializingPipelinedPartition.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/partitions/MaterializingPipelinedPartition.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/partitions/MaterializingPipelinedPartition.java index af6ef98..5506a94 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/partitions/MaterializingPipelinedPartition.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/partitions/MaterializingPipelinedPartition.java @@ -69,7 +69,7 @@ public class MaterializingPipelinedPartition implements IFrameWriter, IPartition TaskAttemptId taId, Executor executor) { this.ctx = ctx; this.executor = executor; - this.ioManager = ctx.getIOManager(); + this.ioManager = ctx.getIoManager(); this.manager = manager; this.pid = pid; this.taId = taId; @@ -206,7 +206,7 @@ public class MaterializingPipelinedPartition implements IFrameWriter, IPartition @Override public synchronized void nextFrame(ByteBuffer buffer) throws HyracksDataException { checkOrCreateFile(); - size += ctx.getIOManager().syncWrite(writeHandle, size, buffer); + size += ctx.getIoManager().syncWrite(writeHandle, size, buffer); notifyAll(); } @@ -222,7 +222,7 @@ public class MaterializingPipelinedPartition implements IFrameWriter, IPartition LOGGER.log(openCloseLevel, "close(" + pid + " by " + taId); } if (writeHandle != null) { - ctx.getIOManager().close(writeHandle); + ctx.getIoManager().close(writeHandle); } synchronized (this) { eos = true; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/base/AbstractOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/base/AbstractOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/base/AbstractOperatorDescriptor.java index 155aa03..a83273a 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/base/AbstractOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/base/AbstractOperatorDescriptor.java @@ -34,7 +34,7 @@ public abstract class AbstractOperatorDescriptor implements IOperatorDescriptor protected String[] partitions; - protected final RecordDescriptor[] recordDescriptors; + protected final RecordDescriptor[] outRecDescs; protected final int inputArity; @@ -46,7 +46,7 @@ public abstract class AbstractOperatorDescriptor implements IOperatorDescriptor odId = spec.createOperatorDescriptorId(this); this.inputArity = inputArity; this.outputArity = outputArity; - recordDescriptors = new RecordDescriptor[outputArity]; + outRecDescs = new RecordDescriptor[outputArity]; displayName = getClass().getName() + "[" + odId + "]"; } @@ -72,7 +72,7 @@ public abstract class AbstractOperatorDescriptor implements IOperatorDescriptor @Override public RecordDescriptor[] getOutputRecordDescriptors() { - return recordDescriptors; + return outRecDescs; } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/base/AbstractReplicateOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/base/AbstractReplicateOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/base/AbstractReplicateOperatorDescriptor.java index 1a9028d..8ee4fa3 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/base/AbstractReplicateOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/base/AbstractReplicateOperatorDescriptor.java @@ -60,7 +60,7 @@ public abstract class AbstractReplicateOperatorDescriptor extends AbstractOperat int outputArity, boolean[] outputMaterializationFlags) { super(spec, 1, outputArity); for (int i = 0; i < outputArity; i++) { - recordDescriptors[i] = rDesc; + outRecDescs[i] = rDesc; } this.outputMaterializationFlags = outputMaterializationFlags; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/AbstractDeserializedFileScanOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/AbstractDeserializedFileScanOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/AbstractDeserializedFileScanOperatorDescriptor.java index 6703b0f..c1e7ec7 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/AbstractDeserializedFileScanOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/AbstractDeserializedFileScanOperatorDescriptor.java @@ -40,7 +40,7 @@ public abstract class AbstractDeserializedFileScanOperatorDescriptor extends Abs public AbstractDeserializedFileScanOperatorDescriptor(IOperatorDescriptorRegistry spec, FileSplit[] splits, RecordDescriptor recordDescriptor) { super(spec, 0, 1); - recordDescriptors[0] = recordDescriptor; + outRecDescs[0] = recordDescriptor; this.splits = splits; } @@ -67,7 +67,7 @@ public abstract class AbstractDeserializedFileScanOperatorDescriptor extends Abs @Override public void open() throws HyracksDataException { FileSplit split = splits[index]; - RecordDescriptor desc = recordDescriptors[0]; + RecordDescriptor desc = outRecDescs[0]; IRecordReader reader; try { reader = createRecordReader(split.getFile(null), desc); @@ -75,7 +75,7 @@ public abstract class AbstractDeserializedFileScanOperatorDescriptor extends Abs throw new HyracksDataException(e); } if (desc == null) { - desc = recordDescriptors[0]; + desc = outRecDescs[0]; } writer.open(); try { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/AbstractFileWriteOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/AbstractFileWriteOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/AbstractFileWriteOperatorDescriptor.java index 2207441..543ad40 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/AbstractFileWriteOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/AbstractFileWriteOperatorDescriptor.java @@ -95,7 +95,7 @@ public abstract class AbstractFileWriteOperatorDescriptor extends AbstractSingle @Override public IOperatorNodePushable createPushRuntime(IHyracksTaskContext ctx, IRecordDescriptorProvider recordDescProvider, int partition, int nPartitions) { - return new DeserializedOperatorNodePushable(ctx, new FileWriteOperator(ctx.getIOManager(), + return new DeserializedOperatorNodePushable(ctx, new FileWriteOperator(ctx.getIoManager(), partition), recordDescProvider.getInputRecordDescriptor(getActivityId(), 0)); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FileRemoveOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FileRemoveOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FileRemoveOperatorDescriptor.java index 8acb182..a9f1ae5 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FileRemoveOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FileRemoveOperatorDescriptor.java @@ -62,7 +62,7 @@ public class FileRemoveOperatorDescriptor extends AbstractSingleActivityOperator public IOperatorNodePushable createPushRuntime(IHyracksTaskContext ctx, IRecordDescriptorProvider recordDescProvider, int partition, int nPartitions) throws HyracksDataException { final FileSplit split = fileSplitProvider.getFileSplits()[partition]; - final IIOManager ioManager = ctx.getIOManager(); + final IIOManager ioManager = ctx.getIoManager(); return new AbstractOperatorNodePushable() { @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FileScanOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FileScanOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FileScanOperatorDescriptor.java index 311f79e..76e6c79 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FileScanOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FileScanOperatorDescriptor.java @@ -46,7 +46,7 @@ public class FileScanOperatorDescriptor extends AbstractSingleActivityOperatorDe super(spec, 0, 1); this.fileSplitProvider = fileSplitProvider; this.tupleParserFactory = tupleParserFactory; - recordDescriptors[0] = rDesc; + outRecDescs[0] = rDesc; } @Override @@ -54,7 +54,7 @@ public class FileScanOperatorDescriptor extends AbstractSingleActivityOperatorDe IRecordDescriptorProvider recordDescProvider, int partition, int nPartitions) throws HyracksDataException { final FileSplit split = fileSplitProvider.getFileSplits()[partition]; final ITupleParser tp = tupleParserFactory.createTupleParser(ctx); - final IIOManager ioManager = ctx.getIOManager(); + final IIOManager ioManager = ctx.getIoManager(); return new AbstractUnaryOutputSourceOperatorNodePushable() { @Override public void initialize() throws HyracksDataException { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FrameFileWriterOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FrameFileWriterOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FrameFileWriterOperatorDescriptor.java index e398bc0..a34a322 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FrameFileWriterOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/FrameFileWriterOperatorDescriptor.java @@ -48,7 +48,7 @@ public class FrameFileWriterOperatorDescriptor extends AbstractSingleActivityOpe public IOperatorNodePushable createPushRuntime(IHyracksTaskContext ctx, IRecordDescriptorProvider recordDescProvider, final int partition, int nPartitions) { final FileSplit[] splits = fileSplitProvider.getFileSplits(); - final IIOManager ioManager = ctx.getIOManager(); + final IIOManager ioManager = ctx.getIoManager(); return new AbstractUnaryInputSinkOperatorNodePushable() { private OutputStream out; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/PlainFileWriterOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/PlainFileWriterOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/PlainFileWriterOperatorDescriptor.java index 8df7fa7..3a3f414 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/PlainFileWriterOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/file/PlainFileWriterOperatorDescriptor.java @@ -74,7 +74,7 @@ public class PlainFileWriterOperatorDescriptor extends AbstractSingleActivityOpe throws HyracksDataException { // Output files final FileSplit[] splits = fileSplitProvider.getFileSplits(); - IIOManager ioManager = ctx.getIOManager(); + IIOManager ioManager = ctx.getIoManager(); // Frame accessor final FrameTupleAccessor frameTupleAccessor = new FrameTupleAccessor( recordDescProvider.getInputRecordDescriptor(getActivityId(), 0)); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/DeserializedPreclusteredGroupOperator.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/DeserializedPreclusteredGroupOperator.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/DeserializedPreclusteredGroupOperator.java deleted file mode 100644 index 10d322f..0000000 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/DeserializedPreclusteredGroupOperator.java +++ /dev/null @@ -1,137 +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.dataflow.std.group; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.hyracks.api.dataflow.IOpenableDataReader; -import org.apache.hyracks.api.dataflow.IOpenableDataWriter; -import org.apache.hyracks.api.dataflow.value.IComparator; -import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.dataflow.std.base.IOpenableDataWriterOperator; - -public class DeserializedPreclusteredGroupOperator implements IOpenableDataWriterOperator { - private final int[] groupFields; - - @SuppressWarnings("rawtypes") - private final IComparator[] comparators; - - private final IGroupAggregator aggregator; - - private Object[] lastData; - - private IOpenableDataWriter writer; - - private List buffer; - - private IOpenableDataReader reader; - - @SuppressWarnings("rawtypes") - public DeserializedPreclusteredGroupOperator(int[] groupFields, IComparator[] comparators, - IGroupAggregator aggregator) { - this.groupFields = groupFields; - this.comparators = comparators; - this.aggregator = aggregator; - buffer = new ArrayList(); - reader = new IOpenableDataReader() { - private int idx; - - @Override - public void open() { - idx = 0; - } - - @Override - public void close() { - } - - @Override - public Object[] readData() { - return idx >= buffer.size() ? null : buffer.get(idx++); - } - }; - } - - @Override - public void close() throws HyracksDataException { - if (!buffer.isEmpty()) { - aggregate(); - } - writer.close(); - try { - aggregator.close(); - } catch (Exception e) { - throw new HyracksDataException(e); - } - } - - private void aggregate() throws HyracksDataException { - reader.open(); - aggregator.aggregate(reader, writer); - reader.close(); - buffer.clear(); - } - - @Override - public void open() throws HyracksDataException { - lastData = null; - writer.open(); - } - - @Override - public void setDataWriter(int index, IOpenableDataWriter writer) { - if (index != 0) { - throw new IllegalArgumentException(); - } - this.writer = writer; - } - - @Override - public void writeData(Object[] data) throws HyracksDataException { - if (lastData != null && compare(data, lastData) != 0) { - aggregate(); - } - lastData = data; - buffer.add(data); - } - - @SuppressWarnings("unchecked") - private int compare(Object[] d1, Object[] d2) { - for (int i = 0; i < groupFields.length; ++i) { - int fIdx = groupFields[i]; - int c = comparators[i].compare(d1[fIdx], d2[fIdx]); - if (c != 0) { - return c; - } - } - return 0; - } - - @Override - public void fail() throws HyracksDataException { - // TODO Auto-generated method stub - - } - - @Override - public void flush() throws HyracksDataException { - throw new HyracksDataException("unsupported operation"); - } -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupBuildOperatorNodePushable.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupBuildOperatorNodePushable.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupBuildOperatorNodePushable.java index c049b8d..d7b76ce 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupBuildOperatorNodePushable.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupBuildOperatorNodePushable.java @@ -135,6 +135,6 @@ public class ExternalGroupBuildOperatorNodePushable extends AbstractUnaryInputSi public RunFileWriter getRunFileWriter() throws HyracksDataException { FileReference file = ctx.getJobletContext() .createManagedWorkspaceFile(ExternalGroupOperatorDescriptor.class.getSimpleName()); - return new RunFileWriter(file, ctx.getIOManager()); + return new RunFileWriter(file, ctx.getIoManager()); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptor.java index 2d8433d..23dee02 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptor.java @@ -88,7 +88,7 @@ public class ExternalGroupOperatorDescriptor extends AbstractOperatorDescriptor * Set the record descriptor. Note that since this operator is a unary * operator, only the first record descriptor is used here. */ - recordDescriptors[0] = outRecordDesc; + outRecDescs[0] = outRecordDesc; this.tableSize = inputSizeInTuple; this.fileSize = inputFileSize; } @@ -128,7 +128,7 @@ public class ExternalGroupOperatorDescriptor extends AbstractOperatorDescriptor return new ExternalGroupBuildOperatorNodePushable(ctx, new TaskId(getActivityId(), partition), tableSize, fileSize, keyFields, framesLimit, comparatorFactories, firstNormalizerFactory, partialAggregatorFactory, recordDescProvider.getInputRecordDescriptor(getActivityId(), 0), - recordDescriptors[0], spillableTableFactory); + outRecDescs[0], spillableTableFactory); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupWriteOperatorNodePushable.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupWriteOperatorNodePushable.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupWriteOperatorNodePushable.java index 9a3668e..4d368bd 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupWriteOperatorNodePushable.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupWriteOperatorNodePushable.java @@ -173,6 +173,6 @@ public class ExternalGroupWriteOperatorNodePushable extends AbstractUnaryOutputS public RunFileWriter getRunFileWriter() throws HyracksDataException { FileReference newRun = ctx.getJobletContext() .createManagedWorkspaceFile(ExternalGroupOperatorDescriptor.class.getSimpleName()); - return new RunFileWriter(newRun, ctx.getIOManager()); + return new RunFileWriter(newRun, ctx.getIoManager()); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/preclustered/PreclusteredGroupOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/preclustered/PreclusteredGroupOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/preclustered/PreclusteredGroupOperatorDescriptor.java index b45879c..0fe0f54 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/preclustered/PreclusteredGroupOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/preclustered/PreclusteredGroupOperatorDescriptor.java @@ -49,7 +49,7 @@ public class PreclusteredGroupOperatorDescriptor extends AbstractSingleActivityO this.groupFields = groupFields; this.comparatorFactories = comparatorFactories; this.aggregatorFactory = aggregatorFactory; - recordDescriptors[0] = recordDescriptor; + outRecDescs[0] = recordDescriptor; this.groupAll = groupAll; } @@ -58,6 +58,6 @@ public class PreclusteredGroupOperatorDescriptor extends AbstractSingleActivityO final IRecordDescriptorProvider recordDescProvider, int partition, int nPartitions) throws HyracksDataException { return new PreclusteredGroupOperatorNodePushable(ctx, groupFields, comparatorFactories, aggregatorFactory, - recordDescProvider.getInputRecordDescriptor(getActivityId(), 0), recordDescriptors[0], groupAll); + recordDescProvider.getInputRecordDescriptor(getActivityId(), 0), outRecDescs[0], groupAll); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/sort/ExternalSortGroupByRunGenerator.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/sort/ExternalSortGroupByRunGenerator.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/sort/ExternalSortGroupByRunGenerator.java index 091d323..3f10f50 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/sort/ExternalSortGroupByRunGenerator.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/sort/ExternalSortGroupByRunGenerator.java @@ -72,7 +72,7 @@ public class ExternalSortGroupByRunGenerator extends AbstractExternalSortRunGene protected RunFileWriter getRunFileWriter() throws HyracksDataException { FileReference file = ctx.getJobletContext().createManagedWorkspaceFile( ExternalSortGroupByRunGenerator.class.getSimpleName()); - return new RunFileWriter(file, ctx.getIOManager()); + return new RunFileWriter(file, ctx.getIoManager()); } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/sort/ExternalSortGroupByRunMerger.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/sort/ExternalSortGroupByRunMerger.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/sort/ExternalSortGroupByRunMerger.java index b13c647..364f1c7 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/sort/ExternalSortGroupByRunMerger.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/sort/ExternalSortGroupByRunMerger.java @@ -103,7 +103,7 @@ public class ExternalSortGroupByRunMerger extends AbstractExternalSortRunMerger @Override protected RunFileWriter prepareIntermediateMergeRunFile() throws HyracksDataException { FileReference newRun = ctx.createManagedWorkspaceFile(ExternalSortGroupByRunMerger.class.getSimpleName()); - return new RunFileWriter(newRun, ctx.getIOManager()); + return new RunFileWriter(newRun, ctx.getIoManager()); } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/intersect/IntersectOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/intersect/IntersectOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/intersect/IntersectOperatorDescriptor.java index a213ca1..fd7a8cb 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/intersect/IntersectOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/intersect/IntersectOperatorDescriptor.java @@ -70,7 +70,7 @@ public class IntersectOperatorDescriptor extends AbstractOperatorDescriptor { INormalizedKeyComputerFactory firstKeyNormalizerFactory, IBinaryComparatorFactory[] comparatorFactories, RecordDescriptor recordDescriptor) throws HyracksException { super(spec, nInputs, 1); - recordDescriptors[0] = recordDescriptor; + outRecDescs[0] = recordDescriptor; validateParameters(compareAndProjectFields, comparatorFactories); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java index b622c9c..d9e6180 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java @@ -110,7 +110,7 @@ public class HybridHashJoinOperatorDescriptor extends AbstractOperatorDescriptor this.predEvaluatorFactory = predEvalFactory; this.isLeftOuter = isLeftOuter; this.nonMatchWriterFactories1 = nullWriterFactories1; - recordDescriptors[0] = recordDescriptor; + outRecDescs[0] = recordDescriptor; } @Override @@ -338,7 +338,7 @@ public class HybridHashJoinOperatorDescriptor extends AbstractOperatorDescriptor if (writer == null) { FileReference file = ctx.getJobletContext() .createManagedWorkspaceFile(BuildAndPartitionActivityNode.class.getSimpleName()); - writer = new RunFileWriter(file, ctx.getIOManager()); + writer = new RunFileWriter(file, ctx.getIoManager()); writer.open(); state.fWriters[i] = writer; } @@ -560,7 +560,7 @@ public class HybridHashJoinOperatorDescriptor extends AbstractOperatorDescriptor if (writer == null) { FileReference file = ctx .createManagedWorkspaceFile(PartitionAndJoinActivityNode.class.getSimpleName()); - writer = new RunFileWriter(file, ctx.getIOManager()); + writer = new RunFileWriter(file, ctx.getIoManager()); writer.open(); probeWriters[i] = writer; } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java index cbeadd8..702dae6 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java @@ -80,7 +80,7 @@ public class InMemoryHashJoinOperatorDescriptor extends AbstractOperatorDescript this.hashFunctionFactories = hashFunctionFactories; this.comparatorFactories = comparatorFactories; this.predEvaluatorFactory = predEvalFactory; - recordDescriptors[0] = recordDescriptor; + outRecDescs[0] = recordDescriptor; this.isLeftOuter = false; this.nonMatchWriterFactories = null; this.tableSize = tableSize; @@ -97,7 +97,7 @@ public class InMemoryHashJoinOperatorDescriptor extends AbstractOperatorDescript this.hashFunctionFactories = hashFunctionFactories; this.comparatorFactories = comparatorFactories; this.predEvaluatorFactory = predEvalFactory; - recordDescriptors[0] = recordDescriptor; + outRecDescs[0] = recordDescriptor; this.isLeftOuter = isLeftOuter; this.nonMatchWriterFactories = missingWriterFactories1; this.tableSize = tableSize; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NestedLoopJoin.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NestedLoopJoin.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NestedLoopJoin.java index 16c21df..d9c0bcd 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NestedLoopJoin.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NestedLoopJoin.java @@ -92,7 +92,7 @@ public class NestedLoopJoin { FileReference file = ctx.getJobletContext() .createManagedWorkspaceFile(this.getClass().getSimpleName() + this.toString()); - runFileWriter = new RunFileWriter(file, ctx.getIOManager()); + runFileWriter = new RunFileWriter(file, ctx.getIoManager()); runFileWriter.open(); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NestedLoopJoinOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NestedLoopJoinOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NestedLoopJoinOperatorDescriptor.java index 5d79f75..99dbfad 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NestedLoopJoinOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NestedLoopJoinOperatorDescriptor.java @@ -68,7 +68,7 @@ public class NestedLoopJoinOperatorDescriptor extends AbstractOperatorDescriptor IMissingWriterFactory[] nullWriterFactories1) { super(spec, 2, 1); this.comparatorFactory = comparatorFactory; - this.recordDescriptors[0] = recordDescriptor; + this.outRecDescs[0] = recordDescriptor; this.memSize = memSize; this.predEvaluatorFactory = predEvalFactory; this.isLeftOuter = isLeftOuter; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoin.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoin.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoin.java index a5e2f6f..5de272a 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoin.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoin.java @@ -216,7 +216,7 @@ public class OptimizedHybridHashJoin { RunFileWriter writer = runFileWriters[pid]; if (writer == null) { FileReference file = ctx.getJobletContext().createManagedWorkspaceFile(refName); - writer = new RunFileWriter(file, ctx.getIOManager()); + writer = new RunFileWriter(file, ctx.getIoManager()); writer.open(); runFileWriters[pid] = writer; } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java index d5e3568..f699075 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java @@ -155,7 +155,7 @@ public class OptimizedHybridHashJoinOperatorDescriptor extends AbstractOperatorD this.comparatorFactories = comparatorFactories; this.tuplePairComparatorFactoryProbe2Build = tupPaircomparatorFactory01; this.tuplePairComparatorFactoryBuild2Probe = tupPaircomparatorFactory10; - recordDescriptors[0] = recordDescriptor; + outRecDescs[0] = recordDescriptor; this.predEvaluatorFactory = predEvaluatorFactory; this.isLeftOuter = isLeftOuter; this.nonMatchWriterFactories = nonMatchWriterFactories; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/map/DeserializedMapperOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/map/DeserializedMapperOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/map/DeserializedMapperOperatorDescriptor.java index 771c5e3..eb099f2 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/map/DeserializedMapperOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/map/DeserializedMapperOperatorDescriptor.java @@ -76,7 +76,7 @@ public class DeserializedMapperOperatorDescriptor extends AbstractSingleActivity IDeserializedMapperFactory mapperFactory, RecordDescriptor recordDescriptor) { super(spec, 1, 1); this.mapperFactory = mapperFactory; - recordDescriptors[0] = recordDescriptor; + outRecDescs[0] = recordDescriptor; } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/ConstantTupleSourceOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/ConstantTupleSourceOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/ConstantTupleSourceOperatorDescriptor.java index 205bb3c..0629168 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/ConstantTupleSourceOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/ConstantTupleSourceOperatorDescriptor.java @@ -40,7 +40,7 @@ public class ConstantTupleSourceOperatorDescriptor extends AbstractSingleActivit this.tupleData = tupleData; this.fieldSlots = fieldSlots; this.tupleSize = tupleSize; - recordDescriptors[0] = recDesc; + outRecDescs[0] = recDesc; } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/IdentityOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/IdentityOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/IdentityOperatorDescriptor.java index a07540b..156198a 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/IdentityOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/IdentityOperatorDescriptor.java @@ -34,7 +34,7 @@ public class IdentityOperatorDescriptor extends AbstractSingleActivityOperatorDe public IdentityOperatorDescriptor(IOperatorDescriptorRegistry spec, RecordDescriptor rDesc) { super(spec, 1, 1); - recordDescriptors[0] = rDesc; + outRecDescs[0] = rDesc; } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/735532e4/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/LimitOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/LimitOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/LimitOperatorDescriptor.java index 084c9ab..4fc1ad2 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/LimitOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/LimitOperatorDescriptor.java @@ -39,7 +39,7 @@ public class LimitOperatorDescriptor extends AbstractSingleActivityOperatorDescr public LimitOperatorDescriptor(IOperatorDescriptorRegistry spec, RecordDescriptor rDesc, int outputLimit) { super(spec, 1, 1); - recordDescriptors[0] = rDesc; + outRecDescs[0] = rDesc; this.outputLimit = outputLimit; } @@ -55,7 +55,7 @@ public class LimitOperatorDescriptor extends AbstractSingleActivityOperatorDescr @Override public void open() throws HyracksDataException { - fta = new FrameTupleAccessor(recordDescriptors[0]); + fta = new FrameTupleAccessor(outRecDescs[0]); currentSize = 0; finished = false; writer.open();