Merge branch 'gerrit/neo'

Change-Id: I4bbbe5bf88e623c175fdab117ace9f56a213d01f
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index 3b41beb..b28452e 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
@@ -2069,6 +2069,8 @@
             if (activeDataverse.getDataverseName().equals(dataverseName)) {
                 activeDataverse = MetadataBuiltinEntities.DEFAULT_DATAVERSE;
             }
+
+            validateDataverseDatasetsStateAfterDrop(metadataProvider, mdTxnCtx, datasets);
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
             return true;
         } catch (Exception e) {
@@ -2115,7 +2117,12 @@
 
     protected void validateDataverseStateBeforeDrop(MetadataProvider metadataProvider, Dataverse dataverse,
             SourceLocation sourceLoc) throws AlgebricksException {
-        // may be overriden by product extensions for additional checks before dropping the dataverse
+        // may be overridden by product extensions for additional checks before dropping the dataverse
+    }
+
+    protected void validateDataverseDatasetsStateAfterDrop(MetadataProvider metadataProvider,
+            MetadataTransactionContext mdTxnCtx, List<Dataset> datasets) throws AlgebricksException {
+        // may be overridden by product extensions for additional checks after dropping the dataverse
     }
 
     public void handleDatasetDropStatement(MetadataProvider metadataProvider, Statement stmt,