nzw921rx opened a new pull request, #10974:
URL: https://github.com/apache/seatunnel/pull/10974

   ### Purpose of this pull request
   
   Upgrade `kudu-client` from 1.11.1 to 1.15.0 to fix Flink 1.15+ compatibility.
   
   Kudu client 1.11.1 shades Netty 3 
(`org.apache.kudu.shaded.org.jboss.netty`), which conflicts with Flink 1.15+'s 
classpath at runtime, causing `NoClassDefFoundError: 
org/apache/kudu/shaded/org/jboss/netty/util/internal/ExecutorUtil`. This 
results in Flink tasks entering an infinite slot allocation/release loop — the 
job never starts and hangs until CI timeout (60 min).
   
   Kudu client 1.12.0+ migrated to Netty 4 
([KUDU-1438](https://github.com/apache/kudu/commit/57dda5d)), which is 
compatible with Flink 1.15+. Version 1.15.0 is chosen to match the Kudu server 
image (`apache/kudu:1.15.0`) used in E2E tests.
   
   ### Changes
   
   - `connector-kudu/pom.xml`: bump `kudu.version` from `1.11.1` to `1.15.0`
   - `KuduCatalog.java`: replace 
`org.apache.kudu.shaded.com.google.common.collect.Lists.newArrayList()` with 
`Collections.singletonList()` — the old code referenced Kudu's internal shaded 
Guava, which is not a public API and may change across versions
   
   ### Risk assessment
   
   - **API compatibility**: Kudu officially guarantees API/ABI compatibility 
from 1.11 → 1.15. All Kudu APIs used in the connector (`KuduClient`, 
`KuduTable`, `KuduSession`, `KuduScanner`, `Schema`, `Type`, etc.) are stable 
public interfaces with no breaking changes.
   - **Wire compatibility**: Kudu 1.15 client can connect to servers running 
Kudu 1.0 or later.
   - **Shading**: 1.15.0 shades Netty 4 instead of Netty 3, which is the 
intended fix. The shaded jar is larger but should not introduce new conflicts 
since Flink/Spark already use Netty 4.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No direct user-facing change. Fixes a runtime `NoClassDefFoundError` when 
running Kudu connector on Flink 1.15+.
   
   ### How was this patch tested?
   
   ```bash
   ./mvnw compile -pl seatunnel-connectors-v2/connector-kudu -am -DskipTests
   ./mvnw -pl seatunnel-e2e/seatunnel-connector-v2-e2e/connector-kudu-e2e 
-DskipUT -DskipIT=false verify
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to