Hi,
I ran "mvn clean install -DskipTests; cd itests; mvn clean install 
-DskipTests" and got the following error.

Error
=======
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile 
(default-testCompile) on project hive-it-qfile: Compilation failure: 
Compilation failure:
[ERROR] 
/Users/mislam/apache/hive/itests/qtest/target/generated-test-sources/java/org/apache/hadoop/hive/cli/TestCliDriver.java:[7170,15]
 testCliDriver_mybucket_1() is already defined in 
org.apache.hadoop.hive.cli.TestCliDriver
[ERROR] 
/Users/mislam/apache/hive/itests/qtest/target/generated-test-sources/java/org/apache/hadoop/hive/cli/TestCliDriver.java:[7174,15]
 testCliDriver_mybucket_1() is already defined in 
org.apache.hadoop.hive.cli.TestCliDriver
[ERROR] 
/Users/mislam/apache/hive/itests/qtest/target/generated-test-sources/java/org/apache/hadoop/hive/cli/TestCliDriver.java:[7178,15]
 testCliDriver_mybucket_1() is already defined in 
org.apache.hadoop.hive.cli.TestCliDriver

My investigations:
================
I did some investigation and found the TestCliDriver.vm (Line 105) is looking 
for **first** instance of "." and used the first part as function name in 
something like this "testCliDriver_mybucket_1".

The problem is: there are three mybucket_1.*.q files 
(mybucket_1.5.q,mybucket_1.7.q, mybucket_1.8.q). Therefore, the above logic 
would create the **same** function name for three .q files causing
the compilation error.

Possible solutions:
==================
1. Change the code in TestCliDriver.vm to consider this use cases during source 
generation.
2. Let's not support the *.q file with multiple dots "." in the file name. So 
we can rename those three files into something else removing the second ".".

Next step:
============
If someone can confirm it, I can create a JIRA and provide a patch.

Regards,
Mohammad

Reply via email to