jlalwani-amazon commented on PR #37: URL: https://github.com/apache/flink-connector-hive/pull/37#issuecomment-4426014751
**Note on the separate Maven module and cyclic dependency:** Previous shims (V230–V313) compile against Hive 2.3 because API differences between 2.3 and 3.1 were minor. Hive 4 has far more breaking changes (removed classes, changed return types, relocated packages), making it impossible to compile against Hive 2.3 jars. The dedicated `flink-connector-hive-4.0.0` module compiles `HiveShimV400` against Hive 4 jars so all calls are direct — no reflection needed. This creates a Maven cycle: the shim depends on the main connector (for the `HiveShim` interface), and the main connector depends on the shim at runtime (loaded by reflection). We break it with a two-phase CI build and an `activeByDefault` profile trick in the root pom. **Considered alternative:** Extract `HiveShim` into a dedicated API module (`flink-connector-hive-shim-api`) that both the main connector and all shim modules depend on. This eliminates the cycle entirely but is a 50+ file refactor that would make this PR unreviewable. Happy to do it as a prerequisite PR if preferred — it's a pure refactor with no functional changes. -- 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]
