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

voonhous pushed a commit to tag rfc-105-pre-cleanup
in repository https://gitbox.apache.org/repos/asf/hudi.git

commit 046a4c5b1880e6506e277725ac04b1020a3f4e5e
Author: voon <[email protected]>
AuthorDate: Mon May 25 21:50:53 2026 +0800

    chore(trino): trim porting-history comments and verbose pom rationale
    
    Drops or compresses comments that referenced the porting effort itself
    ("Trino 480 removed X", "Trino 482 removed Y") rather than the WHY of the
    current code. The same SPI-version context lives in commit messages and is
    not load-bearing for a reader of the present tree. Paragraph-style pom
    comments are condensed to one-liners.
---
 hudi-trino-plugin/pom.xml                          | 23 +++++-----------------
 .../plugin/hudi/HudiBaseFileOnlyPageSource.java    |  2 +-
 .../main/java/io/trino/plugin/hudi/HudiModule.java |  2 --
 .../trino/plugin/hudi/HudiPageSourceProvider.java  |  3 ---
 .../main/java/io/trino/plugin/hudi/HudiSplit.java  |  1 -
 .../trino/plugin/hudi/split/HudiSplitFactory.java  |  4 +---
 pom.xml                                            |  4 +---
 7 files changed, 8 insertions(+), 31 deletions(-)

diff --git a/hudi-trino-plugin/pom.xml b/hudi-trino-plugin/pom.xml
index 3dda76c1de18..b76e5b60d774 100644
--- a/hudi-trino-plugin/pom.xml
+++ b/hudi-trino-plugin/pom.xml
@@ -32,13 +32,12 @@
     <description>Hudi connector for Trino (RFC-105)</description>
 
     <properties>
-        <!-- Trino SPI / library version this connector compiles against. 
Bumped via root pom. -->
+        <!-- Trino SPI version; managed in root pom. -->
         <dep.trino.version>${trino.connector.version}</dep.trino.version>
-        <!-- Tests reuse Trino's internal test scaffolding, which only ships 
under the
-             test-jar classifier in snapshot builds. See root pom for details. 
-->
+        <!-- Trino test-jars only ship in snapshot builds; tracked separately 
in root pom. -->
         
<dep.trino.test.version>${trino.connector.test.version}</dep.trino.test.version>
         <trino.parquet.version>1.15.2</trino.parquet.version>
-        <!-- Connector requires JDK 25 to compile and run (matches Trino 
runtime requirement). -->
+        <!-- Trino runtime is JDK 25+. -->
         <hudi.trino.java.version>25</hudi.trino.java.version>
         <main.basedir>${project.parent.basedir}</main.basedir>
         <checkstyle.skip>true</checkstyle.skip>
@@ -61,10 +60,6 @@
 
     <dependencies>
         <dependency>
-            <!-- Required for compilation: HoodieRecord implements 
KryoSerializable,
-                 so the compiler needs Kryo on classpath to verify the class 
hierarchy
-                 when loading HoodieRecord for static imports.
-                 Explicit compile scope overrides the Trino BOM, which manages 
kryo at test scope. -->
             <groupId>com.esotericsoftware</groupId>
             <artifactId>kryo</artifactId>
             <version>4.0.2</version>
@@ -82,10 +77,6 @@
             <artifactId>guava</artifactId>
         </dependency>
 
-        <!-- Trino's plugin classloader bundles non-SPI compile deps with the 
plugin (one URLClassLoader
-             per plugin). Only the SPI shortlist further down (trino-spi, 
jackson-annotations, slice,
-             opentelemetry-*, jol-core) is at provided scope. Matches 
trino-iceberg / trino-delta-lake. -->
-
         <dependency>
             <!-- Trino bundles guice as the classes-only classifier; the BOM 
does not manage the plain jar. -->
             <groupId>com.google.inject</groupId>
@@ -199,10 +190,7 @@
                     <groupId>org.apache.orc</groupId>
                     <artifactId>*</artifactId>
                 </exclusion>
-                <!-- The Trino connector does not exercise Hudi's local state 
stores, Arrow
-                     materialization, or Lance integration. Excluding them 
keeps the plugin's
-                     runtime jar set lean (~280MB worth otherwise) and avoids 
dragging native
-                     libs (rocksdbjni) onto Trino's plugin classpath. -->
+                <!-- Not used by the connector; excluded to keep the plugin 
jar set lean. -->
                 <exclusion>
                     <groupId>org.rocksdb</groupId>
                     <artifactId>*</artifactId>
@@ -240,7 +228,6 @@
                     <groupId>com.google.protobuf</groupId>
                     <artifactId>protobuf-java</artifactId>
                 </exclusion>
-                <!-- Same rationale as hudi-common: connector does not use 
rocksdb / arrow / lance. -->
                 <exclusion>
                     <groupId>org.rocksdb</groupId>
                     <artifactId>*</artifactId>
@@ -578,7 +565,7 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
-                    <!-- Override Hudi parent's Java 11 target. Trino SPI 
requires recent JDK. -->
+                    <!-- Hudi parent targets JDK 11; override for Trino. -->
                     <source>${hudi.trino.java.version}</source>
                     <target>${hudi.trino.java.version}</target>
                     <release>${hudi.trino.java.version}</release>
diff --git 
a/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiBaseFileOnlyPageSource.java
 
