http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java index 97c6ed2..abadfb2 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java @@ -23,7 +23,6 @@ import java.util.List; import org.apache.asterix.common.cluster.IClusterStateManager; import org.apache.asterix.common.config.DatasetConfig.DatasetType; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.metadata.MetadataManager; import org.apache.asterix.metadata.MetadataTransactionContext; import org.apache.asterix.metadata.entities.Dataset; @@ -52,13 +51,7 @@ public class MetadataManagerUtil { if (dataverse == null || typeName == null) { return null; } - Datatype type; - try { - type = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverse, typeName); - } catch (MetadataException e) { - throw new AlgebricksException( - "Metadata exception while looking up type '" + typeName + "' in dataverse '" + dataverse + "'", e); - } + Datatype type = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverse, typeName); if (type == null) { throw new AlgebricksException("Type name '" + typeName + "' unknown in dataverse '" + dataverse + "'"); } @@ -81,7 +74,7 @@ public class MetadataManagerUtil { } public static DatasourceAdapter getAdapter(MetadataTransactionContext mdTxnCtx, String dataverseName, - String adapterName) throws MetadataException { + String adapterName) throws AlgebricksException { DatasourceAdapter adapter; // search in default namespace (built-in adapter) adapter = MetadataManager.INSTANCE.getAdapter(mdTxnCtx, MetadataConstants.METADATA_DATAVERSE_NAME, adapterName); @@ -95,11 +88,7 @@ public class MetadataManagerUtil { public static Dataset findDataset(MetadataTransactionContext mdTxnCtx, String dataverse, String dataset) throws AlgebricksException { - try { - return MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverse, dataset); - } catch (MetadataException e) { - throw new AlgebricksException(e); - } + return MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverse, dataset); } public static Dataset findExistingDataset(MetadataTransactionContext mdTxnCtx, String dataverseName, @@ -131,47 +120,27 @@ public class MetadataManagerUtil { public static Feed findFeed(MetadataTransactionContext mdTxnCtx, String dataverse, String feedName) throws AlgebricksException { - try { - return MetadataManager.INSTANCE.getFeed(mdTxnCtx, dataverse, feedName); - } catch (MetadataException e) { - throw new AlgebricksException(e); - } + return MetadataManager.INSTANCE.getFeed(mdTxnCtx, dataverse, feedName); } public static FeedConnection findFeedConnection(MetadataTransactionContext mdTxnCtx, String dataverse, String feedName, String datasetName) throws AlgebricksException { - try { - return MetadataManager.INSTANCE.getFeedConnection(mdTxnCtx, dataverse, feedName, datasetName); - } catch (MetadataException e) { - throw new AlgebricksException(e); - } + return MetadataManager.INSTANCE.getFeedConnection(mdTxnCtx, dataverse, feedName, datasetName); } public static FeedPolicyEntity findFeedPolicy(MetadataTransactionContext mdTxnCtx, String dataverse, String policyName) throws AlgebricksException { - try { - return MetadataManager.INSTANCE.getFeedPolicy(mdTxnCtx, dataverse, policyName); - } catch (MetadataException e) { - throw new AlgebricksException(e); - } + return MetadataManager.INSTANCE.getFeedPolicy(mdTxnCtx, dataverse, policyName); } public static List<Index> getDatasetIndexes(MetadataTransactionContext mdTxnCtx, String dataverseName, String datasetName) throws AlgebricksException { - try { - return MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseName, datasetName); - } catch (MetadataException e) { - throw new AlgebricksException(e); - } + return MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseName, datasetName); } public static DataSource findDataSource(IClusterStateManager clusterStateManager, MetadataTransactionContext mdTxnCtx, DataSourceId id) throws AlgebricksException { - try { - return lookupSourceInMetadata(clusterStateManager, mdTxnCtx, id); - } catch (MetadataException e) { - throw new AlgebricksException(e); - } + return lookupSourceInMetadata(clusterStateManager, mdTxnCtx, id); } public static DataSource lookupSourceInMetadata(IClusterStateManager clusterStateManager,
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java index fb9901d..463c96b 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java @@ -36,8 +36,6 @@ import org.apache.asterix.common.context.IStorageComponentProvider; import org.apache.asterix.common.dataflow.ICcApplicationContext; import org.apache.asterix.common.dataflow.LSMTreeInsertDeleteOperatorDescriptor; import org.apache.asterix.common.exceptions.AsterixException; -import org.apache.asterix.common.exceptions.CompilationException; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.common.metadata.LockList; import org.apache.asterix.common.transactions.JobId; import org.apache.asterix.common.utils.StoragePathUtil; @@ -57,7 +55,6 @@ import org.apache.asterix.external.provider.AdapterFactoryProvider; import org.apache.asterix.external.util.ExternalDataConstants; import org.apache.asterix.external.util.FeedConstants; import org.apache.asterix.formats.base.IDataFormat; -import org.apache.asterix.om.functions.IFunctionExtensionManager; import org.apache.asterix.formats.nontagged.BinaryComparatorFactoryProvider; import org.apache.asterix.formats.nontagged.LinearizeComparatorFactoryProvider; import org.apache.asterix.formats.nontagged.TypeTraitProvider; @@ -79,6 +76,7 @@ import org.apache.asterix.metadata.utils.DatasetUtil; import org.apache.asterix.metadata.utils.MetadataConstants; import org.apache.asterix.metadata.utils.SplitsAndConstraintsUtil; import org.apache.asterix.om.functions.BuiltinFunctions; +import org.apache.asterix.om.functions.IFunctionExtensionManager; import org.apache.asterix.om.functions.IFunctionManager; import org.apache.asterix.om.types.ARecordType; import org.apache.asterix.om.types.ATypeTag; @@ -399,7 +397,7 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> return new Pair<>(dataScanner, constraint); } - public Dataverse findDataverse(String dataverseName) throws CompilationException { + public Dataverse findDataverse(String dataverseName) throws AlgebricksException { return MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverseName); } @@ -437,47 +435,39 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> boolean lowKeyInclusive, boolean highKeyInclusive, boolean propagateFilter, int[] minFilterFieldIndexes, int[] maxFilterFieldIndexes) throws AlgebricksException { boolean isSecondary = true; - try { - Index primaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), - dataset.getDatasetName(), dataset.getDatasetName()); - if (primaryIndex != null && (dataset.getDatasetType() != DatasetType.EXTERNAL)) { - isSecondary = !indexName.equals(primaryIndex.getIndexName()); - } - Index theIndex = - isSecondary - ? MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), - dataset.getDatasetName(), indexName) - : primaryIndex; - int numPrimaryKeys = dataset.getPrimaryKeys().size(); - RecordDescriptor outputRecDesc = JobGenHelper.mkRecordDescriptor(typeEnv, opSchema, context); - Pair<IFileSplitProvider, AlgebricksPartitionConstraint> spPc = - getSplitProviderAndConstraints(dataset, theIndex.getIndexName()); - int[] primaryKeyFields = new int[numPrimaryKeys]; - for (int i = 0; i < numPrimaryKeys; i++) { - primaryKeyFields[i] = i; - } + Index primaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), + dataset.getDatasetName(), dataset.getDatasetName()); + if (primaryIndex != null && (dataset.getDatasetType() != DatasetType.EXTERNAL)) { + isSecondary = !indexName.equals(primaryIndex.getIndexName()); + } + Index theIndex = isSecondary ? MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), + dataset.getDatasetName(), indexName) : primaryIndex; + int numPrimaryKeys = dataset.getPrimaryKeys().size(); + RecordDescriptor outputRecDesc = JobGenHelper.mkRecordDescriptor(typeEnv, opSchema, context); + Pair<IFileSplitProvider, AlgebricksPartitionConstraint> spPc = + getSplitProviderAndConstraints(dataset, theIndex.getIndexName()); + int[] primaryKeyFields = new int[numPrimaryKeys]; + for (int i = 0; i < numPrimaryKeys; i++) { + primaryKeyFields[i] = i; + } - ISearchOperationCallbackFactory searchCallbackFactory = dataset.getSearchCallbackFactory( - storageComponentProvider, theIndex, jobId, IndexOperation.SEARCH, primaryKeyFields); - IStorageManager storageManager = getStorageComponentProvider().getStorageManager(); - IIndexDataflowHelperFactory indexHelperFactory = new IndexDataflowHelperFactory(storageManager, spPc.first); - BTreeSearchOperatorDescriptor btreeSearchOp; - if (dataset.getDatasetType() == DatasetType.INTERNAL) { - btreeSearchOp = new BTreeSearchOperatorDescriptor(jobSpec, outputRecDesc, lowKeyFields, highKeyFields, - lowKeyInclusive, highKeyInclusive, indexHelperFactory, retainInput, retainMissing, - context.getMissingWriterFactory(), searchCallbackFactory, minFilterFieldIndexes, - maxFilterFieldIndexes, propagateFilter); - } else { - btreeSearchOp = new ExternalBTreeSearchOperatorDescriptor(jobSpec, outputRecDesc, lowKeyFields, - highKeyFields, lowKeyInclusive, highKeyInclusive, indexHelperFactory, retainInput, - retainMissing, context.getMissingWriterFactory(), searchCallbackFactory, minFilterFieldIndexes, - maxFilterFieldIndexes, - ExternalDatasetsRegistry.INSTANCE.getAndLockDatasetVersion(dataset, this)); - } - return new Pair<>(btreeSearchOp, spPc.second); - } catch (MetadataException me) { - throw new AlgebricksException(me); + ISearchOperationCallbackFactory searchCallbackFactory = dataset.getSearchCallbackFactory( + storageComponentProvider, theIndex, jobId, IndexOperation.SEARCH, primaryKeyFields); + IStorageManager storageManager = getStorageComponentProvider().getStorageManager(); + IIndexDataflowHelperFactory indexHelperFactory = new IndexDataflowHelperFactory(storageManager, spPc.first); + BTreeSearchOperatorDescriptor btreeSearchOp; + if (dataset.getDatasetType() == DatasetType.INTERNAL) { + btreeSearchOp = new BTreeSearchOperatorDescriptor(jobSpec, outputRecDesc, lowKeyFields, highKeyFields, + lowKeyInclusive, highKeyInclusive, indexHelperFactory, retainInput, retainMissing, + context.getMissingWriterFactory(), searchCallbackFactory, minFilterFieldIndexes, + maxFilterFieldIndexes, propagateFilter); + } else { + btreeSearchOp = new ExternalBTreeSearchOperatorDescriptor(jobSpec, outputRecDesc, lowKeyFields, + highKeyFields, lowKeyInclusive, highKeyInclusive, indexHelperFactory, retainInput, retainMissing, + context.getMissingWriterFactory(), searchCallbackFactory, minFilterFieldIndexes, + maxFilterFieldIndexes, ExternalDatasetsRegistry.INSTANCE.getAndLockDatasetVersion(dataset, this)); } + return new Pair<>(btreeSearchOp, spPc.second); } public Pair<IOperatorDescriptor, AlgebricksPartitionConstraint> buildRtreeRuntime(JobSpecification jobSpec, @@ -485,43 +475,39 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> JobGenContext context, boolean retainInput, boolean retainMissing, Dataset dataset, String indexName, int[] keyFields, boolean propagateFilter, int[] minFilterFieldIndexes, int[] maxFilterFieldIndexes) throws AlgebricksException { - try { - int numPrimaryKeys = dataset.getPrimaryKeys().size(); - Index secondaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), - dataset.getDatasetName(), indexName); - if (secondaryIndex == null) { - throw new AlgebricksException( - "Code generation error: no index " + indexName + " for dataset " + dataset.getDatasetName()); - } - RecordDescriptor outputRecDesc = JobGenHelper.mkRecordDescriptor(typeEnv, opSchema, context); - Pair<IFileSplitProvider, AlgebricksPartitionConstraint> spPc = - getSplitProviderAndConstraints(dataset, secondaryIndex.getIndexName()); - int[] primaryKeyFields = new int[numPrimaryKeys]; - for (int i = 0; i < numPrimaryKeys; i++) { - primaryKeyFields[i] = i; - } - - ISearchOperationCallbackFactory searchCallbackFactory = dataset.getSearchCallbackFactory( - storageComponentProvider, secondaryIndex, jobId, IndexOperation.SEARCH, primaryKeyFields); - RTreeSearchOperatorDescriptor rtreeSearchOp; - IIndexDataflowHelperFactory indexDataflowHelperFactory = - new IndexDataflowHelperFactory(storageComponentProvider.getStorageManager(), spPc.first); - if (dataset.getDatasetType() == DatasetType.INTERNAL) { - rtreeSearchOp = new RTreeSearchOperatorDescriptor(jobSpec, outputRecDesc, keyFields, true, true, - indexDataflowHelperFactory, retainInput, retainMissing, context.getMissingWriterFactory(), - searchCallbackFactory, minFilterFieldIndexes, maxFilterFieldIndexes, propagateFilter); - } else { - // Create the operator - rtreeSearchOp = new ExternalRTreeSearchOperatorDescriptor(jobSpec, outputRecDesc, keyFields, true, true, - indexDataflowHelperFactory, retainInput, retainMissing, context.getMissingWriterFactory(), - searchCallbackFactory, minFilterFieldIndexes, maxFilterFieldIndexes, - ExternalDatasetsRegistry.INSTANCE.getAndLockDatasetVersion(dataset, this)); - } + int numPrimaryKeys = dataset.getPrimaryKeys().size(); + Index secondaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), + dataset.getDatasetName(), indexName); + if (secondaryIndex == null) { + throw new AlgebricksException( + "Code generation error: no index " + indexName + " for dataset " + dataset.getDatasetName()); + } + RecordDescriptor outputRecDesc = JobGenHelper.mkRecordDescriptor(typeEnv, opSchema, context); + Pair<IFileSplitProvider, AlgebricksPartitionConstraint> spPc = + getSplitProviderAndConstraints(dataset, secondaryIndex.getIndexName()); + int[] primaryKeyFields = new int[numPrimaryKeys]; + for (int i = 0; i < numPrimaryKeys; i++) { + primaryKeyFields[i] = i; + } - return new Pair<>(rtreeSearchOp, spPc.second); - } catch (MetadataException me) { - throw new AlgebricksException(me); + ISearchOperationCallbackFactory searchCallbackFactory = dataset.getSearchCallbackFactory( + storageComponentProvider, secondaryIndex, jobId, IndexOperation.SEARCH, primaryKeyFields); + RTreeSearchOperatorDescriptor rtreeSearchOp; + IIndexDataflowHelperFactory indexDataflowHelperFactory = + new IndexDataflowHelperFactory(storageComponentProvider.getStorageManager(), spPc.first); + if (dataset.getDatasetType() == DatasetType.INTERNAL) { + rtreeSearchOp = new RTreeSearchOperatorDescriptor(jobSpec, outputRecDesc, keyFields, true, true, + indexDataflowHelperFactory, retainInput, retainMissing, context.getMissingWriterFactory(), + searchCallbackFactory, minFilterFieldIndexes, maxFilterFieldIndexes, propagateFilter); + } else { + // Create the operator + rtreeSearchOp = new ExternalRTreeSearchOperatorDescriptor(jobSpec, outputRecDesc, keyFields, true, true, + indexDataflowHelperFactory, retainInput, retainMissing, context.getMissingWriterFactory(), + searchCallbackFactory, minFilterFieldIndexes, maxFilterFieldIndexes, + ExternalDatasetsRegistry.INSTANCE.getAndLockDatasetVersion(dataset, this)); } + + return new Pair<>(rtreeSearchOp, spPc.second); } @Override @@ -583,26 +569,22 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> fieldPermutation[numKeys + 1] = idx; } - try { - boolean temp = dataset.getDatasetDetails().isTemp(); - isTemporaryDatasetWriteJob = isTemporaryDatasetWriteJob && temp; - Pair<IFileSplitProvider, AlgebricksPartitionConstraint> splitsAndConstraint = - getSplitProviderAndConstraints(dataset); - long numElementsHint = getCardinalityPerPartitionHint(dataset); - // TODO - // figure out the right behavior of the bulkload and then give the - // right callback - // (ex. what's the expected behavior when there is an error during - // bulkload?) - IIndexDataflowHelperFactory indexHelperFactory = new IndexDataflowHelperFactory( - storageComponentProvider.getStorageManager(), splitsAndConstraint.first); - LSMIndexBulkLoadOperatorDescriptor btreeBulkLoad = new LSMIndexBulkLoadOperatorDescriptor(spec, null, - fieldPermutation, GlobalConfig.DEFAULT_TREE_FILL_FACTOR, false, numElementsHint, true, - indexHelperFactory, null, BulkLoadUsage.LOAD, dataset.getDatasetId()); - return new Pair<>(btreeBulkLoad, splitsAndConstraint.second); - } catch (MetadataException me) { - throw new AlgebricksException(me); - } + boolean temp = dataset.getDatasetDetails().isTemp(); + isTemporaryDatasetWriteJob = isTemporaryDatasetWriteJob && temp; + Pair<IFileSplitProvider, AlgebricksPartitionConstraint> splitsAndConstraint = + getSplitProviderAndConstraints(dataset); + long numElementsHint = getCardinalityPerPartitionHint(dataset); + // TODO + // figure out the right behavior of the bulkload and then give the + // right callback + // (ex. what's the expected behavior when there is an error during + // bulkload?) + IIndexDataflowHelperFactory indexHelperFactory = + new IndexDataflowHelperFactory(storageComponentProvider.getStorageManager(), splitsAndConstraint.first); + LSMIndexBulkLoadOperatorDescriptor btreeBulkLoad = new LSMIndexBulkLoadOperatorDescriptor(spec, null, + fieldPermutation, GlobalConfig.DEFAULT_TREE_FILL_FACTOR, false, numElementsHint, true, + indexHelperFactory, null, BulkLoadUsage.LOAD, dataset.getDatasetId()); + return new Pair<>(btreeBulkLoad, splitsAndConstraint.second); } @Override @@ -680,13 +662,8 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> } Dataset dataset = MetadataManagerUtil.findExistingDataset(mdTxnCtx, dataverseName, datasetName); - Index secondaryIndex; - try { - secondaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), - dataset.getDatasetName(), indexName); - } catch (MetadataException e) { - throw new AlgebricksException(e); - } + Index secondaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), + dataset.getDatasetName(), indexName); // TokenizeOperator only supports a keyword or n-gram index. switch (secondaryIndex.getIndexType()) { case SINGLE_PARTITION_WORD_INVIX: @@ -703,8 +680,8 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> /** * Calculate an estimate size of the bloom filter. Note that this is an - * estimation which assumes that the data is going to be uniformly - * distributed across all partitions. + * estimation which assumes that the data is going to be uniformly distributed + * across all partitions. * * @param dataset * @return Number of elements that will be used to create a bloom filter per @@ -779,7 +756,7 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> } public DatasourceAdapter getAdapter(MetadataTransactionContext mdTxnCtx, String dataverseName, String adapterName) - throws MetadataException { + throws AlgebricksException { DatasourceAdapter adapter; // search in default namespace (built-in adapter) adapter = MetadataManager.INSTANCE.getAdapter(mdTxnCtx, MetadataConstants.METADATA_DATAVERSE_NAME, adapterName); @@ -816,7 +793,8 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> // Create the file index data flow helper IIndexDataflowHelperFactory indexDataflowHelperFactory = new IndexDataflowHelperFactory(storageComponentProvider.getStorageManager(), spPc.first); - // Create the out record descriptor, appContext and fileSplitProvider for the files index + // Create the out record descriptor, appContext and fileSplitProvider for the + // files index RecordDescriptor outRecDesc = JobGenHelper.mkRecordDescriptor(typeEnv, opSchema, context); ISearchOperationCallbackFactory searchOpCallbackFactory = dataset .getSearchCallbackFactory(storageComponentProvider, fileIndex, jobId, IndexOperation.SEARCH, null); @@ -877,8 +855,7 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> } public Pair<IOperatorDescriptor, AlgebricksPartitionConstraint> buildExternalDatasetDataScannerRuntime( - JobSpecification jobSpec, IAType itemType, IAdapterFactory adapterFactory) - throws AlgebricksException { + JobSpecification jobSpec, IAType itemType, IAdapterFactory adapterFactory) throws AlgebricksException { if (itemType.getTypeTag() != ATypeTag.OBJECT) { throw new AlgebricksException("Can only scan datasets of records."); } @@ -984,35 +961,31 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> } } - try { - Index primaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), - dataset.getDatasetName(), dataset.getDatasetName()); - Pair<IFileSplitProvider, AlgebricksPartitionConstraint> splitsAndConstraint = - getSplitProviderAndConstraints(dataset); + Index primaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), + dataset.getDatasetName(), dataset.getDatasetName()); + Pair<IFileSplitProvider, AlgebricksPartitionConstraint> splitsAndConstraint = + getSplitProviderAndConstraints(dataset); - // prepare callback - int[] primaryKeyFields = new int[numKeys]; - for (i = 0; i < numKeys; i++) { - primaryKeyFields[i] = i; - } - IModificationOperationCallbackFactory modificationCallbackFactory = dataset.getModificationCallbackFactory( - storageComponentProvider, primaryIndex, jobId, indexOp, primaryKeyFields); - IIndexDataflowHelperFactory idfh = new IndexDataflowHelperFactory( - storageComponentProvider.getStorageManager(), splitsAndConstraint.first); - IOperatorDescriptor op; - if (bulkload) { - long numElementsHint = getCardinalityPerPartitionHint(dataset); - op = new LSMIndexBulkLoadOperatorDescriptor(spec, inputRecordDesc, fieldPermutation, - GlobalConfig.DEFAULT_TREE_FILL_FACTOR, true, numElementsHint, true, idfh, null, - BulkLoadUsage.LOAD, dataset.getDatasetId()); - } else { - op = new LSMTreeInsertDeleteOperatorDescriptor(spec, inputRecordDesc, fieldPermutation, indexOp, idfh, - null, true, modificationCallbackFactory); - } - return new Pair<>(op, splitsAndConstraint.second); - } catch (MetadataException me) { - throw new AlgebricksException(me); + // prepare callback + int[] primaryKeyFields = new int[numKeys]; + for (i = 0; i < numKeys; i++) { + primaryKeyFields[i] = i; + } + IModificationOperationCallbackFactory modificationCallbackFactory = dataset.getModificationCallbackFactory( + storageComponentProvider, primaryIndex, jobId, indexOp, primaryKeyFields); + IIndexDataflowHelperFactory idfh = + new IndexDataflowHelperFactory(storageComponentProvider.getStorageManager(), splitsAndConstraint.first); + IOperatorDescriptor op; + if (bulkload) { + long numElementsHint = getCardinalityPerPartitionHint(dataset); + op = new LSMIndexBulkLoadOperatorDescriptor(spec, inputRecordDesc, fieldPermutation, + GlobalConfig.DEFAULT_TREE_FILL_FACTOR, true, numElementsHint, true, idfh, null, BulkLoadUsage.LOAD, + dataset.getDatasetId()); + } else { + op = new LSMTreeInsertDeleteOperatorDescriptor(spec, inputRecordDesc, fieldPermutation, indexOp, idfh, null, + true, modificationCallbackFactory); } + return new Pair<>(op, splitsAndConstraint.second); } private Pair<IOperatorDescriptor, AlgebricksPartitionConstraint> getIndexInsertOrDeleteOrUpsertRuntime( @@ -1028,13 +1001,8 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> String datasetName = dataSourceIndex.getDataSource().getId().getDatasourceName(); Dataset dataset = MetadataManagerUtil.findExistingDataset(mdTxnCtx, dataverseName, datasetName); - Index secondaryIndex; - try { - secondaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), - dataset.getDatasetName(), indexName); - } catch (MetadataException e) { - throw new AlgebricksException(e); - } + Index secondaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), + dataset.getDatasetName(), indexName); ArrayList<LogicalVariable> prevAdditionalFilteringKeys = null; if (indexOp == IndexOperation.UPSERT && prevAdditionalFilteringKey != null) { @@ -1159,101 +1127,96 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> AsterixTupleFilterFactory filterFactory, RecordDescriptor recordDesc, JobGenContext context, JobSpecification spec, IndexOperation indexOp, boolean bulkload, List<LogicalVariable> prevSecondaryKeys, List<LogicalVariable> prevAdditionalFilteringKeys) throws AlgebricksException { + Dataset dataset = MetadataManagerUtil.findExistingDataset(mdTxnCtx, dataverseName, datasetName); + boolean temp = dataset.getDatasetDetails().isTemp(); + isTemporaryDatasetWriteJob = isTemporaryDatasetWriteJob && temp; - try { - Dataset dataset = MetadataManagerUtil.findExistingDataset(mdTxnCtx, dataverseName, datasetName); - boolean temp = dataset.getDatasetDetails().isTemp(); - isTemporaryDatasetWriteJob = isTemporaryDatasetWriteJob && temp; - - String itemTypeName = dataset.getItemTypeName(); - IAType itemType = MetadataManager.INSTANCE - .getDatatype(mdTxnCtx, dataset.getItemTypeDataverseName(), itemTypeName).getDatatype(); - validateRecordType(itemType); - ARecordType recType = (ARecordType) itemType; - Index secondaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), - dataset.getDatasetName(), indexName); - List<List<String>> secondaryKeyExprs = secondaryIndex.getKeyFieldNames(); - List<IAType> secondaryKeyTypes = secondaryIndex.getKeyFieldTypes(); - Pair<IAType, Boolean> keyPairType = - Index.getNonNullableOpenFieldType(secondaryKeyTypes.get(0), secondaryKeyExprs.get(0), recType); - IAType spatialType = keyPairType.first; - int dimension = NonTaggedFormatUtil.getNumDimensions(spatialType.getTypeTag()); - int numSecondaryKeys = dimension * 2; - int numPrimaryKeys = primaryKeys.size(); - int numKeys = numSecondaryKeys + numPrimaryKeys; - - int numFilterFields = DatasetUtil.getFilterField(dataset) == null ? 0 : 1; - int[] fieldPermutation = new int[numKeys + numFilterFields]; - int[] modificationCallbackPrimaryKeyFields = new int[primaryKeys.size()]; - int i = 0; - int j = 0; - - for (LogicalVariable varKey : secondaryKeys) { + String itemTypeName = dataset.getItemTypeName(); + IAType itemType = MetadataManager.INSTANCE + .getDatatype(mdTxnCtx, dataset.getItemTypeDataverseName(), itemTypeName).getDatatype(); + validateRecordType(itemType); + ARecordType recType = (ARecordType) itemType; + Index secondaryIndex = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataset.getDataverseName(), + dataset.getDatasetName(), indexName); + List<List<String>> secondaryKeyExprs = secondaryIndex.getKeyFieldNames(); + List<IAType> secondaryKeyTypes = secondaryIndex.getKeyFieldTypes(); + Pair<IAType, Boolean> keyPairType = + Index.getNonNullableOpenFieldType(secondaryKeyTypes.get(0), secondaryKeyExprs.get(0), recType); + IAType spatialType = keyPairType.first; + int dimension = NonTaggedFormatUtil.getNumDimensions(spatialType.getTypeTag()); + int numSecondaryKeys = dimension * 2; + int numPrimaryKeys = primaryKeys.size(); + int numKeys = numSecondaryKeys + numPrimaryKeys; + + int numFilterFields = DatasetUtil.getFilterField(dataset) == null ? 0 : 1; + int[] fieldPermutation = new int[numKeys + numFilterFields]; + int[] modificationCallbackPrimaryKeyFields = new int[primaryKeys.size()]; + int i = 0; + int j = 0; + + for (LogicalVariable varKey : secondaryKeys) { + int idx = propagatedSchema.findVariable(varKey); + fieldPermutation[i] = idx; + i++; + } + for (LogicalVariable varKey : primaryKeys) { + int idx = propagatedSchema.findVariable(varKey); + fieldPermutation[i] = idx; + modificationCallbackPrimaryKeyFields[j] = i; + i++; + j++; + } + + if (numFilterFields > 0) { + int idx = propagatedSchema.findVariable(additionalNonKeyFields.get(0)); + fieldPermutation[numKeys] = idx; + } + + int[] prevFieldPermutation = null; + if (indexOp == IndexOperation.UPSERT) { + // Get field permutation for previous value + prevFieldPermutation = new int[numKeys + numFilterFields]; + i = 0; + + // Get field permutation for new value + for (LogicalVariable varKey : prevSecondaryKeys) { int idx = propagatedSchema.findVariable(varKey); - fieldPermutation[i] = idx; + prevFieldPermutation[i] = idx; i++; } - for (LogicalVariable varKey : primaryKeys) { - int idx = propagatedSchema.findVariable(varKey); - fieldPermutation[i] = idx; - modificationCallbackPrimaryKeyFields[j] = i; + for (int k = 0; k < numPrimaryKeys; k++) { + prevFieldPermutation[k + i] = fieldPermutation[k + i]; i++; - j++; } if (numFilterFields > 0) { - int idx = propagatedSchema.findVariable(additionalNonKeyFields.get(0)); - fieldPermutation[numKeys] = idx; - } - - int[] prevFieldPermutation = null; - if (indexOp == IndexOperation.UPSERT) { - // Get field permutation for previous value - prevFieldPermutation = new int[numKeys + numFilterFields]; - i = 0; - - // Get field permutation for new value - for (LogicalVariable varKey : prevSecondaryKeys) { - int idx = propagatedSchema.findVariable(varKey); - prevFieldPermutation[i] = idx; - i++; - } - for (int k = 0; k < numPrimaryKeys; k++) { - prevFieldPermutation[k + i] = fieldPermutation[k + i]; - i++; - } - - if (numFilterFields > 0) { - int idx = propagatedSchema.findVariable(prevAdditionalFilteringKeys.get(0)); - prevFieldPermutation[numKeys] = idx; - } - } - Pair<IFileSplitProvider, AlgebricksPartitionConstraint> splitsAndConstraint = - getSplitProviderAndConstraints(dataset, secondaryIndex.getIndexName()); - - // prepare callback - JobId jobId = ((JobEventListenerFactory) spec.getJobletEventListenerFactory()).getJobId(); - IModificationOperationCallbackFactory modificationCallbackFactory = dataset.getModificationCallbackFactory( - storageComponentProvider, secondaryIndex, jobId, indexOp, modificationCallbackPrimaryKeyFields); - IIndexDataflowHelperFactory indexDataflowHelperFactory = new IndexDataflowHelperFactory( - storageComponentProvider.getStorageManager(), splitsAndConstraint.first); - IOperatorDescriptor op; - if (bulkload) { - long numElementsHint = getCardinalityPerPartitionHint(dataset); - op = new LSMIndexBulkLoadOperatorDescriptor(spec, recordDesc, fieldPermutation, - GlobalConfig.DEFAULT_TREE_FILL_FACTOR, false, numElementsHint, false, - indexDataflowHelperFactory, null, BulkLoadUsage.LOAD, dataset.getDatasetId()); - } else if (indexOp == IndexOperation.UPSERT) { - op = new LSMSecondaryUpsertOperatorDescriptor(spec, recordDesc, fieldPermutation, - indexDataflowHelperFactory, filterFactory, modificationCallbackFactory, prevFieldPermutation); - } else { - op = new LSMTreeInsertDeleteOperatorDescriptor(spec, recordDesc, fieldPermutation, indexOp, - indexDataflowHelperFactory, filterFactory, false, modificationCallbackFactory); + int idx = propagatedSchema.findVariable(prevAdditionalFilteringKeys.get(0)); + prevFieldPermutation[numKeys] = idx; } - return new Pair<>(op, splitsAndConstraint.second); - } catch (MetadataException e) { - throw new AlgebricksException(e); } + Pair<IFileSplitProvider, AlgebricksPartitionConstraint> splitsAndConstraint = + getSplitProviderAndConstraints(dataset, secondaryIndex.getIndexName()); + + // prepare callback + JobId planJobId = ((JobEventListenerFactory) spec.getJobletEventListenerFactory()).getJobId(); + IModificationOperationCallbackFactory modificationCallbackFactory = dataset.getModificationCallbackFactory( + storageComponentProvider, secondaryIndex, planJobId, indexOp, modificationCallbackPrimaryKeyFields); + IIndexDataflowHelperFactory indexDataflowHelperFactory = + new IndexDataflowHelperFactory(storageComponentProvider.getStorageManager(), splitsAndConstraint.first); + IOperatorDescriptor op; + if (bulkload) { + long numElementsHint = getCardinalityPerPartitionHint(dataset); + op = new LSMIndexBulkLoadOperatorDescriptor(spec, recordDesc, fieldPermutation, + GlobalConfig.DEFAULT_TREE_FILL_FACTOR, false, numElementsHint, false, indexDataflowHelperFactory, + null, BulkLoadUsage.LOAD, dataset.getDatasetId()); + } else if (indexOp == IndexOperation.UPSERT) { + op = new LSMSecondaryUpsertOperatorDescriptor(spec, recordDesc, fieldPermutation, + indexDataflowHelperFactory, filterFactory, modificationCallbackFactory, prevFieldPermutation); + } else { + op = new LSMTreeInsertDeleteOperatorDescriptor(spec, recordDesc, fieldPermutation, indexOp, + indexDataflowHelperFactory, filterFactory, false, modificationCallbackFactory); + } + return new Pair<>(op, splitsAndConstraint.second); } private Pair<IOperatorDescriptor, AlgebricksPartitionConstraint> getInvertedIndexRuntime(String dataverseName, http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/BuiltinTypeMap.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/BuiltinTypeMap.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/BuiltinTypeMap.java index 1f0a08e..22732d3 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/BuiltinTypeMap.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/BuiltinTypeMap.java @@ -31,6 +31,7 @@ import org.apache.asterix.metadata.MetadataNode; import org.apache.asterix.om.types.AUnionType; import org.apache.asterix.om.types.BuiltinType; import org.apache.asterix.om.types.IAType; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; /** * Maps from a string representation of an Asterix type to an Asterix type. @@ -93,7 +94,7 @@ public class BuiltinTypeMap { } public static IAType getTypeFromTypeName(MetadataNode metadataNode, JobId jobId, String dataverseName, - String typeName, boolean optional) throws MetadataException { + String typeName, boolean optional) throws AlgebricksException { IAType type = _builtinTypeMap.get(typeName); if (type == null) { try { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/CompactionPolicyTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/CompactionPolicyTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/CompactionPolicyTupleTranslator.java index 3c409da..6595d97 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/CompactionPolicyTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/CompactionPolicyTupleTranslator.java @@ -23,13 +23,13 @@ import java.io.ByteArrayInputStream; import java.io.DataInput; import java.io.DataInputStream; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.bootstrap.MetadataPrimaryIndexes; import org.apache.asterix.metadata.bootstrap.MetadataRecordTypes; import org.apache.asterix.metadata.entities.CompactionPolicy; import org.apache.asterix.om.base.ARecord; import org.apache.asterix.om.base.AString; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; @@ -82,7 +82,7 @@ public class CompactionPolicyTupleTranslator extends AbstractTupleTranslator<Com @Override public ITupleReference getTupleFromMetadataEntity(CompactionPolicy compactionPolicy) - throws HyracksDataException, MetadataException { + throws HyracksDataException, AlgebricksException { tupleBuilder.reset(); aString.setValue(compactionPolicy.getDataverseName()); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java index 8da34c0..c274833 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java @@ -37,7 +37,6 @@ import org.apache.asterix.builders.RecordBuilder; import org.apache.asterix.builders.UnorderedListBuilder; import org.apache.asterix.common.config.DatasetConfig.DatasetType; import org.apache.asterix.common.config.DatasetConfig.TransactionState; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.IDatasetDetails; import org.apache.asterix.metadata.bootstrap.MetadataPrimaryIndexes; @@ -65,6 +64,7 @@ import org.apache.asterix.om.types.AOrderedListType; import org.apache.asterix.om.types.AUnorderedListType; import org.apache.asterix.om.types.BuiltinType; import org.apache.asterix.om.types.IAType; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; @@ -207,8 +207,10 @@ public class DatasetTupleTranslator extends AbstractTupleTranslator<Dataset> { } } - // Temporary dataset only lives in the compiler therefore the temp field is false. - // DatasetTupleTranslator always read from the metadata node, so the temp flag should be always false. + // Temporary dataset only lives in the compiler therefore the temp field is + // false. + // DatasetTupleTranslator always read from the metadata node, so the temp flag + // should be always false. datasetDetails = new InternalDatasetDetails(fileStructure, partitioningStrategy, partitioningKey, partitioningKey, keyFieldSourceIndicator, partitioningKeyType, autogenerated, filterField, false); @@ -270,7 +272,8 @@ public class DatasetTupleTranslator extends AbstractTupleTranslator<Dataset> { } @Override - public ITupleReference getTupleFromMetadataEntity(Dataset dataset) throws HyracksDataException, MetadataException { + public ITupleReference getTupleFromMetadataEntity(Dataset dataset) + throws HyracksDataException, AlgebricksException { OrderedListBuilder listBuilder = new OrderedListBuilder(); ArrayBackedValueStorage itemValue = new ArrayBackedValueStorage(); // write the key in the first 2 fields of the tuple http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasourceAdapterTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasourceAdapterTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasourceAdapterTupleTranslator.java index 9cd73d7..a58e5d6 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasourceAdapterTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasourceAdapterTupleTranslator.java @@ -24,7 +24,6 @@ import java.io.DataInput; import java.io.DataInputStream; import java.util.Calendar; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.external.api.IDataSourceAdapter; import org.apache.asterix.external.dataset.adapter.AdapterIdentifier; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; @@ -33,6 +32,7 @@ import org.apache.asterix.metadata.bootstrap.MetadataRecordTypes; import org.apache.asterix.metadata.entities.DatasourceAdapter; import org.apache.asterix.om.base.ARecord; import org.apache.asterix.om.base.AString; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; @@ -58,7 +58,7 @@ public class DatasourceAdapterTupleTranslator extends AbstractTupleTranslator<Da @Override public DatasourceAdapter getMetadataEntityFromTuple(ITupleReference tuple) - throws MetadataException, HyracksDataException { + throws AlgebricksException, HyracksDataException { byte[] serRecord = tuple.getFieldData(ADAPTER_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = tuple.getFieldStart(ADAPTER_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = tuple.getFieldLength(ADAPTER_PAYLOAD_TUPLE_FIELD_INDEX); @@ -86,7 +86,7 @@ public class DatasourceAdapterTupleTranslator extends AbstractTupleTranslator<Da @Override public ITupleReference getTupleFromMetadataEntity(DatasourceAdapter adapter) - throws HyracksDataException, MetadataException { + throws HyracksDataException, AlgebricksException { // write the key in the first 2 fields of the tuple tupleBuilder.reset(); aString.setValue(adapter.getAdapterIdentifier().getNamespace()); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatatypeTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatatypeTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatatypeTupleTranslator.java index fe0b40d..f75ea8f 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatatypeTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatatypeTupleTranslator.java @@ -29,7 +29,6 @@ import java.util.Calendar; import org.apache.asterix.builders.IARecordBuilder; import org.apache.asterix.builders.OrderedListBuilder; import org.apache.asterix.builders.RecordBuilder; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.common.transactions.JobId; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.MetadataNode; @@ -51,6 +50,7 @@ import org.apache.asterix.om.types.AbstractCollectionType; import org.apache.asterix.om.types.AbstractComplexType; import org.apache.asterix.om.types.IAType; import org.apache.asterix.om.utils.NonTaggedFormatUtil; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.ErrorCode; import org.apache.hyracks.api.exceptions.HyracksDataException; @@ -89,7 +89,7 @@ public class DatatypeTupleTranslator extends AbstractTupleTranslator<Datatype> { @Override public Datatype getMetadataEntityFromTuple(ITupleReference frameTuple) - throws MetadataException, HyracksDataException { + throws AlgebricksException, HyracksDataException { byte[] serRecord = frameTuple.getFieldData(DATATYPE_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = frameTuple.getFieldStart(DATATYPE_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = frameTuple.getFieldLength(DATATYPE_PAYLOAD_TUPLE_FIELD_INDEX); @@ -99,7 +99,7 @@ public class DatatypeTupleTranslator extends AbstractTupleTranslator<Datatype> { return createDataTypeFromARecord(datatypeRecord); } - private Datatype createDataTypeFromARecord(ARecord datatypeRecord) throws MetadataException { + private Datatype createDataTypeFromARecord(ARecord datatypeRecord) throws AlgebricksException { String dataverseName = ((AString) datatypeRecord.getValueByPos(MetadataRecordTypes.DATATYPE_ARECORD_DATAVERSENAME_FIELD_INDEX)) .getStringValue(); @@ -176,7 +176,7 @@ public class DatatypeTupleTranslator extends AbstractTupleTranslator<Datatype> { @Override public ITupleReference getTupleFromMetadataEntity(Datatype dataType) - throws HyracksDataException, MetadataException { + throws HyracksDataException, AlgebricksException { // write the key in the first two fields of the tuple tupleBuilder.reset(); aString.setValue(dataType.getDataverseName()); @@ -202,7 +202,7 @@ public class DatatypeTupleTranslator extends AbstractTupleTranslator<Datatype> { recordBuilder.addField(MetadataRecordTypes.DATATYPE_ARECORD_DATATYPENAME_FIELD_INDEX, fieldValue); IAType fieldType = dataType.getDatatype(); - //unwrap nullable type out of the union + // unwrap nullable type out of the union if (fieldType.getTypeTag() == ATypeTag.UNION) { fieldType = ((AUnionType) dataType.getDatatype()).getActualType(); } @@ -366,8 +366,9 @@ public class DatatypeTupleTranslator extends AbstractTupleTranslator<Datatype> { String dataverseName, String datatypeName) throws HyracksDataException { try { metadataNode.addDatatype(jobId, new Datatype(dataverseName, typeName, nestedType, true)); - } catch (MetadataException e) { - // The nested record type may have been inserted by a previous DDL statement or by + } catch (AlgebricksException e) { + // The nested record type may have been inserted by a previous DDL statement or + // by // a previous nested type. if (!(e.getCause() instanceof HyracksDataException)) { throw HyracksDataException.create(e); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java index 4b20a5b..3100b10 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java @@ -24,7 +24,6 @@ import java.io.DataInput; import java.io.DataInputStream; import java.util.Calendar; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.bootstrap.MetadataPrimaryIndexes; import org.apache.asterix.metadata.bootstrap.MetadataRecordTypes; @@ -34,6 +33,7 @@ import org.apache.asterix.om.base.AMutableInt32; import org.apache.asterix.om.base.ARecord; import org.apache.asterix.om.base.AString; import org.apache.asterix.om.types.BuiltinType; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; @@ -77,7 +77,7 @@ public class DataverseTupleTranslator extends AbstractTupleTranslator<Dataverse> @Override public ITupleReference getTupleFromMetadataEntity(Dataverse instance) - throws HyracksDataException, MetadataException { + throws HyracksDataException, AlgebricksException { // write the key in the first field of the tuple tupleBuilder.reset(); aString.setValue(instance.getDataverseName()); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/ExternalFileTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/ExternalFileTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/ExternalFileTupleTranslator.java index a29048e..d058d90 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/ExternalFileTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/ExternalFileTupleTranslator.java @@ -24,7 +24,6 @@ import java.io.DataInputStream; import java.util.Date; import org.apache.asterix.common.config.DatasetConfig.ExternalFilePendingOp; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.external.indexing.ExternalFile; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.bootstrap.MetadataPrimaryIndexes; @@ -38,6 +37,7 @@ import org.apache.asterix.om.base.AMutableInt64; import org.apache.asterix.om.base.ARecord; import org.apache.asterix.om.base.AString; import org.apache.asterix.om.types.BuiltinType; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; @@ -76,7 +76,7 @@ public class ExternalFileTupleTranslator extends AbstractTupleTranslator<Externa @Override public ExternalFile getMetadataEntityFromTuple(ITupleReference tuple) - throws MetadataException, HyracksDataException { + throws AlgebricksException, HyracksDataException { byte[] serRecord = tuple.getFieldData(EXTERNAL_FILE_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = tuple.getFieldStart(EXTERNAL_FILE_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = tuple.getFieldLength(EXTERNAL_FILE_PAYLOAD_TUPLE_FIELD_INDEX); @@ -108,7 +108,7 @@ public class ExternalFileTupleTranslator extends AbstractTupleTranslator<Externa @Override public ITupleReference getTupleFromMetadataEntity(ExternalFile externalFile) - throws MetadataException, HyracksDataException { + throws AlgebricksException, HyracksDataException { // write the key in the first 3 fields of the tuple tupleBuilder.reset(); // dataverse name http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedConnectionTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedConnectionTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedConnectionTupleTranslator.java index ac78b8f..269497b 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedConnectionTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedConnectionTupleTranslator.java @@ -27,7 +27,6 @@ import java.util.List; import org.apache.asterix.builders.IARecordBuilder; import org.apache.asterix.builders.UnorderedListBuilder; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.common.functions.FunctionSignature; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.bootstrap.MetadataPrimaryIndexes; @@ -40,6 +39,7 @@ import org.apache.asterix.om.base.AString; import org.apache.asterix.om.base.AUnorderedList; import org.apache.asterix.om.base.IACursor; import org.apache.asterix.om.types.AUnorderedListType; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; @@ -62,7 +62,7 @@ public class FeedConnectionTupleTranslator extends AbstractTupleTranslator<FeedC @Override public FeedConnection getMetadataEntityFromTuple(ITupleReference frameTuple) - throws MetadataException, HyracksDataException { + throws AlgebricksException, HyracksDataException { byte[] serRecord = frameTuple.getFieldData(FEED_CONN_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = frameTuple.getFieldStart(FEED_CONN_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = frameTuple.getFieldLength(FEED_CONN_PAYLOAD_TUPLE_FIELD_INDEX); @@ -106,7 +106,7 @@ public class FeedConnectionTupleTranslator extends AbstractTupleTranslator<FeedC @Override public ITupleReference getTupleFromMetadataEntity(FeedConnection me) - throws MetadataException, HyracksDataException { + throws AlgebricksException, HyracksDataException { tupleBuilder.reset(); // key: dataverse http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedPolicyTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedPolicyTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedPolicyTupleTranslator.java index ec22735..e80b96f 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedPolicyTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedPolicyTupleTranslator.java @@ -29,7 +29,6 @@ import java.util.Map; import org.apache.asterix.builders.IARecordBuilder; import org.apache.asterix.builders.RecordBuilder; import org.apache.asterix.builders.UnorderedListBuilder; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.bootstrap.MetadataPrimaryIndexes; import org.apache.asterix.metadata.bootstrap.MetadataRecordTypes; @@ -42,6 +41,7 @@ import org.apache.asterix.om.base.AUnorderedList; import org.apache.asterix.om.base.IACursor; import org.apache.asterix.om.types.AUnorderedListType; import org.apache.asterix.om.types.BuiltinType; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; @@ -110,7 +110,7 @@ public class FeedPolicyTupleTranslator extends AbstractTupleTranslator<FeedPolic @Override public ITupleReference getTupleFromMetadataEntity(FeedPolicyEntity feedPolicy) - throws HyracksDataException, MetadataException { + throws HyracksDataException, AlgebricksException { // write the key in the first three fields of the tuple ArrayBackedValueStorage itemValue = new ArrayBackedValueStorage(); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedTupleTranslator.java index 2541e97..264da60 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FeedTupleTranslator.java @@ -30,7 +30,6 @@ import java.util.Map; import org.apache.asterix.builders.IARecordBuilder; import org.apache.asterix.builders.RecordBuilder; import org.apache.asterix.builders.UnorderedListBuilder; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.bootstrap.MetadataPrimaryIndexes; import org.apache.asterix.metadata.bootstrap.MetadataRecordTypes; @@ -42,6 +41,7 @@ import org.apache.asterix.om.base.AUnorderedList; import org.apache.asterix.om.base.IACursor; import org.apache.asterix.om.types.AUnorderedListType; import org.apache.asterix.om.types.BuiltinType; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; @@ -109,7 +109,7 @@ public class FeedTupleTranslator extends AbstractTupleTranslator<Feed> { } @Override - public ITupleReference getTupleFromMetadataEntity(Feed feed) throws HyracksDataException, MetadataException { + public ITupleReference getTupleFromMetadataEntity(Feed feed) throws HyracksDataException, AlgebricksException { // write the key in the first two fields of the tuple tupleBuilder.reset(); aString.setValue(feed.getDataverseName()); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FunctionTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FunctionTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FunctionTupleTranslator.java index 858d443..e15805e 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FunctionTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/FunctionTupleTranslator.java @@ -26,7 +26,6 @@ import java.util.ArrayList; import java.util.List; import org.apache.asterix.builders.OrderedListBuilder; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.bootstrap.MetadataPrimaryIndexes; import org.apache.asterix.metadata.bootstrap.MetadataRecordTypes; @@ -36,6 +35,7 @@ import org.apache.asterix.om.base.ARecord; import org.apache.asterix.om.base.AString; import org.apache.asterix.om.base.IACursor; import org.apache.asterix.om.types.AOrderedListType; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; @@ -111,7 +111,7 @@ public class FunctionTupleTranslator extends AbstractTupleTranslator<Function> { @Override public ITupleReference getTupleFromMetadataEntity(Function function) - throws HyracksDataException, MetadataException { + throws HyracksDataException, AlgebricksException { // write the key in the first 2 fields of the tuple tupleBuilder.reset(); aString.setValue(function.getDataverseName()); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java index fec4ddc..8989cdc 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java @@ -29,7 +29,6 @@ import java.util.List; import org.apache.asterix.builders.OrderedListBuilder; import org.apache.asterix.common.config.DatasetConfig.IndexType; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.common.transactions.JobId; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.MetadataNode; @@ -104,7 +103,8 @@ public class IndexTupleTranslator extends AbstractTupleTranslator<Index> { } @Override - public Index getMetadataEntityFromTuple(ITupleReference frameTuple) throws MetadataException, HyracksDataException { + public Index getMetadataEntityFromTuple(ITupleReference frameTuple) + throws AlgebricksException, HyracksDataException { byte[] serRecord = frameTuple.getFieldData(INDEX_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = frameTuple.getFieldStart(INDEX_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = frameTuple.getFieldLength(INDEX_PAYLOAD_TUPLE_FIELD_INDEX); @@ -176,7 +176,8 @@ public class IndexTupleTranslator extends AbstractTupleTranslator<Index> { } } - // index key type information is not persisted, thus we extract type information from the record metadata + // index key type information is not persisted, thus we extract type information + // from the record metadata if (searchKeyType.isEmpty()) { try { Dataset dSet = metadataNode.getDataset(jobId, dvName, dsName); @@ -191,11 +192,7 @@ public class IndexTupleTranslator extends AbstractTupleTranslator<Index> { metaDt = (ARecordType) metadataNode.getDatatype(jobId, metatypeDataverseName, metatypeName) .getDatatype(); } - try { - searchKeyType = KeyFieldTypeUtil.getKeyTypes(recordDt, metaDt, searchKey, keyFieldSourceIndicator); - } catch (AlgebricksException e) { - throw new MetadataException(e); - } + searchKeyType = KeyFieldTypeUtil.getKeyTypes(recordDt, metaDt, searchKey, keyFieldSourceIndicator); } catch (RemoteException re) { throw HyracksDataException.create(re); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/LibraryTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/LibraryTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/LibraryTupleTranslator.java index 9c2b824..f001ec4 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/LibraryTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/LibraryTupleTranslator.java @@ -24,13 +24,13 @@ import java.io.DataInput; import java.io.DataInputStream; import java.util.Calendar; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.bootstrap.MetadataPrimaryIndexes; import org.apache.asterix.metadata.bootstrap.MetadataRecordTypes; import org.apache.asterix.metadata.entities.Library; import org.apache.asterix.om.base.ARecord; import org.apache.asterix.om.base.AString; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; @@ -79,7 +79,8 @@ public class LibraryTupleTranslator extends AbstractTupleTranslator<Library> { } @Override - public ITupleReference getTupleFromMetadataEntity(Library library) throws HyracksDataException, MetadataException { + public ITupleReference getTupleFromMetadataEntity(Library library) + throws HyracksDataException, AlgebricksException { // write the key in the first 2 fields of the tuple tupleBuilder.reset(); aString.setValue(library.getDataverseName()); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/NodeGroupTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/NodeGroupTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/NodeGroupTupleTranslator.java index 5329df4..5733de9 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/NodeGroupTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/NodeGroupTupleTranslator.java @@ -27,7 +27,6 @@ import java.util.Calendar; import java.util.List; import org.apache.asterix.builders.UnorderedListBuilder; -import org.apache.asterix.common.exceptions.MetadataException; import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider; import org.apache.asterix.metadata.bootstrap.MetadataPrimaryIndexes; import org.apache.asterix.metadata.bootstrap.MetadataRecordTypes; @@ -37,6 +36,7 @@ import org.apache.asterix.om.base.AString; import org.apache.asterix.om.base.AUnorderedList; import org.apache.asterix.om.base.IACursor; import org.apache.asterix.om.types.AUnorderedListType; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; @@ -86,7 +86,7 @@ public class NodeGroupTupleTranslator extends AbstractTupleTranslator<NodeGroup> @Override public ITupleReference getTupleFromMetadataEntity(NodeGroup instance) - throws HyracksDataException, MetadataException { + throws HyracksDataException, AlgebricksException { // write the key in the first field of the tuple tupleBuilder.reset(); aString.setValue(instance.getNodeGroupName()); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/NodeTupleTranslator.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/NodeTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/NodeTupleTranslator.java index b1847fd..f67ae3b 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/NodeTupleTranslator.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/NodeTupleTranslator.java @@ -27,6 +27,7 @@ import org.apache.asterix.metadata.entities.Node; import org.apache.asterix.om.base.AInt64; import org.apache.asterix.om.base.AMutableInt64; import org.apache.asterix.om.types.BuiltinType; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.algebricks.common.exceptions.NotImplementedException; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; @@ -84,7 +85,7 @@ public class NodeTupleTranslator extends AbstractTupleTranslator<Node> { } @Override - public ITupleReference getTupleFromMetadataEntity(Node instance) throws HyracksDataException, MetadataException { + public ITupleReference getTupleFromMetadataEntity(Node instance) throws HyracksDataException, AlgebricksException { // write the key in the first field of the tuple tupleBuilder.reset(); aString.setValue(instance.getNodeName()); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/BuiltinFeedPolicies.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/BuiltinFeedPolicies.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/BuiltinFeedPolicies.java index 41b356a..5c67831 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/BuiltinFeedPolicies.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/BuiltinFeedPolicies.java @@ -29,6 +29,7 @@ import org.apache.asterix.metadata.MetadataManager; import org.apache.asterix.metadata.MetadataTransactionContext; import org.apache.asterix.metadata.entities.FeedPolicyEntity; import org.apache.asterix.metadata.utils.MetadataConstants; +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; public class BuiltinFeedPolicies { @@ -61,7 +62,7 @@ public class BuiltinFeedPolicies { return null; } - //Basic + // Basic private static FeedPolicyEntity initializeBasicPolicy() { Map<String, String> policyParams = new HashMap<>(); policyParams.put(FeedPolicyAccessor.ELASTIC, Boolean.toString(false)); @@ -106,7 +107,7 @@ public class BuiltinFeedPolicies { policyParams); } - public static void insertInitialFeedPolicies(MetadataTransactionContext mdTxnCtx) throws MetadataException { + public static void insertInitialFeedPolicies(MetadataTransactionContext mdTxnCtx) throws AlgebricksException { for (FeedPolicyEntity feedPolicy : BuiltinFeedPolicies.POLICIES) { MetadataManager.INSTANCE.addFeedPolicy(mdTxnCtx, feedPolicy); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java index 3de83eb..c2d31bf 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java @@ -54,8 +54,8 @@ import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.dataflow.value.RecordDescriptor; /** - * A utility class for providing helper functions for feeds - * TODO: Refactor this class. + * A utility class for providing helper functions for feeds TODO: Refactor this + * class. */ public class FeedMetadataUtil { @@ -77,7 +77,7 @@ public class FeedMetadataUtil { } public static Feed validateIfFeedExists(String dataverse, String feedName, MetadataTransactionContext ctx) - throws CompilationException { + throws AlgebricksException { Feed feed = MetadataManager.INSTANCE.getFeed(ctx, dataverse, feedName); if (feed == null) { throw new CompilationException("Unknown source feed: " + feedName); @@ -86,7 +86,7 @@ public class FeedMetadataUtil { } public static FeedPolicyEntity validateIfPolicyExists(String dataverse, String policyName, - MetadataTransactionContext ctx) throws CompilationException { + MetadataTransactionContext ctx) throws AlgebricksException { FeedPolicyEntity feedPolicy = MetadataManager.INSTANCE.getFeedPolicy(ctx, dataverse, policyName); if (feedPolicy == null) { feedPolicy = @@ -273,7 +273,7 @@ public class FeedMetadataUtil { } public static ARecordType getOutputType(IFeed feed, Map<String, String> configuration, String key) - throws MetadataException { + throws AlgebricksException { ARecordType outputType = null; String fqOutputType = configuration.get(key); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d25513cc/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/functions/ExternalFunctionCompilerUtil.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/functions/ExternalFunctionCompilerUtil.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/functions/ExternalFunctionCompilerUtil.java index c0d9bda..90c0de3 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/functions/ExternalFunctionCompilerUtil.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/functions/ExternalFunctionCompilerUtil.java @@ -52,7 +52,7 @@ public class ExternalFunctionCompilerUtil { private static Pattern unorderedListPattern = Pattern.compile("[{{*}}]"); public static IFunctionInfo getExternalFunctionInfo(MetadataTransactionContext txnCtx, Function function) - throws MetadataException { + throws AlgebricksException { String functionKind = function.getKind(); IFunctionInfo finfo = null; @@ -69,9 +69,9 @@ public class ExternalFunctionCompilerUtil { } private static IFunctionInfo getScalarFunctionInfo(MetadataTransactionContext txnCtx, Function function) - throws MetadataException { - FunctionIdentifier fid = new FunctionIdentifier(function.getDataverseName(), function.getName(), - function.getArity()); + throws AlgebricksException { + FunctionIdentifier fid = + new FunctionIdentifier(function.getDataverseName(), function.getName(), function.getArity()); IResultTypeComputer typeComputer = getResultTypeComputer(txnCtx, function); List<IAType> arguments = new ArrayList<IAType>(); IAType returnType = null; @@ -87,7 +87,7 @@ public class ExternalFunctionCompilerUtil { } private static IAType getTypeInfo(String paramType, MetadataTransactionContext txnCtx, Function function) - throws MetadataException { + throws AlgebricksException { if (paramType.equalsIgnoreCase(BuiltinType.AINT32.getDisplayName())) { return (BuiltinType.AINT32); } else if (paramType.equalsIgnoreCase(BuiltinType.AFLOAT.getDisplayName())) { @@ -112,7 +112,7 @@ public class ExternalFunctionCompilerUtil { } private static IAType getCollectionType(String paramType, MetadataTransactionContext txnCtx, Function function) - throws MetadataException { + throws AlgebricksException { Matcher matcher = orderedListPattern.matcher(paramType); if (matcher.find()) { @@ -129,7 +129,7 @@ public class ExternalFunctionCompilerUtil { } private static IResultTypeComputer getResultTypeComputer(final MetadataTransactionContext txnCtx, - final Function function) throws MetadataException { + final Function function) throws AlgebricksException { final IAType type = getTypeInfo(function.getReturnType(), txnCtx, function); switch (type.getTypeTag()) {
