public class MetadataManager extends Object implements IMetadataManager
| Modifier and Type | Field and Description |
|---|---|
static MetadataManager |
INSTANCE |
| Constructor and Description |
|---|
MetadataManager(IAsterixStateProxy proxy,
AsterixMetadataProperties metadataProperties) |
MetadataManager(IAsterixStateProxy proxy,
IMetadataNode metadataNode) |
| Modifier and Type | Method and Description |
|---|---|
void |
abortTransaction(MetadataTransactionContext ctx)
Aborts a remote transaction running on the metadata node.
|
void |
acquireReadLatch() |
void |
acquireWriteLatch() |
void |
addAdapter(MetadataTransactionContext mdTxnCtx,
DatasourceAdapter adapter) |
void |
addCompactionPolicy(MetadataTransactionContext mdTxnCtx,
CompactionPolicy compactionPolicy) |
void |
addDataset(MetadataTransactionContext ctx,
Dataset dataset)
Inserts a new dataset into the metadata.
|
void |
addDatatype(MetadataTransactionContext ctx,
Datatype datatype)
Inserts a datatype.
|
void |
addDataverse(MetadataTransactionContext ctx,
Dataverse dataverse)
Inserts a new dataverse into the metadata.
|
void |
addExternalFile(MetadataTransactionContext ctx,
ExternalFile externalFile) |
void |
addFeed(MetadataTransactionContext ctx,
Feed feed) |
void |
addFeedPolicy(MetadataTransactionContext mdTxnCtx,
FeedPolicy feedPolicy) |
void |
addFunction(MetadataTransactionContext mdTxnCtx,
Function function) |
void |
addIndex(MetadataTransactionContext ctx,
Index index)
Inserts an index into the metadata.
|
void |
addLibrary(MetadataTransactionContext ctx,
Library library)
Adds a library, acquiring local locks on behalf of the given
transaction id.
|
void |
addNode(MetadataTransactionContext ctx,
Node node)
Inserts a node (machine).
|
void |
addNodegroup(MetadataTransactionContext ctx,
NodeGroup nodeGroup)
Inserts a node group.
|
MetadataTransactionContext |
beginTransaction()
Begins a transaction on the metadata node.
|
void |
cleanupTempDatasets()
Clean up temporary datasets that have not been active for a long time.
|
void |
commitTransaction(MetadataTransactionContext ctx)
Commits a remote transaction on the metadata node.
|
void |
dropAdapter(MetadataTransactionContext ctx,
String dataverseName,
String name) |
void |
dropDataset(MetadataTransactionContext ctx,
String dataverseName,
String datasetName)
Deletes the dataset with given name, and all it's associated indexes.
|
void |
dropDatasetExternalFiles(MetadataTransactionContext mdTxnCtx,
Dataset dataset) |
void |
dropDatatype(MetadataTransactionContext ctx,
String dataverseName,
String datatypeName)
Deletes the given datatype in given dataverse.
|
void |
dropDataverse(MetadataTransactionContext ctx,
String dataverseName)
Deletes the dataverse with given name, and all it's associated datasets,
indexes, and types.
|
void |
dropExternalFile(MetadataTransactionContext ctx,
ExternalFile externalFile) |
void |
dropFeed(MetadataTransactionContext ctx,
String dataverse,
String feedName) |
void |
dropFeedPolicy(MetadataTransactionContext mdTxnCtx,
String dataverseName,
String policyName) |
void |
dropFunction(MetadataTransactionContext ctx,
FunctionSignature functionSignature) |
void |
dropIndex(MetadataTransactionContext ctx,
String dataverseName,
String datasetName,
String indexName)
Deletes the index with given name, in given dataverse and dataset.
|
void |
dropLibrary(MetadataTransactionContext ctx,
String dataverseName,
String libraryName)
Removes a library , acquiring local locks on behalf of the given
transaction id.
|
void |
dropNodegroup(MetadataTransactionContext ctx,
String nodeGroupName)
Deletes a node group.
|
DatasourceAdapter |
getAdapter(MetadataTransactionContext ctx,
String dataverseName,
String name) |
CompactionPolicy |
getCompactionPolicy(MetadataTransactionContext ctx,
String dataverse,
String policyName) |
Dataset |
getDataset(MetadataTransactionContext ctx,
String dataverseName,
String datasetName)
Retrieves a dataset within a given dataverse.
|
List<ExternalFile> |
getDatasetExternalFiles(MetadataTransactionContext mdTxnCtx,
Dataset dataset) |
List<Index> |
getDatasetIndexes(MetadataTransactionContext ctx,
String dataverseName,
String datasetName)
Retrieves all indexes of a dataset.
|
Datatype |
getDatatype(MetadataTransactionContext ctx,
String dataverseName,
String datatypeName)
Retrieves the datatype with given name in given dataverse.
|
Dataverse |
getDataverse(MetadataTransactionContext ctx,
String dataverseName)
Retrieves a dataverse with given name.
|
List<DatasourceAdapter> |
getDataverseAdapters(MetadataTransactionContext mdTxnCtx,
String dataverse) |
List<Dataset> |
getDataverseDatasets(MetadataTransactionContext ctx,
String dataverseName)
Retrieves all datasets belonging to the given dataverse.
|
List<Function> |
getDataverseFunctions(MetadataTransactionContext ctx,
String dataverseName) |
List<Library> |
getDataverseLibraries(MetadataTransactionContext ctx,
String dataverseName)
Retireve libraries installed in a given dataverse.
|
List<FeedPolicy> |
getDataversePolicies(MetadataTransactionContext mdTxnCtx,
String dataverse) |
List<Dataverse> |
getDataverses(MetadataTransactionContext ctx)
Retrieves all dataverses
|
ExternalFile |
getExternalFile(MetadataTransactionContext ctx,
String dataverseName,
String datasetName,
Integer fileNumber)
Get en external file
|
Feed |
getFeed(MetadataTransactionContext ctx,
String dataverse,
String feedName) |
FeedPolicy |
getFeedPolicy(MetadataTransactionContext ctx,
String dataverse,
String policyName) |
Function |
getFunction(MetadataTransactionContext ctx,
FunctionSignature functionSignature) |
Index |
getIndex(MetadataTransactionContext ctx,
String dataverseName,
String datasetName,
String indexName)
Retrieves the index with given name, in given dataverse and dataset.
|
Library |
getLibrary(MetadataTransactionContext ctx,
String dataverseName,
String libraryName) |
int |
getMostRecentDatasetId() |
NodeGroup |
getNodegroup(MetadataTransactionContext ctx,
String nodeGroupName)
Retrieves a node group.
|
void |
init()
Initializes the metadata manager, e.g., finds the remote metadata node.
|
void |
initializeDatasetIdFactory(MetadataTransactionContext ctx) |
void |
lock(MetadataTransactionContext ctx,
byte lockMode)
Locks the metadata in given mode.
|
void |
releaseReadLatch() |
void |
releaseWriteLatch() |
void |
unlock(MetadataTransactionContext ctx,
byte lockMode)
Releases all locks on the metadata held by the given transaction id.
|
void |
updateDataset(MetadataTransactionContext ctx,
Dataset dataset)
update an existing dataset in metadata.
|
public static MetadataManager INSTANCE
public MetadataManager(IAsterixStateProxy proxy, AsterixMetadataProperties metadataProperties)
public MetadataManager(IAsterixStateProxy proxy, IMetadataNode metadataNode)
public void init()
throws RemoteException,
MetadataException
IMetadataManagerinit in interface IMetadataManagerRemoteException - If an error occurred while contacting the proxy for finding
the metadata node.MetadataExceptionpublic MetadataTransactionContext beginTransaction() throws RemoteException, ACIDException
IMetadataManagerbeginTransaction in interface IMetadataManagerRemoteExceptionACIDExceptionpublic void commitTransaction(MetadataTransactionContext ctx) throws RemoteException, ACIDException
IMetadataManagercommitTransaction in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.RemoteExceptionACIDExceptionpublic void abortTransaction(MetadataTransactionContext ctx) throws RemoteException, ACIDException
IMetadataManagerabortTransaction in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.RemoteExceptionACIDExceptionpublic void lock(MetadataTransactionContext ctx, byte lockMode) throws RemoteException, ACIDException
IMetadataManagerlock in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.lockMode - Desired lockode.RemoteExceptionACIDExceptionpublic void unlock(MetadataTransactionContext ctx, byte lockMode) throws RemoteException, ACIDException
IMetadataManagerunlock in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.RemoteExceptionACIDExceptionpublic void addDataverse(MetadataTransactionContext ctx, Dataverse dataverse) throws MetadataException
IMetadataManageraddDataverse in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverse - Dataverse instance to be inserted.MetadataException - For example, if the dataverse already exists.public void dropDataverse(MetadataTransactionContext ctx, String dataverseName) throws MetadataException
IMetadataManagerdropDataverse in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.MetadataException - For example, if the dataverse does not exist.public List<Dataverse> getDataverses(MetadataTransactionContext ctx) throws MetadataException
IMetadataManagergetDataverses in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.MetadataExceptionpublic Dataverse getDataverse(MetadataTransactionContext ctx, String dataverseName) throws MetadataException
IMetadataManagergetDataverse in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - Name of the dataverse to retrieve.MetadataException - For example, if the dataverse does not exist.public List<Dataset> getDataverseDatasets(MetadataTransactionContext ctx, String dataverseName) throws MetadataException
IMetadataManagergetDataverseDatasets in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - Name of the dataverse of which to find all datasets.MetadataException - For example, if the dataverse does not exist.public void addDataset(MetadataTransactionContext ctx, Dataset dataset) throws MetadataException
IMetadataManageraddDataset in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataset - Dataset instance to be inserted.MetadataException - For example, if the dataset already exists.public void dropDataset(MetadataTransactionContext ctx, String dataverseName, String datasetName) throws MetadataException
IMetadataManagerdropDataset in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - Name of dataverse which holds the given dataset.datasetName - Name of dataset to delete.MetadataException - For example, if the dataset and/or dataverse does not exist.public Dataset getDataset(MetadataTransactionContext ctx, String dataverseName, String datasetName) throws MetadataException
IMetadataManagergetDataset in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - Dataverse name to look for the dataset.datasetName - Name of dataset to be retrieved.MetadataException - For example, if the dataset does not exist.public List<Index> getDatasetIndexes(MetadataTransactionContext ctx, String dataverseName, String datasetName) throws MetadataException
IMetadataManagergetDatasetIndexes in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - Name of dataverse which holds the given dataset.datasetName - Name of dataset for which to retrieve all indexes.MetadataException - For example, if the dataset and/or dataverse does not exist.public void addCompactionPolicy(MetadataTransactionContext mdTxnCtx, CompactionPolicy compactionPolicy) throws MetadataException
addCompactionPolicy in interface IMetadataManagerMetadataExceptionpublic CompactionPolicy getCompactionPolicy(MetadataTransactionContext ctx, String dataverse, String policyName) throws MetadataException
getCompactionPolicy in interface IMetadataManagerMetadataExceptionpublic void addDatatype(MetadataTransactionContext ctx, Datatype datatype) throws MetadataException
IMetadataManageraddDatatype in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.datatype - Datatype instance to be inserted.MetadataException - For example, if the datatype already exists.public void dropDatatype(MetadataTransactionContext ctx, String dataverseName, String datatypeName) throws MetadataException
IMetadataManagerdropDatatype in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - Name of dataverse holding the datatype.datatypeName - Name of datatype to be deleted.MetadataException - For example, if there are still datasets using the type to be
deleted.public Datatype getDatatype(MetadataTransactionContext ctx, String dataverseName, String datatypeName) throws MetadataException
IMetadataManagergetDatatype in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - Name of dataverse holding the datatype.datatypeName - Name of datatype to be retrieved.MetadataException - For example, if the datatype does not exist.public void addIndex(MetadataTransactionContext ctx, Index index) throws MetadataException
IMetadataManageraddIndex in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.index - Index instance to be inserted.MetadataException - For example, if the index already exists.public void addAdapter(MetadataTransactionContext mdTxnCtx, DatasourceAdapter adapter) throws MetadataException
addAdapter in interface IMetadataManagermdTxnCtx - MetadataTransactionContext of an active metadata transaction.MetadataExceptionpublic void dropIndex(MetadataTransactionContext ctx, String dataverseName, String datasetName, String indexName) throws MetadataException
IMetadataManagerdropIndex in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - Name of the datavers holding the given dataset.datasetName - Name of the dataset holding the index.MetadataException - For example, if the index does not exist.public Index getIndex(MetadataTransactionContext ctx, String dataverseName, String datasetName, String indexName) throws MetadataException
IMetadataManagergetIndex in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - Name of the datavers holding the given dataset.datasetName - Name of the dataset holding the index.MetadataException - For example, if the index does not exist.public void addNode(MetadataTransactionContext ctx, Node node) throws MetadataException
IMetadataManageraddNode in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.node - Node instance to be inserted.MetadataException - For example, if the node already exists.public void addNodegroup(MetadataTransactionContext ctx, NodeGroup nodeGroup) throws MetadataException
IMetadataManageraddNodegroup in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.nodeGroup - Node group instance to insert.MetadataException - For example, if the node group already exists.public void dropNodegroup(MetadataTransactionContext ctx, String nodeGroupName) throws MetadataException
IMetadataManagerdropNodegroup in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.nodeGroupName - Name of node group to be deleted.MetadataException - For example, there are still datasets partitioned on the node
group to be deleted.public NodeGroup getNodegroup(MetadataTransactionContext ctx, String nodeGroupName) throws MetadataException
IMetadataManagergetNodegroup in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.nodeGroupName - Name of node group to be retrieved.MetadataException - For example, if the node group does not exist.public void addFunction(MetadataTransactionContext mdTxnCtx, Function function) throws MetadataException
addFunction in interface IMetadataManagermdTxnCtx - MetadataTransactionContext of an active metadata transaction.function - An instance of type Function that represents the function
being addedMetadataExceptionpublic void dropFunction(MetadataTransactionContext ctx, FunctionSignature functionSignature) throws MetadataException
dropFunction in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.functionSignature - the functions signature (unique to the function)MetadataExceptionpublic Function getFunction(MetadataTransactionContext ctx, FunctionSignature functionSignature) throws MetadataException
getFunction in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.functionSignature - the functions signature (unique to the function)MetadataExceptionpublic void addFeedPolicy(MetadataTransactionContext mdTxnCtx, FeedPolicy feedPolicy) throws MetadataException
addFeedPolicy in interface IMetadataManagerMetadataExceptionpublic void initializeDatasetIdFactory(MetadataTransactionContext ctx) throws MetadataException
initializeDatasetIdFactory in interface IMetadataManagerMetadataExceptionpublic int getMostRecentDatasetId()
throws MetadataException
getMostRecentDatasetId in interface IMetadataManagerMetadataExceptionpublic List<Function> getDataverseFunctions(MetadataTransactionContext ctx, String dataverseName) throws MetadataException
getDataverseFunctions in interface IMetadataManagerMetadataExceptionpublic void dropAdapter(MetadataTransactionContext ctx, String dataverseName, String name) throws MetadataException
dropAdapter in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - the dataverse associated with the adapter being droppedname - name of the adapterMetadataExceptionpublic DatasourceAdapter getAdapter(MetadataTransactionContext ctx, String dataverseName, String name) throws MetadataException
getAdapter in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - the dataverse associated with the adapter being searchedMetadataExceptionpublic void dropLibrary(MetadataTransactionContext ctx, String dataverseName, String libraryName) throws MetadataException
IMetadataManagerdropLibrary in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - dataverse asociated with the adapter that is to be deleted.libraryName - Name of library to be deleted. MetadataException for example,
if the library does not exists.MetadataExceptionpublic List<Library> getDataverseLibraries(MetadataTransactionContext ctx, String dataverseName) throws MetadataException
IMetadataManagergetDataverseLibraries in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - dataverse asociated with the library that is to be retrieved.MetadataExceptionpublic void addLibrary(MetadataTransactionContext ctx, Library library) throws MetadataException
IMetadataManageraddLibrary in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.library - Library to be addedMetadataException - for example, if the library is already added.public Library getLibrary(MetadataTransactionContext ctx, String dataverseName, String libraryName) throws MetadataException, RemoteException
getLibrary in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataverseName - dataverse asociated with the library that is to be retrieved.libraryName - name of the library that is to be retrievedMetadataExceptionRemoteExceptionpublic void acquireWriteLatch()
acquireWriteLatch in interface IMetadataManagerpublic void releaseWriteLatch()
releaseWriteLatch in interface IMetadataManagerpublic void acquireReadLatch()
acquireReadLatch in interface IMetadataManagerpublic void releaseReadLatch()
releaseReadLatch in interface IMetadataManagerpublic FeedPolicy getFeedPolicy(MetadataTransactionContext ctx, String dataverse, String policyName) throws MetadataException
getFeedPolicy in interface IMetadataManagerMetadataExceptionpublic Feed getFeed(MetadataTransactionContext ctx, String dataverse, String feedName) throws MetadataException
getFeed in interface IMetadataManagerMetadataExceptionpublic void dropFeed(MetadataTransactionContext ctx, String dataverse, String feedName) throws MetadataException
dropFeed in interface IMetadataManagerMetadataExceptionpublic void addFeed(MetadataTransactionContext ctx, Feed feed) throws MetadataException
addFeed in interface IMetadataManagerMetadataExceptionpublic List<DatasourceAdapter> getDataverseAdapters(MetadataTransactionContext mdTxnCtx, String dataverse) throws MetadataException
MetadataExceptionpublic void dropFeedPolicy(MetadataTransactionContext mdTxnCtx, String dataverseName, String policyName) throws MetadataException
MetadataExceptionpublic List<FeedPolicy> getDataversePolicies(MetadataTransactionContext mdTxnCtx, String dataverse) throws MetadataException
MetadataExceptionpublic List<ExternalFile> getDatasetExternalFiles(MetadataTransactionContext mdTxnCtx, Dataset dataset) throws MetadataException
getDatasetExternalFiles in interface IMetadataManagermdTxnCtx - MetadataTransactionContext of an active metadata transaction.dataset - An instance of type Dataset that represents the "external" datasetMetadataExceptionpublic void addExternalFile(MetadataTransactionContext ctx, ExternalFile externalFile) throws MetadataException
addExternalFile in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.externalFile - An instance of type ExternalFile that represents the external file being
addedMetadataExceptionpublic void dropExternalFile(MetadataTransactionContext ctx, ExternalFile externalFile) throws MetadataException
dropExternalFile in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.externalFile - An instance of type ExternalFile that represents the external file being
droppedMetadataExceptionpublic ExternalFile getExternalFile(MetadataTransactionContext ctx, String dataverseName, String datasetName, Integer fileNumber) throws MetadataException
IMetadataManagergetExternalFile in interface IMetadataManagerMetadataExceptionpublic void dropDatasetExternalFiles(MetadataTransactionContext mdTxnCtx, Dataset dataset) throws MetadataException
dropDatasetExternalFiles in interface IMetadataManagermdTxnCtx - MetadataTransactionContext of an active metadata transaction.dataset - An instance of type dataset that owns the external files being
droppedMetadataExceptionpublic void updateDataset(MetadataTransactionContext ctx, Dataset dataset) throws MetadataException
IMetadataManagerupdateDataset in interface IMetadataManagerctx - MetadataTransactionContext of an active metadata transaction.dataset - Existing Dataset.MetadataException - For example, if the dataset already exists.public void cleanupTempDatasets()
IMetadataManagercleanupTempDatasets in interface IMetadataManagerCopyright © 2016 The Apache Software Foundation. All rights reserved.