You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ng...@apache.org on 2021/04/06 15:40:22 UTC

[hive] 38/38: HIVE-24396: Additional feedback incorporated (Naveen Gangam) Removed ReplicationSpec for connectors Notification event for alter connector removed some code.

This is an automated email from the ASF dual-hosted git repository.

ngangam pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git

commit 2eb0e00d5d614d3144519cf4861ec1759a373c7d
Author: Naveen Gangam <ng...@cloudera.com>
AuthorDate: Fri Apr 2 16:02:20 2021 -0400

    HIVE-24396: Additional feedback incorporated (Naveen Gangam)
                Removed ReplicationSpec for connectors
                Notification event for alter connector
                removed some code.
---
 .../alter/AbstractAlterDataConnectorDesc.java      | 13 +----
 .../alter/AbstractAlterDataConnectorOperation.java | 12 ++---
 .../owner/AlterDataConnectorSetOwnerAnalyzer.java  |  2 +-
 .../owner/AlterDataConnectorSetOwnerDesc.java      |  5 +-
 .../owner/AlterDataConnectorSetOwnerOperation.java |  4 +-
 .../AlterDataConnectorSetPropertiesAnalyzer.java   |  2 +-
 .../AlterDataConnectorSetPropertiesDesc.java       |  6 +--
 .../AlterDataConnectorSetPropertiesOperation.java  |  3 +-
 .../alter/url/AlterDataConnectorSetUrlDesc.java    |  2 +-
 .../url/AlterDataConnectorSetUrlOperation.java     |  3 +-
 .../drop/DropDataConnectorAnalyzer.java            |  3 +-
 .../dataconnector/drop/DropDataConnectorDesc.java  | 13 +----
 .../drop/DropDataConnectorOperation.java           | 22 +--------
 .../hive/metastore/MetaStoreEventListener.java     |  8 +++
 .../hive/metastore/MetaStoreListenerNotifier.java  |  8 +++
 .../DataConnectorProviderFactory.java              | 12 -----
 .../metastore/events/AlterDataConnectorEvent.java  | 57 ++++++++++++++++++++++
 17 files changed, 92 insertions(+), 83 deletions(-)

diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/AbstractAlterDataConnectorDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/AbstractAlterDataConnectorDesc.java
index 281378f..2258161 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/AbstractAlterDataConnectorDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/AbstractAlterDataConnectorDesc.java
@@ -21,7 +21,6 @@ package org.apache.hadoop.hive.ql.ddl.dataconnector.alter;
 import java.io.Serializable;
 
 import org.apache.hadoop.hive.ql.ddl.DDLDesc;
-import org.apache.hadoop.hive.ql.parse.ReplicationSpec;
 import org.apache.hadoop.hive.ql.plan.Explain;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
@@ -32,23 +31,13 @@ public abstract class AbstractAlterDataConnectorDesc implements DDLDesc, Seriali
   private static final long serialVersionUID = 1L;
 
   private final String connectorName;
-  private final ReplicationSpec replicationSpec;
 
-  public AbstractAlterDataConnectorDesc(String connectorName, ReplicationSpec replicationSpec) {
+  public AbstractAlterDataConnectorDesc(String connectorName) {
     this.connectorName = connectorName;
-    this.replicationSpec = replicationSpec;
   }
 
   @Explain(displayName="name", explainLevels = {Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getConnectorName() {
     return connectorName;
   }
-
-  /**
-   * @return what kind of replication scope this alter is running under.
-   * This can result in a "ALTER IF NEWER THAN" kind of semantic
-   */
-  public ReplicationSpec getReplicationSpec() {
-    return this.replicationSpec;
-  }
 }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/AbstractAlterDataConnectorOperation.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/AbstractAlterDataConnectorOperation.java
index 84093e7..01da755 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/AbstractAlterDataConnectorOperation.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/AbstractAlterDataConnectorOperation.java
@@ -43,17 +43,13 @@ public abstract class AbstractAlterDataConnectorOperation<T extends AbstractAlte
     }
 
     Map<String, String> params = connector.getParameters();
-    if ((desc.getReplicationSpec() != null) &&
-        !desc.getReplicationSpec().allowEventReplacementInto(params)) {
-      LOG.debug("DDLTask: Alter Connector {} is skipped as connector is newer than update", dcName);
-      return 0; // no replacement, the existing connector state is newer than our update.
-    }
-
-    doAlteration(connector, params);
+    // this call is to set the values from the alter descriptor onto the connector object
+    doAlteration(connector);
 
+    // This is the HMS metadata operation to modify the object
     context.getDb().alterDataConnector(connector.getName(), connector);
     return 0;
   }
 
