[NO ISSUE][TX] Remove Invalid Metadata Locking API
- user model changes: no
- storage format changes: no
- interface changes: yes
Details:
- All metadata locking is performed by the CC in
MetadataLockManager. Having the locking API in
MetadataNode is only causing confusion.
Change-Id: I9fae8bd32c8312ef69b38016ad00f170fca9a1c5
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2474
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Michael Blow <mblow@apache.org>
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java
index a5e3a84..8e06dd7 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java
@@ -146,16 +146,6 @@
}
@Override
- public void lock(MetadataTransactionContext ctx, byte lockMode) throws RemoteException, ACIDException {
- metadataNode.lock(ctx.getTxnId(), lockMode);
- }
-
- @Override
- public void unlock(MetadataTransactionContext ctx, byte lockMode) throws RemoteException, ACIDException {
- metadataNode.unlock(ctx.getTxnId(), lockMode);
- }
-
- @Override
public void addDataverse(MetadataTransactionContext ctx, Dataverse dataverse) throws AlgebricksException {
try {
metadataNode.addDataverse(ctx.getTxnId(), dataverse);
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
index 616d92b..543b794 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
@@ -127,8 +127,6 @@
public class MetadataNode implements IMetadataNode {
private static final long serialVersionUID = 1L;
- private static final DatasetId METADATA_DATASET_ID =
- new ImmutableDatasetId(MetadataPrimaryIndexes.PROPERTIES_METADATA.getDatasetId());
// shared between core and extension
private IDatasetLifecycleManager datasetLifecycleManager;
@@ -184,18 +182,6 @@
transactionSubsystem.getTransactionManager().abortTransaction(txnId);
}
- @Override
- public void lock(TxnId txnId, byte lockMode) throws ACIDException, RemoteException {
- ITransactionContext txnCtx = transactionSubsystem.getTransactionManager().getTransactionContext(txnId);
- transactionSubsystem.getLockManager().lock(METADATA_DATASET_ID, -1, lockMode, txnCtx);
- }
-
- @Override
- public void unlock(TxnId txnId, byte lockMode) throws ACIDException, RemoteException {
- ITransactionContext txnCtx = transactionSubsystem.getTransactionManager().getTransactionContext(txnId);
- transactionSubsystem.getLockManager().unlock(METADATA_DATASET_ID, -1, lockMode, txnCtx);
- }
-
// TODO(amoudi): make all metadata operations go through the generic methods
/**
* Add entity to index
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataManager.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataManager.java
index ff349e1..966792e 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataManager.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataManager.java
@@ -86,29 +86,6 @@
void abortTransaction(MetadataTransactionContext ctx) throws ACIDException, RemoteException;
/**
- * Locks the metadata in given mode. The lock acquisition is delegated to the
- * metadata node. This method blocks until the lock can be acquired.
- *
- * @param ctx
- * MetadataTransactionContext of an active metadata transaction.
- * @param lockMode
- * Desired lockode.
- * @throws ACIDException
- * @throws RemoteException
- */
- void lock(MetadataTransactionContext ctx, byte lockMode) throws ACIDException, RemoteException;
-
- /**
- * Releases all locks on the metadata held by the given transaction id.
- *
- * @param ctx
- * MetadataTransactionContext of an active metadata transaction.
- * @throws ACIDException
- * @throws RemoteException
- */
- void unlock(MetadataTransactionContext ctx, byte lockMode) throws ACIDException, RemoteException;
-
- /**
* Inserts a new dataverse into the metadata.
*
* @param ctx
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataNode.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataNode.java
index dc23db4..d5d5733 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataNode.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataNode.java
@@ -79,23 +79,6 @@
void abortTransaction(TxnId txnId) throws ACIDException, RemoteException;
/**
- * Locally locks the entire metadata in given mode on behalf of given
- * transaction id.
- *
- * @throws ACIDException
- * @throws RemoteException
- */
- void lock(TxnId txnId, byte lockMode) throws ACIDException, RemoteException;
-
- /**
- * Releases all local locks of given transaction id.
- *
- * @throws ACIDException
- * @throws RemoteException
- */
- void unlock(TxnId txnId, byte lockMode) throws ACIDException, RemoteException;
-
- /**
* Inserts a new dataverse into the metadata, acquiring local locks on behalf of
* the given transaction id.
*
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
index 7d5558d..980d36d 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
@@ -144,10 +144,6 @@
MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
try {
- // Begin a transaction against the metadata.
- // Lock the metadata in X mode.
- MetadataManager.INSTANCE.lock(mdTxnCtx, LockMode.X);
-
for (int i = 0; i < PRIMARY_INDEXES.length; i++) {
enlistMetadataDataset(ncServiceContext, PRIMARY_INDEXES[i]);
}