private static void recoverDataverse(MetadataTransactionContext mdTxnCtx, Dataverse dataverse) throws AlgebricksException { if (dataverse.getPendingOp() != MetadataUtil.PENDING_NO_OP) { // drop pending dataverse MetadataManager.INSTANCE.dropDataverse(mdTxnCtx, dataverse.getDataverseName()); if (LOGGER.isInfoEnabled()) { LOGGER.info("Dropped a pending dataverse: " + dataverse.getDataverseName()); } } else { List<Dataset> datasets = MetadataManager.INSTANCE.getDataverseDatasets(mdTxnCtx, dataverse.getDataverseName()); for (Dataset dataset : datasets) { recoverDataset(mdTxnCtx, dataset); } } }
MetadataManager.INSTANCE.dropDataverse(mdTxnCtx, dataverseName); MetadataManager.INSTANCE.addDataverse(mdTxnCtx, new Dataverse(dataverseName, dv.getDataFormat(), MetadataUtil.PENDING_DROP_OP)); MetadataManager.INSTANCE.dropDataverse(mdTxnCtx, dataverseName); MetadataManager.INSTANCE.dropDataverse(mdTxnCtx, dataverseName); MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); } catch (Exception e2) {