[
https://issues.apache.org/jira/browse/FLINK-21829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17303032#comment-17303032
]
Rui Li commented on FLINK-21829:
--------------------------------
I agree with [~nicholasjiang] that we shouldn't silently fallback to
{{possibleHadoopConfPaths}} when the provided conf path is wrong. I guess we
can error out if none of the needed config files can be found under the
provided path.
> create HiveCatalog with custom hadoopconfdir first
> --------------------------------------------------
>
> Key: FLINK-21829
> URL: https://issues.apache.org/jira/browse/FLINK-21829
> Project: Flink
> Issue Type: Wish
> Components: Connectors / Hive
> Reporter: hehuiyuan
> Priority: Major
> Labels: pull-request-available
>
> here is no prompt when the the path to hadoop conf configured is wrong
> unintentional.
> {code:java}
> private static HiveConf createHiveConf(
> @Nullable String hiveConfDir, @Nullable String hadoopConfDir) {
> // create HiveConf from hadoop configuration with hadoop conf directory
> configured.
> Configuration hadoopConf = null;
> if (isNullOrWhitespaceOnly(hadoopConfDir)) {
> for (String possibleHadoopConfPath :
> HadoopUtils.possibleHadoopConfPaths(
> new org.apache.flink.configuration.Configuration())) {
> hadoopConf = getHadoopConfiguration(possibleHadoopConfPath);
> if (hadoopConf != null) {
> break;
> }
> }
> } else {
> hadoopConf = getHadoopConfiguration(hadoopConfDir);
> }
> if (hadoopConf == null) {
> hadoopConf = new Configuration();
> }
> HiveConf hiveConf = new HiveConf(hadoopConf, HiveConf.class);
> {code}
> It is better to load hadoop conf from possiable hadoop path when the path is
> wrong.
> (1) try to load from the custom hadoop conf path
> (2) try to load from possiable hadoop conf path if {{Configuration
> hadoopConf}} is null.
> (3) new Configuration if {{Configuration hadoopConf}} is null
> {code:java}
> private static HiveConf createHiveConf(
> @Nullable String hiveConfDir, @Nullable String hadoopConfDir) {
> // create HiveConf from hadoop configuration with hadoop conf directory
> configured.
> Configuration hadoopConf = null;
> if (!isNullOrWhitespaceOnly(hadoopConfDir)) {
> hadoopConf = getHadoopConfiguration(hadoopConfDir);
> }
> if (hadoopConf == null) {
> for (String possibleHadoopConfPath :
> HadoopUtils.possibleHadoopConfPaths(
> new org.apache.flink.configuration.Configuration())) {
> hadoopConf = getHadoopConfiguration(possibleHadoopConfPath);
> if (hadoopConf != null) {
> break;
> }
> }
> }
> if (hadoopConf == null) {
> hadoopConf = new Configuration();
> }
> HiveConf hiveConf = new HiveConf(hadoopConf, HiveConf.class);
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)