Hi,

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

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 3  (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 above 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 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