This is an automated email from the ASF dual-hosted git repository.

lzljs3620320 pushed a commit to branch release-0.8
in repository https://gitbox.apache.org/repos/asf/paimon.git

commit 3881d6a8879726902c01336290d5e7ced5893265
Author: Jingsong Lee <[email protected]>
AuthorDate: Mon May 20 18:21:15 2024 +0800

    [core] Revert branchs in TagsTable (#3350)
---
 .../org/apache/paimon/table/system/TagsTable.java  | 35 ++++------------------
 .../apache/paimon/table/system/TagsTableTest.java  | 35 ++--------------------
 2 files changed, 8 insertions(+), 62 deletions(-)

diff --git 
a/paimon-core/src/main/java/org/apache/paimon/table/system/TagsTable.java 
b/paimon-core/src/main/java/org/apache/paimon/table/system/TagsTable.java
index 5a179cfc1..0c1c4aa29 100644
--- a/paimon-core/src/main/java/org/apache/paimon/table/system/TagsTable.java
+++ b/paimon-core/src/main/java/org/apache/paimon/table/system/TagsTable.java
@@ -18,7 +18,6 @@
 
 package org.apache.paimon.table.system;
 
-import org.apache.paimon.CoreOptions;
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
@@ -26,11 +25,8 @@ import org.apache.paimon.data.Timestamp;
 import org.apache.paimon.disk.IOManager;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.paimon.options.Options;
 import org.apache.paimon.predicate.Predicate;
 import org.apache.paimon.reader.RecordReader;
-import org.apache.paimon.table.FileStoreTable;
-import org.apache.paimon.table.FileStoreTableFactory;
 import org.apache.paimon.table.ReadonlyTable;
 import org.apache.paimon.table.Table;
 import org.apache.paimon.table.source.InnerTableRead;
@@ -52,10 +48,8 @@ import org.apache.paimon.utils.TagManager;
 
 import org.apache.paimon.shade.guava30.com.google.common.collect.Iterators;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -80,10 +74,9 @@ public class TagsTable implements ReadonlyTable {
                             new DataField(2, "schema_id", new 
BigIntType(false)),
                             new DataField(3, "commit_time", new 
TimestampType(false, 3)),
                             new DataField(4, "record_count", new 
BigIntType(true)),
-                            new DataField(5, "branches", 
SerializationUtils.newStringType(true)),
-                            new DataField(6, "create_time", new 
TimestampType(true, 3)),
+                            new DataField(5, "create_time", new 
TimestampType(true, 3)),
                             new DataField(
-                                    7, "time_retained", 
SerializationUtils.newStringType(true))));
+                                    6, "time_retained", 
SerializationUtils.newStringType(true))));
 
     private final FileIO fileIO;
     private final Path location;
