You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by dl...@apache.org on 2020/12/18 21:04:35 UTC
[asterixdb] 03/06: [NO ISSUE][MD] Drop pending libraries during
recovery
This is an automated email from the ASF dual-hosted git repository.
dlych pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 9d4536dcdeb82876917c4c8a48a22412a3700e3d
Author: Dmitry Lychagin <dm...@couchbase.com>
AuthorDate: Mon Dec 14 11:36:59 2020 -0800
[NO ISSUE][MD] Drop pending libraries during recovery
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Drop pending libraries during metadata recovery
Change-Id: I41d0d9cb4a58d6a12e0c8356b80e376452767a8b
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/9343
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Dmitry Lychagin <dm...@couchbase.com>
Reviewed-by: Ian Maxon <im...@uci.edu>
---
.../asterix/metadata/bootstrap/MetadataBootstrap.java | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
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 cf089fa..2aca994 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
@@ -60,6 +60,7 @@ import org.apache.asterix.metadata.entities.Index;
import org.apache.asterix.metadata.entities.InternalDatasetDetails;
import org.apache.asterix.metadata.entities.InternalDatasetDetails.FileStructure;
import org.apache.asterix.metadata.entities.InternalDatasetDetails.PartitioningStrategy;
+import org.apache.asterix.metadata.entities.Library;
import org.apache.asterix.metadata.entities.Node;
import org.apache.asterix.metadata.entities.NodeGroup;
import org.apache.asterix.metadata.feeds.BuiltinFeedPolicies;
@@ -457,6 +458,12 @@ public class MetadataBootstrap {
for (Dataset dataset : datasets) {
recoverDataset(mdTxnCtx, dataset);
}
+
+ List<Library> libraries =
+ MetadataManager.INSTANCE.getDataverseLibraries(mdTxnCtx, dataverse.getDataverseName());
+ for (Library library : libraries) {
+ recoverLibrary(mdTxnCtx, library);
+ }
}
}
@@ -501,6 +508,17 @@ public class MetadataBootstrap {
}
}
+ private static void recoverLibrary(MetadataTransactionContext mdTxnCtx, Library library)
+ throws AlgebricksException {
+ if (library.getPendingOp() != MetadataUtil.PENDING_NO_OP) {
+ // drop pending library
+ MetadataManager.INSTANCE.dropLibrary(mdTxnCtx, library.getDataverseName(), library.getName());
+ if (LOGGER.isInfoEnabled()) {
+ LOGGER.info("Dropped a pending library: " + library.getDataverseName() + "." + library.getName());
+ }
+ }
+ }
+
public static boolean isNewUniverse() {
return isNewUniverse;
}