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

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


The following commit(s) were added to refs/heads/master by this push:
     new 31c13f064 [core] Adjust MetastoreClient new method and extract string 
constants
31c13f064 is described below

commit 31c13f06440f199546104fc1ec16b6e3fc1b2d92
Author: Jingsong <[email protected]>
AuthorDate: Wed Oct 30 10:48:33 2024 +0800

    [core] Adjust MetastoreClient new method and extract string constants
---
 .../java/org/apache/paimon/catalog/Catalog.java    |  5 ++++
 .../apache/paimon/metastore/MetastoreClient.java   |  6 ++--
 .../java/org/apache/paimon/flink/FlinkCatalog.java | 18 ++++++------
 .../paimon/flink/sink/partition/HmsReporter.java   | 14 ++++++----
 .../apache/paimon/flink/CatalogTableITCase.java    | 32 +++++++++++-----------
 5 files changed, 42 insertions(+), 33 deletions(-)

diff --git a/paimon-core/src/main/java/org/apache/paimon/catalog/Catalog.java 
b/paimon-core/src/main/java/org/apache/paimon/catalog/Catalog.java
index 7fbb777e3..444299f6f 100644
--- a/paimon-core/src/main/java/org/apache/paimon/catalog/Catalog.java
+++ b/paimon-core/src/main/java/org/apache/paimon/catalog/Catalog.java
@@ -57,6 +57,11 @@ public interface Catalog extends AutoCloseable {
     String TABLE_DEFAULT_OPTION_PREFIX = "table-default.";
     String DB_LOCATION_PROP = "location";
     String DB_SUFFIX = ".db";
+    String NUM_ROWS_PROP = "numRows";
+    String NUM_FILES_PROP = "numFiles";
+    String TOTAL_SIZE_PROP = "totalSize";
+    String LAST_UPDATE_TIME_PROP = "lastUpdateTime";
+    String HIVE_LAST_UPDATE_TIME_PROP = "transient_lastDdlTime";
 
     /** Warehouse root path containing all database directories in this 
catalog. */
     String warehouse();
diff --git 
a/paimon-core/src/main/java/org/apache/paimon/metastore/MetastoreClient.java 
b/paimon-core/src/main/java/org/apache/paimon/metastore/MetastoreClient.java
index c9cafce32..ac12bfc73 100644
--- a/paimon-core/src/main/java/org/apache/paimon/metastore/MetastoreClient.java
+++ b/paimon-core/src/main/java/org/apache/paimon/metastore/MetastoreClient.java
@@ -38,11 +38,13 @@ public interface MetastoreClient extends AutoCloseable {
 
     void markDone(LinkedHashMap<String, String> partitionSpec) throws 
Exception;
 
-    void alterPartition(
+    default void alterPartition(
             LinkedHashMap<String, String> partitionSpec,
             Map<String, String> parameters,
             long modifyTime)
-            throws Exception;
+            throws Exception {
+        throw new UnsupportedOperationException();
+    }
 
     /** Factory to create {@link MetastoreClient}. */
     interface Factory extends Serializable {
diff --git 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkCatalog.java
 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkCatalog.java
index ad624b560..bfcdfdb55 100644
--- 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkCatalog.java
+++ 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkCatalog.java
@@ -139,6 +139,10 @@ import static 
org.apache.paimon.CoreOptions.MATERIALIZED_TABLE_REFRESH_MODE;
 import static org.apache.paimon.CoreOptions.MATERIALIZED_TABLE_REFRESH_STATUS;
 import static org.apache.paimon.CoreOptions.MATERIALIZED_TABLE_SNAPSHOT;
 import static org.apache.paimon.CoreOptions.PATH;
+import static org.apache.paimon.catalog.Catalog.LAST_UPDATE_TIME_PROP;
+import static org.apache.paimon.catalog.Catalog.NUM_FILES_PROP;
+import static org.apache.paimon.catalog.Catalog.NUM_ROWS_PROP;
+import static org.apache.paimon.catalog.Catalog.TOTAL_SIZE_PROP;
 import static 
org.apache.paimon.flink.FlinkCatalogOptions.DISABLE_CREATE_TABLE_IN_DEFAULT_DB;
 import static 
org.apache.paimon.flink.FlinkCatalogOptions.LOG_SYSTEM_AUTO_REGISTER;
 import static org.apache.paimon.flink.FlinkCatalogOptions.REGISTER_TIMEOUT;
@@ -160,12 +164,8 @@ import static 
org.apache.paimon.utils.Preconditions.checkNotNull;
 public class FlinkCatalog extends AbstractCatalog {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(FlinkCatalog.class);
-    public static final String NUM_ROWS_KEY = "numRows";
-    public static final String LAST_UPDATE_TIME_KEY = "lastUpdateTime";
-    public static final String TOTAL_SIZE_KEY = "totalSize";
-    public static final String NUM_FILES_KEY = "numFiles";
-    private final ClassLoader classLoader;
 
+    private final ClassLoader classLoader;
     private final Catalog catalog;
     private final String name;
     private final boolean logStoreAutoRegister;
@@ -1198,11 +1198,11 @@ public class FlinkCatalog extends AbstractCatalog {
             // This was already filtered by the expected partition.
             PartitionEntry partitionEntry = partitionEntries.get(0);
             Map<String, String> properties = new HashMap<>();
-            properties.put(NUM_ROWS_KEY, 
String.valueOf(partitionEntry.recordCount()));
+            properties.put(NUM_ROWS_PROP, 
String.valueOf(partitionEntry.recordCount()));
             properties.put(
-                    LAST_UPDATE_TIME_KEY, 
String.valueOf(partitionEntry.lastFileCreationTime()));
-            properties.put(NUM_FILES_KEY, 
String.valueOf(partitionEntry.fileCount()));
-            properties.put(TOTAL_SIZE_KEY, 
String.valueOf(partitionEntry.fileSizeInBytes()));
+                    LAST_UPDATE_TIME_PROP, 
String.valueOf(partitionEntry.lastFileCreationTime()));
+            properties.put(NUM_FILES_PROP, 
String.valueOf(partitionEntry.fileCount()));
+            properties.put(TOTAL_SIZE_PROP, 
String.valueOf(partitionEntry.fileSizeInBytes()));
             return new CatalogPartitionImpl(properties, "");
         } catch (TableNotPartitionedException | TableNotExistException e) {
             throw new PartitionNotExistException(getName(), tablePath, 
partitionSpec);
diff --git 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/sink/partition/HmsReporter.java
 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/sink/partition/HmsReporter.java
index 9cb776340..e6b6c4983 100644
--- 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/sink/partition/HmsReporter.java
+++ 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/sink/partition/HmsReporter.java
@@ -41,6 +41,10 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.apache.paimon.catalog.Catalog.HIVE_LAST_UPDATE_TIME_PROP;
+import static org.apache.paimon.catalog.Catalog.NUM_FILES_PROP;
+import static org.apache.paimon.catalog.Catalog.NUM_ROWS_PROP;
+import static org.apache.paimon.catalog.Catalog.TOTAL_SIZE_PROP;
 import static 
org.apache.paimon.utils.PartitionPathUtils.extractPartitionSpecFromPath;
 
 /** Action to report the table statistic from the latest snapshot to HMS. */
@@ -92,12 +96,10 @@ public class HmsReporter implements Closeable {
                 }
             }
             Map<String, String> statistic = new HashMap<>();
-            // refer to org.apache.hadoop.hive.common.StatsSetupConst
-            statistic.put("numFiles", String.valueOf(fileCount));
-            statistic.put("totalSize", String.valueOf(totalSize));
-            statistic.put("numRows", String.valueOf(rowCount));
-            // refer to 
org.apache.hadoop.hive.metastore.api.hive_metastoreConstants
-            statistic.put("transient_lastDdlTime", String.valueOf(modifyTime / 
1000));
+            statistic.put(NUM_FILES_PROP, String.valueOf(fileCount));
+            statistic.put(TOTAL_SIZE_PROP, String.valueOf(totalSize));
+            statistic.put(NUM_ROWS_PROP, String.valueOf(rowCount));
+            statistic.put(HIVE_LAST_UPDATE_TIME_PROP, 
String.valueOf(modifyTime / 1000));
 
             LOG.info("alter partition {} with statistic {}.", partition, 
statistic);
             metastoreClient.alterPartition(partitionSpec, statistic, 
modifyTime);
diff --git 
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java
 
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java
index 975c6a490..b614b5953 100644
--- 
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java
+++ 
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java
@@ -42,10 +42,10 @@ import java.util.Map;
 import java.util.stream.Collectors;
 
 import static 
org.apache.flink.table.api.config.TableConfigOptions.TABLE_DML_SYNC;
-import static org.apache.paimon.flink.FlinkCatalog.LAST_UPDATE_TIME_KEY;
-import static org.apache.paimon.flink.FlinkCatalog.NUM_FILES_KEY;
-import static org.apache.paimon.flink.FlinkCatalog.NUM_ROWS_KEY;
-import static org.apache.paimon.flink.FlinkCatalog.TOTAL_SIZE_KEY;
+import static org.apache.paimon.catalog.Catalog.LAST_UPDATE_TIME_PROP;
+import static org.apache.paimon.catalog.Catalog.NUM_FILES_PROP;
+import static org.apache.paimon.catalog.Catalog.NUM_ROWS_PROP;
+import static org.apache.paimon.catalog.Catalog.TOTAL_SIZE_PROP;
 import static 
org.apache.paimon.testutils.assertj.PaimonAssertions.anyCauseMatches;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatCode;
@@ -554,10 +554,10 @@ public class CatalogTableITCase extends CatalogITCaseBase 
{
         assertThat(partitionPropertiesMap1)
                 .allSatisfy(
                         (par, properties) -> {
-                            
assertThat(properties.get(NUM_ROWS_KEY)).isEqualTo("2");
-                            
assertThat(properties.get(LAST_UPDATE_TIME_KEY)).isNotBlank();
-                            
assertThat(properties.get(NUM_FILES_KEY)).isEqualTo("1");
-                            
assertThat(properties.get(TOTAL_SIZE_KEY)).isNotBlank();
+                            
assertThat(properties.get(NUM_ROWS_PROP)).isEqualTo("2");
+                            
assertThat(properties.get(LAST_UPDATE_TIME_PROP)).isNotBlank();
+                            
assertThat(properties.get(NUM_FILES_PROP)).isEqualTo("1");
+                            
assertThat(properties.get(TOTAL_SIZE_PROP)).isNotBlank();
                         });
         // update p1 data
         sql("UPDATE PK_T SET word = 'c' WHERE id = 2");
@@ -589,8 +589,8 @@ public class CatalogTableITCase extends CatalogITCaseBase {
         assertThat(partitionPropertiesMap1)
                 .allSatisfy(
                         (par, properties) -> {
-                            
assertThat(properties.get(NUM_ROWS_KEY)).isEqualTo("1");
-                            
assertThat(properties.get(LAST_UPDATE_TIME_KEY)).isNotBlank();
+                            
assertThat(properties.get(NUM_ROWS_PROP)).isEqualTo("1");
+                            
assertThat(properties.get(LAST_UPDATE_TIME_PROP)).isNotBlank();
                         });
 
         // append data to p1
@@ -1063,13 +1063,13 @@ public class CatalogTableITCase extends 
CatalogITCaseBase {
             Long expectedNumFiles) {
         Map<String, String> newPartitionProperties = 
newProperties.get(partition);
         Map<String, String> oldPartitionProperties = 
oldProperties.get(partition);
-        assertThat(newPartitionProperties.get(NUM_ROWS_KEY))
+        assertThat(newPartitionProperties.get(NUM_ROWS_PROP))
                 .isEqualTo(String.valueOf(expectedNumRows));
-        
assertThat(Long.valueOf(newPartitionProperties.get(LAST_UPDATE_TIME_KEY)))
-                
.isGreaterThan(Long.valueOf(oldPartitionProperties.get(LAST_UPDATE_TIME_KEY)));
-        assertThat(newPartitionProperties.get(NUM_FILES_KEY))
+        
assertThat(Long.valueOf(newPartitionProperties.get(LAST_UPDATE_TIME_PROP)))
+                
.isGreaterThan(Long.valueOf(oldPartitionProperties.get(LAST_UPDATE_TIME_PROP)));
+        assertThat(newPartitionProperties.get(NUM_FILES_PROP))
                 .isEqualTo(String.valueOf(expectedNumFiles));
-        assertThat(Long.valueOf(newPartitionProperties.get(TOTAL_SIZE_KEY)))
-                
.isGreaterThan(Long.valueOf(oldPartitionProperties.get(TOTAL_SIZE_KEY)));
+        assertThat(Long.valueOf(newPartitionProperties.get(TOTAL_SIZE_PROP)))
+                
.isGreaterThan(Long.valueOf(oldPartitionProperties.get(TOTAL_SIZE_PROP)));
     }
 }

Reply via email to