-  protected abstract void doAlteration(DataConnector connector, Map<String, String> params) throws HiveException;
+  protected abstract void doAlteration(DataConnector connector) throws HiveException;
 }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerAnalyzer.java
index 1fb34e1..4634f82 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerAnalyzer.java
@@ -48,7 +48,7 @@ public class AlterDataConnectorSetOwnerAnalyzer extends AbstractAlterDataConnect
       throw new SemanticException("Owner type can't be null in alter connector set owner command");
     }
 
-    AlterDataConnectorSetOwnerDesc desc = new AlterDataConnectorSetOwnerDesc(connectorName, principalDesc, null);
+    AlterDataConnectorSetOwnerDesc desc = new AlterDataConnectorSetOwnerDesc(connectorName, principalDesc);
     addAlterDataConnectorDesc(desc);
   }
 }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerDesc.java
index 8d2c0c3..70c923d7 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerDesc.java
@@ -20,7 +20,6 @@ package org.apache.hadoop.hive.ql.ddl.dataconnector.alter.owner;
 
 import org.apache.hadoop.hive.ql.ddl.dataconnector.alter.AbstractAlterDataConnectorDesc;
 import org.apache.hadoop.hive.ql.ddl.privilege.PrincipalDesc;
-import org.apache.hadoop.hive.ql.parse.ReplicationSpec;
 import org.apache.hadoop.hive.ql.plan.Explain;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
@@ -33,8 +32,8 @@ public class AlterDataConnectorSetOwnerDesc extends AbstractAlterDataConnectorDe
 
   private final PrincipalDesc ownerPrincipal;
 
-  public AlterDataConnectorSetOwnerDesc(String connectorName, PrincipalDesc ownerPrincipal, ReplicationSpec replicationSpec) {
-    super(connectorName, replicationSpec);
+  public AlterDataConnectorSetOwnerDesc(String connectorName, PrincipalDesc ownerPrincipal) {
+    super(connectorName);
     this.ownerPrincipal = ownerPrincipal;
   }
 
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerOperation.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerOperation.java
index 7f06a4d..bd740a5 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerOperation.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/owner/AlterDataConnectorSetOwnerOperation.java
@@ -18,8 +18,6 @@
 
 package org.apache.hadoop.hive.ql.ddl.dataconnector.alter.owner;
 
-import java.util.Map;
-
 import org.apache.hadoop.hive.metastore.api.DataConnector;
 import org.apache.hadoop.hive.ql.ddl.DDLOperationContext;
 import org.apache.hadoop.hive.ql.ddl.dataconnector.alter.AbstractAlterDataConnectorOperation;
@@ -34,7 +32,7 @@ public class AlterDataConnectorSetOwnerOperation extends
   }
 
   @Override
-  protected void doAlteration(DataConnector connector, Map<String, String> params) {
+  protected void doAlteration(DataConnector connector) {
     connector.setOwnerName(desc.getOwnerPrincipal().getName());
     connector.setOwnerType(desc.getOwnerPrincipal().getType());
   }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesAnalyzer.java
index e8fb1b9..1d347b0 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesAnalyzer.java
@@ -51,7 +51,7 @@ public class AlterDataConnectorSetPropertiesAnalyzer extends AbstractAlterDataCo
       }
     }
 
-    AlterDataConnectorSetPropertiesDesc desc = new AlterDataConnectorSetPropertiesDesc(connectorName, dbProps, null);
+    AlterDataConnectorSetPropertiesDesc desc = new AlterDataConnectorSetPropertiesDesc(connectorName, dbProps);
     addAlterDataConnectorDesc(desc);
   }
 }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesDesc.java
