Github user vrozov commented on a diff in the pull request: https://github.com/apache/drill/pull/1111#discussion_r169354613 --- Diff: contrib/storage-hive/hive-exec-shade/pom.xml --- @@ -34,28 +34,47 @@ <artifactId>hive-exec</artifactId> <scope>compile</scope> <exclusions> + <!--Hive Calcite libraries are not required. When user submits query in Drill via Hive plugin, the query + is validated and planned via Drill Calcite. Hive Calcite can be used only to setup Hive store for Drill unit + testing, where a lot of Hive specific queries are performed. But Drill Calcite and Avatica versions have + conflicts with Hive old Calcite and Avatica versions. That's why Calcite cost based optimizator + (ConfVars.HIVE_CBO_ENABLED) is disabled for Drill Hive JUnit test cases. It can be enabled again once Hive + will leverage the newest Calcite version. To do that check whether Drill Calcite and Avatica versions are + suitable for hive-exec. If no, use Hive Calcite and Avatica versions. + Note: Versions of Calcite libraries are controlled by "DependencyManagement" block in Drill's + root POM file now--> <exclusion> - <artifactId>log4j</artifactId> - <groupId>log4j</groupId> + <groupId>org.apache.calcite</groupId> + <artifactId>calcite-core</artifactId> </exclusion> <exclusion> - <groupId>commons-codec</groupId> - <artifactId>commons-codec</artifactId> + <groupId>org.apache.calcite</groupId> + <artifactId>calcite-avatica</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.calcite</groupId> + <artifactId>calcite-linq4j</artifactId> </exclusion> <exclusion> - <artifactId>calcite-avatica</artifactId> <groupId>org.apache.calcite</groupId> + <artifactId>calcite-druid</artifactId> </exclusion> </exclusions> </dependency> + <!--Once newer hive-exec version leverages parquet-column 1.9.0, this dependency can be deleted --> --- End diff -- Can it be moved to the dependency management if this is still necessary?
---