@@ -140,6 +133,7 @@ public class TagsTable implements ReadonlyTable {
     }
 
     private static class TagsSplit implements Split {
+
         private static final long serialVersionUID = 1L;
 
         private final long rowCount;
@@ -205,28 +199,14 @@ public class TagsTable implements ReadonlyTable {
                 throw new IllegalArgumentException("Unsupported split: " + 
split.getClass());
             }
             Path location = ((TagsSplit) split).location;
-            Options options = new Options();
-            options.set(CoreOptions.PATH, location.toUri().toString());
-            FileStoreTable table = FileStoreTableFactory.create(fileIO, 
options);
-            List<Pair<Tag, String>> tags = table.tagManager().tagObjects();
+            List<Pair<Tag, String>> tags = new TagManager(fileIO, 
location).tagObjects();
             Map<String, Tag> nameToSnapshot = new LinkedHashMap<>();
             for (Pair<Tag, String> tag : tags) {
                 nameToSnapshot.put(tag.getValue(), tag.getKey());
             }
-            Map<String, List<String>> tagBranches = new HashMap<>();
-            table.branchManager()
-                    .branches()
-                    .forEach(
-                            branch ->
-                                    tagBranches
-                                            .computeIfAbsent(
-                                                    branch.getCreatedFromTag(),
-                                                    key -> new ArrayList<>())
-                                            .add(branch.getBranchName()));
 
             Iterator<InternalRow> rows =
-                    Iterators.transform(
-                            nameToSnapshot.entrySet().iterator(), tag -> 
toRow(tag, tagBranches));
+                    Iterators.transform(nameToSnapshot.entrySet().iterator(), 
this::toRow);
             if (projection != null) {
                 rows =
                         Iterators.transform(
@@ -235,17 +215,14 @@ public class TagsTable implements ReadonlyTable {
             return new IteratorRecordReader<>(rows);
         }
 
-        private InternalRow toRow(
-                Map.Entry<String, Tag> snapshot, Map<String, List<String>> 
tagBranches) {
+        private InternalRow toRow(Map.Entry<String, Tag> snapshot) {
             Tag tag = snapshot.getValue();
-            List<String> branches = tagBranches.get(snapshot.getKey());
             return GenericRow.of(
                     BinaryString.fromString(snapshot.getKey()),
                     tag.id(),
                     tag.schemaId(),
                     
Timestamp.fromLocalDateTime(DateTimeUtils.toLocalDateTime(tag.timeMillis())),
                     tag.totalRecordCount(),
-                    BinaryString.fromString(branches == null ? "[]" : 
branches.toString()),
                     Optional.ofNullable(tag.getTagCreateTime())
                             .map(Timestamp::fromLocalDateTime)
                             .orElse(null),
diff --git 
a/paimon-core/src/test/java/org/apache/paimon/table/system/TagsTableTest.java 
b/paimon-core/src/test/java/org/apache/paimon/table/system/TagsTableTest.java
index a1b7770c5..99c38df01 100644
--- 
a/paimon-core/src/test/java/org/apache/paimon/table/system/TagsTableTest.java
+++ 
b/paimon-core/src/test/java/org/apache/paimon/table/system/TagsTableTest.java
@@ -26,7 +26,6 @@ import org.apache.paimon.data.Timestamp;
 import org.apache.paimon.manifest.ManifestCommittable;
 import org.apache.paimon.schema.Schema;
 import org.apache.paimon.table.FileStoreTable;
-import org.apache.paimon.table.Table;
 import org.apache.paimon.table.TableTestBase;
 import org.apache.paimon.table.sink.TableCommitImpl;
 import org.apache.paimon.tag.Tag;
@@ -40,10 +39,7 @@ import org.junit.jupiter.api.Test;
 
 import java.time.LocalDateTime;
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
-import java.util.function.Function;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
@@ -87,38 +83,12 @@ class TagsTableTest extends TableTestBase {
 
     @Test
     void testTagsTable() throws Exception {
-        List<InternalRow> expectRow =
-                getExceptedResult(
-                        key -> {
-                            return new ArrayList<>();
-                        });
+        List<InternalRow> expectRow = getExceptedResult();
         List<InternalRow> result = read(tagsTable);
         assertThat(result).containsExactlyElementsOf(expectRow);
     }
 
-    @Test
-    void testTagBranchesTable() throws Exception {
-        Table table = catalog.getTable(identifier(tableName));
-        table.createBranch("2023-07-17-branch1", "2023-07-17");
-        table.createBranch("2023-07-18-branch1", "2023-07-18");
-        table.createBranch("2023-07-18-branch2", "2023-07-18");
-        List<InternalRow> expectRow =
-                getExceptedResult(
-                        tag -> {
-                            if (tag.equals("2023-07-17")) {
-                                return 
Collections.singletonList("2023-07-17-branch1");
-                            } else if (tag.equals("2023-07-18")) {
-                                return Arrays.asList("2023-07-18-branch1", 
"2023-07-18-branch2");
-                            } else {
-                                return new ArrayList<>();
-                            }
-                        });
-        List<InternalRow> result = read(tagsTable);
-        assertThat(result).containsExactlyElementsOf(expectRow);
-    }
-
-    private List<InternalRow> getExceptedResult(
-            Function<String, List<String>> tagBranchesFunction) {
+    private List<InternalRow> getExceptedResult() {
         List<InternalRow> internalRows = new ArrayList<>();
         for (Pair<Tag, String> snapshot : tagManager.tagObjects()) {
             Tag tag = snapshot.getKey();
@@ -131,7 +101,6 @@ class TagsTableTest extends TableTestBase {
                             Timestamp.fromLocalDateTime(
                                     
DateTimeUtils.toLocalDateTime(tag.timeMillis())),
                             tag.totalRecordCount(),
-                            
BinaryString.fromString(tagBranchesFunction.apply(tagName).toString()),
                             tag.getTagCreateTime() == null
                                     ? null
                                     : 
Timestamp.fromLocalDateTime(tag.getTagCreateTime()),

Reply via email to