1
0

[HUDI-387] Fix NPE when create savepoint via hudi-cli (#1085)

This commit is contained in:
lamber-ken
2019-12-11 00:00:53 +08:00
committed by vinoth chandar
parent 8df4b83017
commit 24a09c775f
2 changed files with 15 additions and 6 deletions

View File

@@ -84,8 +84,8 @@ public class SavepointsCommand implements CommandMarker {
@CliCommand(value = "savepoint create", help = "Savepoint a commit")
public String savepoint(@CliOption(key = {"commit"}, help = "Commit to savepoint") final String commitTime,
@CliOption(key = {"user"}, help = "User who is creating the savepoint") final String user,
@CliOption(key = {"comments"}, help = "Comments for creating the savepoint") final String comments)
@CliOption(key = {"user"}, unspecifiedDefaultValue = "default", help = "User who is creating the savepoint") final String user,
@CliOption(key = {"comments"}, unspecifiedDefaultValue = "default", help = "Comments for creating the savepoint") final String comments)
throws Exception {
HoodieActiveTimeline activeTimeline = HoodieCLI.tableMetadata.getActiveTimeline();
HoodieTimeline timeline = activeTimeline.getCommitTimeline().filterCompletedInstants();
@@ -95,13 +95,18 @@ public class SavepointsCommand implements CommandMarker {
return "Commit " + commitTime + " not found in Commits " + timeline;
}
HoodieWriteClient client = createHoodieClient(null, HoodieCLI.tableMetadata.getBasePath());
JavaSparkContext jsc = SparkUtil.initJavaSparkConf("Create Savepoint");
HoodieWriteClient client = createHoodieClient(jsc, HoodieCLI.tableMetadata.getBasePath());
String result;
if (client.savepoint(commitTime, user, comments)) {
// Refresh the current
refreshMetaClient();
return String.format("The commit \"%s\" has been savepointed.", commitTime);
result = String.format("The commit \"%s\" has been savepointed.", commitTime);
} else {
result = String.format("Failed: Could not savepoint commit \"%s\".", commitTime);
}
return String.format("Failed: Could not savepoint commit \"%s\".", commitTime);
jsc.close();
return result;
}
@CliCommand(value = "savepoint rollback", help = "Savepoint a commit")

View File

@@ -61,10 +61,14 @@ public class SparkUtil {
public static JavaSparkContext initJavaSparkConf(String name) {
SparkConf sparkConf = new SparkConf().setAppName(name);
String defMasterFromEnv = sparkConf.get("spark.master");
String defMasterFromEnv = sparkConf.getenv("SPARK_MASTER");
if ((null == defMasterFromEnv) || (defMasterFromEnv.isEmpty())) {
sparkConf.setMaster(DEFUALT_SPARK_MASTER);
} else {
sparkConf.setMaster(defMasterFromEnv);
}
sparkConf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer");
sparkConf.set("spark.driver.maxResultSize", "2g");
sparkConf.set("spark.eventLog.overwrite", "true");