[NO ISSUE][COMP] Drop synonyms in MetadataNode
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Move code that drops synonyms when their dataverse
is deleted from QueryTranslator to MetadataNode
Change-Id: I97233a6c264d058166d5029d396bcfc539b4d35b
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/4724
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
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 b35d022..d87d9d9 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
@@ -1368,9 +1368,6 @@
}
jobsToExecute.add(DataverseUtil.dropDataverseJobSpec(dv, metadataProvider));
- // #. gather all synonyms in this dataverse
- List<Synonym> synonyms = MetadataManager.INSTANCE.getDataverseSynonyms(mdTxnCtx, dataverseName);
-
// #. mark PendingDropOp on the dataverse record by
// first, deleting the dataverse record from the DATAVERSE_DATASET
// second, inserting the dataverse record with the PendingDropOp value into the
@@ -1391,11 +1388,6 @@
bActiveTxn = true;
metadataProvider.setMetadataTxnContext(mdTxnCtx);
- // #. delete synonyms in this dataverse
- for (Synonym synonym : synonyms) {
- MetadataManager.INSTANCE.dropSynonym(mdTxnCtx, synonym.getDataverseName(), synonym.getSynonymName());
- }
-
// #. finally, delete the dataverse.
MetadataManager.INSTANCE.dropDataverse(mdTxnCtx, dataverseName);
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 4177c64..9413b3b 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
@@ -518,6 +518,12 @@
try {
confirmDataverseCanBeDeleted(txnId, dataverseName);
+ // Drop all synonyms in this dataverse.
+ List<Synonym> dataverseSynonyms = getDataverseSynonyms(txnId, dataverseName);
+ for (Synonym synonym : dataverseSynonyms) {
+ dropSynonym(txnId, dataverseName, synonym.getSynonymName());
+ }
+
// As a side effect, acquires an S lock on the 'Function' dataset
// on behalf of txnId.
List<Function> dataverseFunctions = getDataverseFunctions(txnId, dataverseName);