lirui-apache commented on issue #8564: [FLINK-12649][hive] Add a shim layer to support multiple versions of HMS URL: https://github.com/apache/flink/pull/8564#issuecomment-497186057 > Thanks @lirui-apache for the PR. > > My main concern is that how shim layer determines hive version seems to be different from how we originally designed it in Blink. The Blink approach is to require users to explicitly specify the hive version and use that as a single source of truth. But the PR seems to make the system decide hive version only based on the jars users provide. > > Thus, before diving into implementations, can you describe how the end-to-end experience looks like for users in your design? E.g. how and where users specify the versions, how to include necessary jars, etc? > > Another concern is that, this PR seems to claim we support all '1.x.x' and '2.x.x' hive versions? I wonder if the range is too broad to cover. On one hand, are we confident and have we tested that this PR is compatible with all the 1.x.x and 2.x.x hive? how do we automate tests to cover them? On the other hand, there're only a couple versions (1.2.1 and 2.1.1) that users requested the most, and thus I wonder it may not be worth trying to support all 1.x and 2.x versions. Yes this PR determines the version automatically by calling `HiveVersionInfo`. User can simply add their hive jars to classpath and we'll figure out which version is in use. BTW our internal Blink does the same thing if user doesn't specify a version. And I'm OK if you think we should take the same approach here. I agree that we shouldn't claim we support all 1.x and 2.x versions at the moment. I'll update to make sure only 1.2.1 and 2.3.4 are supported.
---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