index 07958c2..d53260e 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesDesc.java
@@ -21,7 +21,6 @@ package org.apache.hadoop.hive.ql.ddl.dataconnector.alter.properties;
 import java.util.Map;
 
 import org.apache.hadoop.hive.ql.ddl.dataconnector.alter.AbstractAlterDataConnectorDesc;
-import org.apache.hadoop.hive.ql.parse.ReplicationSpec;
 import org.apache.hadoop.hive.ql.plan.Explain;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
@@ -34,9 +33,8 @@ public class AlterDataConnectorSetPropertiesDesc extends AbstractAlterDataConnec
 
   private final Map<String, String> dcProperties;
 
-  public AlterDataConnectorSetPropertiesDesc(String connectorName, Map<String, String> dcProperties,
-      ReplicationSpec replicationSpec) {
-    super(connectorName, replicationSpec);
+  public AlterDataConnectorSetPropertiesDesc(String connectorName, Map<String, String> dcProperties) {
+    super(connectorName);
     this.dcProperties = dcProperties;
   }
 
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesOperation.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesOperation.java
index c9fa032..2037539 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesOperation.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/properties/AlterDataConnectorSetPropertiesOperation.java
@@ -34,8 +34,9 @@ public class AlterDataConnectorSetPropertiesOperation
   }
 
   @Override
