From commits-return-13202-archive-asf-public=cust-asf.ponee.io@hudi.apache.org Wed Mar 11 23:49:10 2020 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id E7E0E18060E for ; Thu, 12 Mar 2020 00:49:09 +0100 (CET) Received: (qmail 58038 invoked by uid 500); 11 Mar 2020 23:49:09 -0000 Mailing-List: contact commits-help@hudi.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hudi.apache.org Delivered-To: mailing list commits@hudi.apache.org Received: (qmail 58028 invoked by uid 99); 11 Mar 2020 23:49:09 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Mar 2020 23:49:09 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 0CD178DACA; Wed, 11 Mar 2020 23:49:09 +0000 (UTC) Date: Wed, 11 Mar 2020 23:49:08 +0000 To: "commits@hudi.apache.org" Subject: [incubator-hudi] branch master updated: [HUDI-692] Add delete savepoint for cli (#1397) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <158397054888.15807.15362644123723913815@gitbox.apache.org> From: vinoth@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: incubator-hudi X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 7d668314447650243ec5c872229efdd02fb0212c X-Git-Newrev: 0f892ef62c76436b17030e6edb4642f476d7de1e X-Git-Rev: 0f892ef62c76436b17030e6edb4642f476d7de1e X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated This is an automated email from the ASF dual-hosted git repository. vinoth pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-hudi.git The following commit(s) were added to refs/heads/master by this push: new 0f892ef [HUDI-692] Add delete savepoint for cli (#1397) 0f892ef is described below commit 0f892ef62c76436b17030e6edb4642f476d7de1e Author: hongdd AuthorDate: Thu Mar 12 07:49:02 2020 +0800 [HUDI-692] Add delete savepoint for cli (#1397) * Add delete savepoint for cli * Add check * Move JavaSparkContext to try --- .../hudi/cli/commands/SavepointsCommand.java | 39 +++++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java index 65a813d..9ef15ac 100644 --- a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java +++ b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java @@ -76,17 +76,17 @@ public class SavepointsCommand implements CommandMarker { return "Commit " + commitTime + " not found in Commits " + timeline; } - JavaSparkContext jsc = SparkUtil.initJavaSparkConf("Create Savepoint"); - HoodieWriteClient client = createHoodieClient(jsc, metaClient.getBasePath()); String result; - if (client.savepoint(commitTime, user, comments)) { - // Refresh the current - refreshMetaClient(); - result = String.format("The commit \"%s\" has been savepointed.", commitTime); - } else { - result = String.format("Failed: Could not savepoint commit \"%s\".", commitTime); + try (JavaSparkContext jsc = SparkUtil.initJavaSparkConf("Create Savepoint")) { + HoodieWriteClient client = createHoodieClient(jsc, metaClient.getBasePath()); + if (client.savepoint(commitTime, user, comments)) { + // Refresh the current + refreshMetaClient(); + result = String.format("The commit \"%s\" has been savepointed.", commitTime); + } else { + result = String.format("Failed: Could not savepoint commit \"%s\".", commitTime); + } } - jsc.close(); return result; } @@ -127,6 +127,27 @@ public class SavepointsCommand implements CommandMarker { return "Metadata for table " + HoodieCLI.getTableMetaClient().getTableConfig().getTableName() + " refreshed."; } + @CliCommand(value = "savepoint delete", help = "Delete the savepoint") + public String deleteSavepoint(@CliOption(key = {"commit"}, help = "Delete a savepoint") final String commitTime) throws Exception { + HoodieTableMetaClient metaClient = HoodieCLI.getTableMetaClient(); + HoodieTimeline completedInstants = metaClient.getActiveTimeline().getSavePointTimeline().filterCompletedInstants(); + if (completedInstants.empty()) { + throw new HoodieException("There are no completed savepoint to run delete"); + } + HoodieInstant savePoint = new HoodieInstant(false, HoodieTimeline.SAVEPOINT_ACTION, commitTime); + + if (!completedInstants.containsInstant(savePoint)) { + return "Commit " + commitTime + " not found in Commits " + completedInstants; + } + + try (JavaSparkContext jsc = SparkUtil.initJavaSparkConf("Delete Savepoint")) { + HoodieWriteClient client = createHoodieClient(jsc, metaClient.getBasePath()); + client.deleteSavepoint(commitTime); + refreshMetaClient(); + } + return "Savepoint " + commitTime + " deleted"; + } + private static HoodieWriteClient createHoodieClient(JavaSparkContext jsc, String basePath) throws Exception { HoodieWriteConfig config = HoodieWriteConfig.newBuilder().withPath(basePath) .withIndexConfig(HoodieIndexConfig.newBuilder().withIndexType(HoodieIndex.IndexType.BLOOM).build()).build();