b/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiBaseFileOnlyPageSource.java
index b1799bfa703f..5564e2cdffc0 100644
--- 
a/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiBaseFileOnlyPageSource.java
+++ 
b/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiBaseFileOnlyPageSource.java
@@ -99,7 +99,7 @@ public class HudiBaseFileOnlyPageSource
         }
 
         if (allOutputColumns.isEmpty()) {
-            // count(*) projects no columns; forward the physical page which 
already carries the correct positionCount with zero blocks.
+            // Forward the zero-block page so positionCount survives -- new 
Page(new Block[0]) would infer positionCount=0.
             return physicalSourcePage;
         }
 
diff --git 
a/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiModule.java 
b/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiModule.java
index a696cd8218d9..cd17429b90d3 100644
--- a/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiModule.java
+++ b/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiModule.java
@@ -58,8 +58,6 @@ public class HudiModule
 
         configBinder(binder).bindConfig(HudiConfig.class);
 
-        // Trino 480 removed the TranslateHiveViews annotation; thrift 
metastore now reads
-        // hive.hive-views.enabled config directly. No binding needed.
         
binder.bind(boolean.class).annotatedWith(HideDeltaLakeTables.class).toInstance(false);
 
         newSetBinder(binder, 
SessionPropertiesProvider.class).addBinding().to(HudiSessionProperties.class).in(Scopes.SINGLETON);
diff --git 
a/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiPageSourceProvider.java
 
b/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiPageSourceProvider.java
index 0b87592b74e0..a193dd0952c3 100644
--- 
a/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiPageSourceProvider.java
+++ 
b/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiPageSourceProvider.java
@@ -221,7 +221,6 @@ public class HudiPageSourceProvider
                 Optional.ofNullable(hudiTableHandle.getTableSchema())
                         .orElseGet(() -> getLatestTableSchema(metaClient, 
hudiTableHandle.getTableName()));
 
-        // constructSchema operates on Avro schema to assemble the requested 
schema for the log file reader.
         Schema requestedSchema = constructSchema(dataSchema.toAvroSchema(), 
hudiMetaAndDataColumnHandles.stream().map(HiveColumnHandle::getName).toList());
         HoodieFileGroupReader<IndexedRecord> fileGroupReader =
                 HoodieFileGroupReader.<IndexedRecord>newBuilder()
@@ -300,8 +299,6 @@ public class HudiPageSourceProvider
                     DOMAIN_COMPACTION_THRESHOLD,
                     options);
 
-            // Trino 480 dropped projectBaseColumns/ReaderColumns; 
createParquetPageSource handles
-            // base-column projection internally via 
TransformConnectorPageSource.
             ParquetDataSourceId dataSourceId = dataSource.getId();
             ParquetDataSource finalDataSource = dataSource;
             ParquetReaderProvider parquetReaderProvider = (fields, 
appendRowNumberColumn) -> new ParquetReader(
diff --git 
a/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiSplit.java 
b/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiSplit.java
index 0f7b520e4e64..32f1d32aa3f6 100644
--- a/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiSplit.java
+++ b/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/HudiSplit.java
@@ -80,7 +80,6 @@ public class HudiSplit
         this.cachingHostAddresses = requireNonNull(cachingHostAddresses, 
"cachingHostAddresses is null");
     }
 
-    // Trino 480 removed getSplitInfo from ConnectorSplit. Method retained for 
local diagnostics.
     public Map<String, String> getSplitInfo()
     {
         return ImmutableMap.<String, String>builder()
diff --git 
a/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/split/HudiSplitFactory.java
 
b/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/split/HudiSplitFactory.java
index 71c3f0c814f6..6bab996e199b 100644
--- 
a/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/split/HudiSplitFactory.java
+++ 
b/hudi-trino-plugin/src/main/java/io/trino/plugin/hudi/split/HudiSplitFactory.java
@@ -110,8 +110,7 @@ public class HudiSplitFactory
 
         HoodieBaseFile baseFile = fileSlice.getBaseFile().get();
         long fileSize = baseFile.getFileSize();
-        // Trino 482 removed CachingHostAddressProvider; object-storage reads 
have no host
-        // affinity, so leave the address list empty. Workers are chosen by 
the scheduler.
+        // Object-storage reads have no host affinity.
         List<HostAddress> addresses = ImmutableList.of();
 
         // If the file is empty, create a single split to represent it
@@ -168,7 +167,6 @@ public class HudiSplitFactory
     {
         // NOTE: Some file slices may not have base files
         Option<HoodieBaseFile> baseFileOption = fileSlice.getBaseFile();
-        // Trino 482 removed CachingHostAddressProvider; no host affinity for 
object-storage reads.
         List<HostAddress> addresses = ImmutableList.of();
 
         HudiSplit split = new HudiSplit(
diff --git a/pom.xml b/pom.xml
index 9f6d33e1c01f..323525c38e6f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2276,9 +2276,7 @@
       </modules>
     </profile>
     <profile>
-      <!-- RFC-105: builds the Trino connector (org.apache.hudi:hudi-trino), a 
regular non-shaded
-           jar relying on Trino's URLClassLoader plugin isolation. Excluded 
from default builds
-           because it requires JDK 25 and the Trino SPI. -->
+      <!-- RFC-105: non-shaded Trino connector. JDK 25 + Trino SPI; off by 
default. -->
       <id>hudi-trino</id>
       <modules>
         <module>hudi-trino-plugin</module>

Reply via email to