yihua opened a new issue, #19829: URL: https://github.com/apache/hudi/issues/19829
`HiveTestService` asks for two things no single libthrift version provides. It imports `org.apache.thrift.transport.TFramedTransport`, which exists only below 0.14 (0.14 moved it to `transport.layered`). Its inner `TServerSocketKeepAlive` overrides `TServerTransport.accept()`, which is `final` below 0.14 and only overridable from 0.14 on. There is no method overridable in both generations either: `TServerSocket.acceptImpl()` exists only below 0.14, `accept()` only from 0.14. The build does not hit this because it compiles and runs these tests against the full `hive-exec`, which bundles a 0.14-era thrift transport package at the plain path. Anything consuming the `hudi-hive-sync` tests jar on a classpath that uses `hive-exec` with the `core` classifier gets no thrift from Hive at all, so `TServerTransport` resolves from libthrift and the class fails verification, or fails to find `TFramedTransport$Factory` once libthrift is raised to 0.14. The test dependency can move to the existing `hive.libthrift.version` property, which already models the thrift the Hive client is built against, and the import can point at the package 0.14 moved it to. -- 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]
