You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mh...@apache.org on 2018/03/12 17:27:12 UTC

asterixdb git commit: [NO ISSUE][TX] Remove Invalid Metadata Locking API

Repository: asterixdb
Updated Branches:
  refs/heads/master c5ca3db26 -> d88c7450c


[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 <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Michael Blow <mb...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/d88c7450
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/d88c7450
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/d88c7450

Branch: refs/heads/master
Commit: d88c7450c1af72eddd967c8c96a9006b899164aa
Parents: c5ca3db
Author: Murtadha Hubail <mh...@apache.org>
Authored: Mon Mar 12 14:25:30 2018 +0300
Committer: Murtadha Hubail <mh...@apache.org>
Committed: Mon Mar 12 10:26:43 2018 -0700

----------------------------------------------------------------------
 .../asterix/metadata/MetadataManager.java       | 10 ---------
 .../apache/asterix/metadata/MetadataNode.java   | 14 ------------
 .../asterix/metadata/api/IMetadataManager.java  | 23 --------------------
 .../asterix/metadata/api/IMetadataNode.java     | 17 ---------------
 .../metadata/bootstrap/MetadataBootstrap.java   |  4 ----
 5 files changed, 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d88c7450/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java
----------------------------------------------------------------------
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 @@ public abstract class MetadataManager implements IMetadataManager {
     }
 
     @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);

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d88c7450/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
----------------------------------------------------------------------
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 @@ import org.apache.hyracks.storage.common.MultiComparator;
 
 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 @@ public class MetadataNode implements IMetadataNode {
         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

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d88c7450/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataManager.java
----------------------------------------------------------------------
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 @@ public interface IMetadataManager extends IMetadataBootstrap {
     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

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d88c7450/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataNode.java
----------------------------------------------------------------------
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 @@ public interface IMetadataNode extends Remote, Serializable {
     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.
      *

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d88c7450/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
----------------------------------------------------------------------
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 @@ public class MetadataBootstrap {
 
         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]);
             }