From ee0071d8ce173753452a094bdb68dce28171ec2f Mon Sep 17 00:00:00 2001 From: sunxiaojian Date: Thu, 7 Mar 2024 20:15:51 +0800 Subject: [PATCH] fixed --- .../paimon/table/AbstractFileStoreTable.java | 2 +- .../apache/paimon/utils/BranchManager.java | 44 +++++++------------ 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/paimon-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java b/paimon-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java index 6de0ff0795e53..42e20211fe47f 100644 --- a/paimon-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java +++ b/paimon-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java @@ -465,7 +465,7 @@ public void cleanMainBranchFile() { @Override public void replaceMainBranch(String branchName) { - branchManager().commitMainBranchFile(branchName); + branchManager().commitMainBranch(branchName); } @Override diff --git a/paimon-core/src/main/java/org/apache/paimon/utils/BranchManager.java b/paimon-core/src/main/java/org/apache/paimon/utils/BranchManager.java index a1081e0ab1265..6d3e322b91a4a 100644 --- a/paimon-core/src/main/java/org/apache/paimon/utils/BranchManager.java +++ b/paimon-core/src/main/java/org/apache/paimon/utils/BranchManager.java @@ -74,11 +74,21 @@ public Path branchDirectory() { /** Return the path string of a branch. */ public static String getBranchPath(FileIO fileIO, Path tablePath, String branchName) { if (branchName.equals(DEFAULT_MAIN_BRANCH)) { - branchName = forwardBranchName(fileIO, tablePath, branchName); - } - // No main branch replacement has occurred. - if (branchName.equals(DEFAULT_MAIN_BRANCH)) { - return tablePath.toString(); + Path path = new Path(tablePath, MAIN_BRANCH_FILE); + try { + if (fileIO.exists(path)) { + String data = fileIO.readFileUtf8(path); + if (StringUtils.isBlank(data)) { + return tablePath.toString(); + } else { + return tablePath.toString() + "/branch/" + BRANCH_PREFIX + data; + } + } else { + return tablePath.toString(); + } + } catch (IOException e) { + throw new RuntimeException(e); + } } return tablePath.toString() + "/branch/" + BRANCH_PREFIX + branchName; } @@ -101,35 +111,13 @@ public String mainBranch() { } } - /** Forward branch name. */ - public static String forwardBranchName(FileIO fileIO, Path tablePath, String branchName) { - if (branchName.equals(DEFAULT_MAIN_BRANCH)) { - Path path = new Path(tablePath, MAIN_BRANCH_FILE); - try { - if (fileIO.exists(path)) { - String data = fileIO.readFileUtf8(path); - if (StringUtils.isBlank(data)) { - return DEFAULT_MAIN_BRANCH; - } else { - return data; - } - } else { - return DEFAULT_MAIN_BRANCH; - } - } catch (IOException e) { - throw new RuntimeException(e); - } - } - return branchName; - } - /** Return the path of a branch. */ public Path branchPath(String branchName) { return new Path(getBranchPath(fileIO, tablePath, branchName)); } /** Replace main by specify branch. */ - public void commitMainBranchFile(String branchName) { + public void commitMainBranch(String branchName) { Path mainBranchFile = new Path(tablePath, MAIN_BRANCH_FILE); try { fileIO.delete(mainBranchFile, false);