-  protected void doAlteration(DataConnector connector, Map<String, String> params) {
+  protected void doAlteration(DataConnector connector) {
     Map<String, String> newParams = desc.getConnectorProperties();
+    Map<String, String> params = connector.getParameters();
 
     // if both old and new params are not null, merge them
     if (params != null && newParams != null) {
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/url/AlterDataConnectorSetUrlDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/url/AlterDataConnectorSetUrlDesc.java
index a142ea0..9416a97 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/url/AlterDataConnectorSetUrlDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/url/AlterDataConnectorSetUrlDesc.java
@@ -32,7 +32,7 @@ public class AlterDataConnectorSetUrlDesc extends AbstractAlterDataConnectorDesc
   private final String url;
 
   public AlterDataConnectorSetUrlDesc(String connectorName, String location) {
-    super(connectorName, null);
+    super(connectorName);
     this.url = location;
   }
 
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/url/AlterDataConnectorSetUrlOperation.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/url/AlterDataConnectorSetUrlOperation.java
index 190e833..364187b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/url/AlterDataConnectorSetUrlOperation.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/url/AlterDataConnectorSetUrlOperation.java
@@ -20,7 +20,6 @@ package org.apache.hadoop.hive.ql.ddl.dataconnector.alter.url;
 
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.hive.metastore.api.DataConnector;
@@ -39,7 +38,7 @@ public class AlterDataConnectorSetUrlOperation extends
   }
 
   @Override
-  protected void doAlteration(DataConnector connector, Map<String, String> params) throws HiveException {
+  protected void doAlteration(DataConnector connector) throws HiveException {
     try {
       String newUrl = desc.getURL();
 
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorAnalyzer.java
index 37817db..7cb8b8b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorAnalyzer.java
@@ -28,7 +28,6 @@ import org.apache.hadoop.hive.ql.hooks.WriteEntity;
 import org.apache.hadoop.hive.ql.parse.ASTNode;
 import org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer;
 import org.apache.hadoop.hive.ql.parse.HiveParser;
-import org.apache.hadoop.hive.ql.parse.ReplicationSpec;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
 
 /**
@@ -53,7 +52,7 @@ public class DropDataConnectorAnalyzer extends BaseSemanticAnalyzer {
     inputs.add(new ReadEntity(connector));
     outputs.add(new WriteEntity(connector, WriteEntity.WriteType.DDL_EXCLUSIVE));
 
-    DropDataConnectorDesc desc = new DropDataConnectorDesc(connectorName, ifExists, new ReplicationSpec());
+    DropDataConnectorDesc desc = new DropDataConnectorDesc(connectorName, ifExists);
     rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), desc)));
   }
 }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorDesc.java
index 8e3bc6b..d07c976 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorDesc.java
@@ -21,7 +21,6 @@ package org.apache.hadoop.hive.ql.ddl.dataconnector.drop;
 import java.io.Serializable;
 
 import org.apache.hadoop.hive.ql.ddl.DDLDesc;
-import org.apache.hadoop.hive.ql.parse.ReplicationSpec;
 import org.apache.hadoop.hive.ql.plan.Explain;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
@@ -34,16 +33,10 @@ public class DropDataConnectorDesc implements DDLDesc, Serializable {
 
   private final String connectorName;
   private final boolean ifExists;
-  private final ReplicationSpec replicationSpec;
 
-  public DropDataConnectorDesc(String connectorName, boolean ifExists, ReplicationSpec replicationSpec) {
-    this(connectorName, ifExists, false, replicationSpec);
-  }
-
-  public DropDataConnectorDesc(String connectorName, boolean ifExists, boolean cascade, ReplicationSpec replicationSpec) {
+  public DropDataConnectorDesc(String connectorName, boolean ifExists) {
     this.connectorName = connectorName;
     this.ifExists = ifExists;
-    this.replicationSpec = replicationSpec;
   }
 
   @Explain(displayName = "connector", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
@@ -55,8 +48,4 @@ public class DropDataConnectorDesc implements DDLDesc, Serializable {
   public boolean getIfExists() {
     return ifExists;
   }
-
-  public ReplicationSpec getReplicationSpec() {
-    return replicationSpec;
-  }
 }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorOperation.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorOperation.java
index 64692f7..81a41b9 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorOperation.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/drop/DropDataConnectorOperation.java
@@ -18,15 +18,11 @@
 
 package org.apache.hadoop.hive.ql.ddl.dataconnector.drop;
 
-import org.apache.hadoop.hive.llap.LlapHiveUtils;
-import org.apache.hadoop.hive.llap.ProactiveEviction;
-import org.apache.hadoop.hive.metastore.api.DataConnector;
 import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
 import org.apache.hadoop.hive.ql.ErrorMsg;
 import org.apache.hadoop.hive.ql.ddl.DDLOperation;
 import org.apache.hadoop.hive.ql.ddl.DDLOperationContext;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.parse.ReplicationSpec;
 
 /**
  * Operation process of dropping a data connector.
@@ -39,23 +35,7 @@ public class DropDataConnectorOperation extends DDLOperation<DropDataConnectorDe
   @Override
   public int execute() throws HiveException {
     try {
-      String dcName = desc.getConnectorName();
-      ReplicationSpec replicationSpec = desc.getReplicationSpec();
-      if (replicationSpec.isInReplicationScope()) {
-        DataConnector connector = context.getDb().getDataConnector(dcName);
-        if (connector == null || !replicationSpec.allowEventReplacementInto(connector.getParameters())) {
-          return 0;
-        }
-      }
-
-      context.getDb().dropDataConnector(dcName, desc.getIfExists());
-
-      // TODO is this required for Connectors
-      if (LlapHiveUtils.isLlapMode(context.getConf())) {
-        ProactiveEviction.Request.Builder llapEvictRequestBuilder = ProactiveEviction.Request.Builder.create();
-        llapEvictRequestBuilder.addDb(dcName);
-        ProactiveEviction.evict(context.getConf(), llapEvictRequestBuilder.build());
-      }
+      context.getDb().dropDataConnector(desc.getConnectorName(), desc.getIfExists());
     } catch (NoSuchObjectException ex) {
       throw new HiveException(ex, ErrorMsg.DATACONNECTOR_NOT_EXISTS, desc.getConnectorName());
     }
diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreEventListener.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreEventListener.java
index 78a2079..aff4855 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreEventListener.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreEventListener.java
@@ -32,6 +32,7 @@ import org.apache.hadoop.hive.metastore.events.AddSchemaVersionEvent;
 import org.apache.hadoop.hive.metastore.events.AddUniqueConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AlterCatalogEvent;
 import org.apache.hadoop.hive.metastore.events.AlterDatabaseEvent;
+import org.apache.hadoop.hive.metastore.events.AlterDataConnectorEvent;
 import org.apache.hadoop.hive.metastore.events.AlterISchemaEvent;
 import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
@@ -162,6 +163,13 @@ public abstract class MetaStoreEventListener implements Configurable {
   }
 
   /**
+   * @param dcEvent alter data connector event
+   * @throws MetaException
+   */
+  public void onAlterDataConnector(AlterDataConnectorEvent dcEvent) throws MetaException {
+  }
+
+  /**
    * @param dbEvent alter database event
    * @throws MetaException
    */
diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreListenerNotifier.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreListenerNotifier.java
index 43ba3f1..d5cf811 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreListenerNotifier.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreListenerNotifier.java
@@ -34,6 +34,7 @@ import org.apache.hadoop.hive.metastore.events.AddSchemaVersionEvent;
 import org.apache.hadoop.hive.metastore.events.AddUniqueConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AlterCatalogEvent;
 import org.apache.hadoop.hive.metastore.events.AlterDatabaseEvent;
+import org.apache.hadoop.hive.metastore.events.AlterDataConnectorEvent;
 import org.apache.hadoop.hive.metastore.events.AlterISchemaEvent;
 import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AlterSchemaVersionEvent;
@@ -140,6 +141,13 @@ public class MetaStoreListenerNotifier {
               listener.onAlterDatabase((AlterDatabaseEvent)event);
             }
           })
+          .put(EventType.ALTER_DATACONNECTOR, new EventNotifier() {
+            @Override
+            public void notify(MetaStoreEventListener listener,
+                ListenerEvent event) throws MetaException {
+              listener.onAlterDataConnector((AlterDataConnectorEvent)event);
+            }
+          })
           .put(EventType.ALTER_TABLE, new EventNotifier() {
             @Override
             public void notify(MetaStoreEventListener listener, ListenerEvent event) throws MetaException {
diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/DataConnectorProviderFactory.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/DataConnectorProviderFactory.java
index bb2d972..6d404cf 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/DataConnectorProviderFactory.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/DataConnectorProviderFactory.java
@@ -75,18 +75,6 @@ public class DataConnectorProviderFactory {
     return provider;
   }
 
-  IDataConnectorProvider getDataConnectorProvider(String connectorName) {
-    if (connectorName == null || connectorName.isEmpty()) {
-      return null;
-    }
-
-    if (cache.containsKey(connectorName.toLowerCase() != null)) {
-      return cache.get(connectorName.toLowerCase());
-    }
-    return null;
-    // return getDataConnectorProvider();
-  }
-
   public void shutdown() {
     for (IDataConnectorProvider provider: cache.values()) {
       try {
diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/events/AlterDataConnectorEvent.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/events/AlterDataConnectorEvent.java
new file mode 100644
index 0000000..cf29b93
--- /dev/null
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/events/AlterDataConnectorEvent.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.metastore.events;
+
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.hive.metastore.IHMSHandler;
+import org.apache.hadoop.hive.metastore.api.DataConnector;
+
+/**
+ * AlterDataConnectorEvent.
+ * Event which is captured during connector alters for owner info or properties or URI
+ */
+@InterfaceAudience.Public
+@InterfaceStability.Stable
+public class AlterDataConnectorEvent extends ListenerEvent {
+  private final DataConnector oldDc;
+  private final DataConnector newDc;
+
+  public AlterDataConnectorEvent(DataConnector oldDc, DataConnector newDc, boolean status, IHMSHandler handler,
+      boolean isReplicated) {
+    super(status, handler);
+    this.oldDc = oldDc;
+    this.newDc = newDc;
+  }
+
+  /**
+   * @return the old db
+   */
+  public DataConnector getOldDataConnector() {
+    return oldDc;
+  }
+
+  /**
+   * @return the new db
+   */
+  public DataConnector getNewDataConnector() {
+    return newDc;
+  }
+
+}