You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by ta...@apache.org on 2017/12/12 16:58:21 UTC

[1/4] impala git commit: IMPALA-6298: Skip test_profile_fragment_instances on local filesystem

Repository: impala
Updated Branches:
  refs/heads/master 12fa20d1a -> d2fe9f437


IMPALA-6298: Skip test_profile_fragment_instances on local filesystem

test_profile_fragment_instances was recently added to verify that the
final runtime profile for a query has the expected fragments and exec
nodes. The test fails on local filesystem builds, though, as it
assumes there will be 3 impalads and therefore 3 fragment instances,
but there is only 1 impalad on local filesystem builds.

The fix is to disable the test on local filesystem builds.

Change-Id: I2c98f160406081626f17709809b8efee9eae1450
Reviewed-on: http://gerrit.cloudera.org:8080/8809
Reviewed-by: Michael Brown <mi...@cloudera.com>
Reviewed-by: Philip Zeyliger <ph...@cloudera.com>
Tested-by: Impala Public Jenkins


Project: http://git-wip-us.apache.org/repos/asf/impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/b4cf5f21
Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/b4cf5f21
Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/b4cf5f21

Branch: refs/heads/master
Commit: b4cf5f2174b338c097e42d43c32b494a6e0b46c0
Parents: 12fa20d
Author: Thomas Tauber-Marshall <tm...@cloudera.com>
Authored: Mon Dec 11 10:02:45 2017 -0800
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Mon Dec 11 21:45:43 2017 +0000

----------------------------------------------------------------------
 tests/query_test/test_observability.py | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/impala/blob/b4cf5f21/tests/query_test/test_observability.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_observability.py b/tests/query_test/test_observability.py
index ee7177d..a7c3d29 100644
--- a/tests/query_test/test_observability.py
+++ b/tests/query_test/test_observability.py
@@ -109,6 +109,7 @@ class TestObservability(ImpalaTestSuite):
         "NUM_NODES=1,NUM_SCANNER_THREADS=1,RUNTIME_FILTER_MODE=0,MT_DOP=0\n" \
         in runtime_profile
 
+  @SkipIfLocal.multiple_impalad
   def test_profile_fragment_instances(self):
     """IMPALA-6081: Test that the expected number of fragment instances and their exec
     nodes appear in the runtime profile, even when fragments may be quickly cancelled when


[3/4] impala git commit: Add 'lsof' to bootstrap_system.

Posted by ta...@apache.org.
Add 'lsof' to bootstrap_system.

"be/src/kudu/security/test/mini_kdc.cc" uses lsof, which
doesn't exist on the base ubuntu:16.04 Docker image; adding
it in.

Change-Id: I6a458f2ef0313b2d08d6dd21290f8a38fa6d07f7
Reviewed-on: http://gerrit.cloudera.org:8080/8813
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
Tested-by: Impala Public Jenkins


Project: http://git-wip-us.apache.org/repos/asf/impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/ebc00c75
Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/ebc00c75
Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/ebc00c75

Branch: refs/heads/master
Commit: ebc00c75ac040ace797d227fe89c0744be9f57f4
Parents: 245df3c
Author: Philip Zeyliger <ph...@cloudera.com>
Authored: Mon Dec 11 16:18:08 2017 -0800
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Tue Dec 12 04:01:42 2017 +0000

----------------------------------------------------------------------
 bin/bootstrap_system.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/impala/blob/ebc00c75/bin/bootstrap_system.sh
----------------------------------------------------------------------
diff --git a/bin/bootstrap_system.sh b/bin/bootstrap_system.sh
index 92b5114..08a93aa 100755
--- a/bin/bootstrap_system.sh
+++ b/bin/bootstrap_system.sh
@@ -106,7 +106,8 @@ eval "$SET_IMPALA_HOME"
 apt-get --yes install ccache g++ gcc libffi-dev liblzo2-dev libkrb5-dev \
         krb5-admin-server krb5-kdc krb5-user libsasl2-dev libsasl2-modules \
         libsasl2-modules-gssapi-mit libssl-dev make maven ninja-build ntp \
-        ntpdate python-dev python-setuptools postgresql ssh wget vim-common psmisc
+        ntpdate python-dev python-setuptools postgresql ssh wget vim-common psmisc \
+        lsof
 
 if ! { service --status-all | grep -E '^ \[ \+ \]  ssh$'; }
 then


[2/4] impala git commit: IMPALA-6245: Tolerate column indenting from Hive

Posted by ta...@apache.org.
IMPALA-6245: Tolerate column indenting from Hive

The fix for HIVE-3140 started indenting multi-line comments,
which breaks Impala testing when run against Hive 2.1.1.

To test this using the pure test runner proved difficult
since it would require extensive changes to support both
row_regexes (since the columns changed order) and subset
support (since the number of rows changed).

Instead, we manually verify the hints are present in the
output in the python test.

The fact that the hints have been reformatted leaves us
in an uncertain state as to whether they actually get applied,
so a new test case has been added to run EXPLAIN SELECT
on the view and verify the joins happen exactly as we
expect.

Testing: Ran the views-ddl test against Impala mini-cluster
setups using both Hive 2.1.1 and Hive 1.1.0

Change-Id: I49e53b1230520ca6e850af28078526e6627d69de
Reviewed-on: http://gerrit.cloudera.org:8080/8719
Reviewed-by: Alex Behm <al...@cloudera.com>
Tested-by: Impala Public Jenkins


Project: http://git-wip-us.apache.org/repos/asf/impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/245df3c6
Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/245df3c6
Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/245df3c6

Branch: refs/heads/master
Commit: 245df3c69a932abf4accc57cb359c7bcda6d8aec
Parents: b4cf5f2
Author: Zach Amsden <za...@cloudera.com>
Authored: Tue Nov 28 00:07:20 2017 +0000
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Tue Dec 12 00:17:56 2017 +0000

----------------------------------------------------------------------
 .../queries/QueryTest/views-ddl.test            | 39 ------------------
 tests/metadata/test_ddl.py                      | 42 ++++++++++++++++++++
 2 files changed, 42 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/impala/blob/245df3c6/testdata/workloads/functional-query/queries/QueryTest/views-ddl.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-query/queries/QueryTest/views-ddl.test b/testdata/workloads/functional-query/queries/QueryTest/views-ddl.test
index b62955e..98f116f 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/views-ddl.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/views-ddl.test
@@ -277,42 +277,3 @@ select * from $DATABASE.decimal_view
 2345,111,12.3456789000,0.12345678900000000000000000000000000000,3.14100,1
 ---- TYPES
 decimal,decimal,decimal,decimal,decimal,decimal
-====
----- QUERY
-# Test that plan hints are stored in the view as end-of-line commented hints
-# for view-compatibility with Hive.
-create view $DATABASE.hints_test as
-select /* +straight_join */ a.* from functional.alltypestiny a
-inner join /* +broadcast */ functional.alltypes b on a.id = b.id
-inner join /* +shuffle */ functional.alltypessmall c on b.id = c.id
----- RESULTS
-====
----- QUERY
-describe formatted $DATABASE.hints_test
----- TYPES
-string,string,string
----- RESULTS: VERIFY_IS_SUBSET
-'# View Information','NULL','NULL'
-'View Original Text: ','SELECT ','NULL'
-'-- +straight_join','NULL','NULL'
-' a.* FROM functional.alltypestiny a INNER JOIN ','NULL','NULL'
-'-- +broadcast','NULL','NULL'
-' functional.alltypes b ON a.id = b.id INNER JOIN ','NULL','NULL'
-'-- +shuffle','NULL','NULL'
-' functional.alltypessmall c ON b.id = c.id','NULL','NULL'
-'View Expanded Text: ','SELECT ','NULL'
-'-- +straight_join','NULL','NULL'
-' a.* FROM functional.alltypestiny a INNER JOIN ','NULL','NULL'
-'-- +broadcast','NULL','NULL'
-' functional.alltypes b ON a.id = b.id INNER JOIN ','NULL','NULL'
-'-- +shuffle','NULL','NULL'
-' functional.alltypessmall c ON b.id = c.id','NULL','NULL'
-====
----- QUERY
-# Test querying the hinted view.
-select count(*) from $DATABASE.hints_test
----- RESULTS
-8
----- TYPES
-bigint
-====

http://git-wip-us.apache.org/repos/asf/impala/blob/245df3c6/tests/metadata/test_ddl.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_ddl.py b/tests/metadata/test_ddl.py
index d8c6000..27748bd 100644
--- a/tests/metadata/test_ddl.py
+++ b/tests/metadata/test_ddl.py
@@ -319,6 +319,48 @@ class TestDdlStatements(TestDdlBase):
     self.run_test_case('QueryTest/views-ddl', vector, use_db=unique_database,
         multiple_impalad=self._use_multiple_impalad(vector))
 
+  @UniqueDatabase.parametrize()
+  def test_view_hints(self, vector, unique_database):
+    # Test that plan hints are stored in the view's comment field; this should work
+    # regardless of how Hive formats the output.  Getting this to work with the
+    # automated test case runner is rather difficult, so verify directly.  There
+    # should be two # of each join hint, one for the original text, one for the expanded
+    self.client.execute("""
+        create view {0}.hints_test as
+        select /* +straight_join */ a.* from functional.alltypestiny a
+        inner join /* +broadcast */ functional.alltypes b on a.id = b.id
+        inner join /* +shuffle */ functional.alltypessmall c on b.id = c.id
+        """.format(unique_database))
+    results = self.execute_query("describe formatted %s.hints_test" % unique_database)
+    sj, bc, shuf = 0,0,0
+    for row in results.data:
+        sj += '-- +straight_join' in row
+        bc += '-- +broadcast' in row
+        shuf += '-- +shuffle' in row
+    assert sj == 2
+    assert bc == 2
+    assert shuf == 2
+
+    # Test querying the hinted view.
+    results = self.execute_query("select count(*) from %s.hints_test" % unique_database)
+    assert results.success
+    assert len(results.data) == 1
+    assert results.data[0] == '8'
+
+    # Test the plan to make sure hints were applied correctly
+    plan = self.execute_query("explain select * from %s.hints_test" % unique_database,
+        query_options={'explain_level':0})
+    assert """PLAN-ROOT SINK
+08:EXCHANGE [UNPARTITIONED]
+04:HASH JOIN [INNER JOIN, PARTITIONED]
+|--07:EXCHANGE [HASH(c.id)]
+|  02:SCAN HDFS [functional.alltypessmall c]
+06:EXCHANGE [HASH(b.id)]
+03:HASH JOIN [INNER JOIN, BROADCAST]
+|--05:EXCHANGE [BROADCAST]
+|  01:SCAN HDFS [functional.alltypes b]
+00:SCAN HDFS [functional.alltypestiny a]""" in '\n'.join(plan.data)
+
   @UniqueDatabase.parametrize(sync_ddl=True)
   def test_functions_ddl(self, vector, unique_database):
     self.run_test_case('QueryTest/functions-ddl', vector, use_db=unique_database,


[4/4] impala git commit: IMPALA-6270: create Impala parent pom

Posted by ta...@apache.org.
IMPALA-6270: create Impala parent pom

This commit links together all the individual pom.xml files to have a
new "impala-parent" pom as the parent. This enables de-duplicating all
the repository configuration.

I ran the build to test this.

Change-Id: Id744e4357ee4d8e4be4e5490b2159bb76a2192f0
Reviewed-on: http://gerrit.cloudera.org:8080/8753
Reviewed-by: Alex Behm <al...@cloudera.com>
Tested-by: Impala Public Jenkins


Project: http://git-wip-us.apache.org/repos/asf/impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/d2fe9f43
Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/d2fe9f43
Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/d2fe9f43

Branch: refs/heads/master
Commit: d2fe9f437e4f3da1206739ff2458b590bd3b5973
Parents: ebc00c7
Author: Philip Zeyliger <ph...@cloudera.com>
Authored: Fri Dec 1 16:47:08 2017 -0800
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Tue Dec 12 04:30:15 2017 +0000

----------------------------------------------------------------------
 CMakeLists.txt                    |   1 +
 common/yarn-extras/CMakeLists.txt |   2 +-
 common/yarn-extras/pom.xml        |  51 ++----------
 ext-data-source/CMakeLists.txt    |   2 +-
 ext-data-source/api/pom.xml       |  22 -----
 ext-data-source/pom.xml           |  12 +--
 ext-data-source/sample/pom.xml    |  22 -----
 ext-data-source/test/pom.xml      |  22 -----
 fe/CMakeLists.txt                 |   2 +-
 fe/pom.xml                        | 121 ++-------------------------
 impala-parent/CMakeLists.txt      |  20 +++++
 impala-parent/pom.xml             | 147 +++++++++++++++++++++++++++++++++
 testdata/TableFlattener/pom.xml   |  13 ++-
 testdata/pom.xml                  |  65 ++-------------
 tests/test-hive-udfs/pom.xml      |  41 ++-------
 15 files changed, 207 insertions(+), 336 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4618c45..74cf37e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -356,6 +356,7 @@ add_subdirectory(common/yarn-extras)
 add_subdirectory(common/protobuf)
 add_subdirectory(be)
 add_subdirectory(fe)
+add_subdirectory(impala-parent)
 add_subdirectory(ext-data-source)
 
 # Build target for all generated files which most backend code depends on

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/common/yarn-extras/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/common/yarn-extras/CMakeLists.txt b/common/yarn-extras/CMakeLists.txt
index 81144c3..a7930de 100644
--- a/common/yarn-extras/CMakeLists.txt
+++ b/common/yarn-extras/CMakeLists.txt
@@ -15,6 +15,6 @@
 # specific language governing permissions and limitations
 # under the License.
 
-add_custom_target(yarn-extras ALL
+add_custom_target(yarn-extras ALL DEPENDS impala-parent
   COMMAND $ENV{IMPALA_HOME}/bin/mvn-quiet.sh install -DskipTests
 )

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/common/yarn-extras/pom.xml
----------------------------------------------------------------------
diff --git a/common/yarn-extras/pom.xml b/common/yarn-extras/pom.xml
index 8b34174..7bfb073 100644
--- a/common/yarn-extras/pom.xml
+++ b/common/yarn-extras/pom.xml
@@ -19,6 +19,12 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.apache.impala</groupId>
+    <artifactId>impala-parent</artifactId>
+    <version>0.1-SNAPSHOT</version>
+    <relativePath>../../impala-parent/pom.xml</relativePath>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.impala</groupId>
   <artifactId>yarn-extras</artifactId>
@@ -28,51 +34,6 @@
   <packaging>jar</packaging>
   <url>.</url>
 
-  <properties>
-    <hadoop.version>${env.IMPALA_HADOOP_VERSION}</hadoop.version>
-  </properties>
-
-  <repositories>
-    <repository>
-       <id>apache.snapshots</id>
-       <name>Apache Development Snapshot Repository</name>
-        <url>https://repository.apache.org/content/repositories/snapshots/</url>
-        <releases>
-            <enabled>false</enabled>
-        </releases>
-        <snapshots>
-            <enabled>true</enabled>
-        </snapshots>
-    </repository>
-
-    <repository>
-      <id>cdh.rcs.releases.repo</id>
-      <url>https://repository.cloudera.com/content/groups/cdh-releases-rcs</url>
-      <name>CDH Releases Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-
-    <repository>
-      <id>cdh.snapshots.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
-      <name>CDH Snapshots Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-
-    <repository>
-      <id>cdh.repo</id>
-      <url>https://repository.cloudera.com/content/groups/cloudera-repos</url>
-      <name>Cloudera Repositories</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-  </repositories>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.hadoop</groupId>

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/ext-data-source/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/ext-data-source/CMakeLists.txt b/ext-data-source/CMakeLists.txt
index d318493..2b58f4e 100644
--- a/ext-data-source/CMakeLists.txt
+++ b/ext-data-source/CMakeLists.txt
@@ -15,6 +15,6 @@
 # specific language governing permissions and limitations
 # under the License.
 
-add_custom_target(ext-data-source ALL DEPENDS gen-deps
+add_custom_target(ext-data-source ALL DEPENDS gen-deps impala-parent
   COMMAND $ENV{IMPALA_HOME}/bin/mvn-quiet.sh install -DskipTests
 )

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/ext-data-source/api/pom.xml
----------------------------------------------------------------------
diff --git a/ext-data-source/api/pom.xml b/ext-data-source/api/pom.xml
index b35e6e6..9240fb1 100644
--- a/ext-data-source/api/pom.xml
+++ b/ext-data-source/api/pom.xml
@@ -33,28 +33,6 @@
   <packaging>jar</packaging>
   <url>.</url>
 
-  <repositories>
-    <repository>
-      <id>cdh.repo</id>
-      <url>https://repository.cloudera.com/content/groups/cloudera-repos</url>
-      <name>Cloudera Repositories</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cdh.snapshots.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
-      <name>Cloudera Snapshots Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </repository>
-  </repositories>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.thrift</groupId>

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/ext-data-source/pom.xml
----------------------------------------------------------------------
diff --git a/ext-data-source/pom.xml b/ext-data-source/pom.xml
index e608960..b4b0045 100644
--- a/ext-data-source/pom.xml
+++ b/ext-data-source/pom.xml
@@ -19,6 +19,12 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.apache.impala</groupId>
+    <artifactId>impala-parent</artifactId>
+    <version>0.1-SNAPSHOT</version>
+    <relativePath>../impala-parent/pom.xml</relativePath>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.impala</groupId>
   <artifactId>impala-data-source</artifactId>
@@ -31,10 +37,4 @@
     <module>sample</module>
     <module>test</module>
   </modules>
-
-  <properties>
-    <thrift.version>0.9.0</thrift.version>
-    <guava.version>11.0.2</guava.version>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
 </project>

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/ext-data-source/sample/pom.xml
----------------------------------------------------------------------
diff --git a/ext-data-source/sample/pom.xml b/ext-data-source/sample/pom.xml
index d2e73e4..f6a8e54 100644
--- a/ext-data-source/sample/pom.xml
+++ b/ext-data-source/sample/pom.xml
@@ -33,28 +33,6 @@
   <packaging>jar</packaging>
   <url>.</url>
 
-  <repositories>
-    <repository>
-      <id>cdh.repo</id>
-      <url>https://repository.cloudera.com/content/groups/cloudera-repos</url>
-      <name>Cloudera Repositories</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cdh.snapshots.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
-      <name>Cloudera Snapshots Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </repository>
-  </repositories>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.impala</groupId>

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/ext-data-source/test/pom.xml
----------------------------------------------------------------------
diff --git a/ext-data-source/test/pom.xml b/ext-data-source/test/pom.xml
index 672f3af..5fdd7e9 100644
--- a/ext-data-source/test/pom.xml
+++ b/ext-data-source/test/pom.xml
@@ -37,28 +37,6 @@
     <impala.extdatasrc.api.version>1.0-SNAPSHOT</impala.extdatasrc.api.version>
   </properties>
 
-  <repositories>
-    <repository>
-      <id>cdh.repo</id>
-      <url>https://repository.cloudera.com/content/groups/cloudera-repos</url>
-      <name>Cloudera Repositories</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cdh.snapshots.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
-      <name>Cloudera Snapshots Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </repository>
-  </repositories>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.impala</groupId>

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/fe/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/fe/CMakeLists.txt b/fe/CMakeLists.txt
index d5c7c1e..3f15554 100644
--- a/fe/CMakeLists.txt
+++ b/fe/CMakeLists.txt
@@ -16,6 +16,6 @@
 # under the License.
 
 add_custom_target(fe ALL DEPENDS
-  thrift-deps fb-deps yarn-extras function-registry ext-data-source
+  thrift-deps fb-deps yarn-extras function-registry ext-data-source impala-parent
   COMMAND $ENV{IMPALA_HOME}/bin/mvn-quiet.sh install -DskipTests
 )

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/fe/pom.xml
----------------------------------------------------------------------
diff --git a/fe/pom.xml b/fe/pom.xml
index 98b88ce..e069256 100644
--- a/fe/pom.xml
+++ b/fe/pom.xml
@@ -20,6 +20,12 @@ under the License.
 -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.apache.impala</groupId>
+    <artifactId>impala-parent</artifactId>
+    <version>0.1-SNAPSHOT</version>
+    <relativePath>../impala-parent/pom.xml</relativePath>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.impala</groupId>
   <artifactId>impala-frontend</artifactId>
@@ -28,29 +34,6 @@ under the License.
 
   <name>Apache Impala Query Engine Frontend</name>
 
-  <properties>
-    <surefire.reports.dir>${env.IMPALA_LOGS_DIR}/fe_tests</surefire.reports.dir>
-    <jacoco.skip>true</jacoco.skip>
-    <jacoco.data.file>${env.IMPALA_FE_TEST_COVERAGE_DIR}/jacoco.exec</jacoco.data.file>
-    <jacoco.report.dir>${env.IMPALA_FE_TEST_COVERAGE_DIR}</jacoco.report.dir>
-    <test.hive.testdata>${project.basedir}/../testdata/target/AllTypes.txt</test.hive.testdata>
-    <backend.library.path>${env.IMPALA_HOME}/be/build/debug/service:${env.IMPALA_HOME}/be/build/release/service</backend.library.path>
-    <beeswax_port>21000</beeswax_port>
-    <impalad>localhost</impalad>
-    <testExecutionMode>reduced</testExecutionMode>
-    <hadoop.version>${env.IMPALA_HADOOP_VERSION}</hadoop.version>
-    <hive.version>${env.IMPALA_HIVE_VERSION}</hive.version>
-    <hive.major.version>${env.IMPALA_HIVE_MAJOR_VERSION}</hive.major.version>
-    <sentry.version>${env.IMPALA_SENTRY_VERSION}</sentry.version>
-    <hbase.version>${env.IMPALA_HBASE_VERSION}</hbase.version>
-    <parquet.version>${env.IMPALA_PARQUET_VERSION}</parquet.version>
-    <impala.extdatasrc.api.version>1.0-SNAPSHOT</impala.extdatasrc.api.version>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <kudu.version>${env.KUDU_JAVA_VERSION}</kudu.version>
-    <yarn-extras.version>${project.version}</yarn-extras.version>
-    <eclipse.output.directory>eclipse-classes</eclipse.output.directory>
-  </properties>
-
   <dependencies>
     <dependency>
       <groupId>org.htrace</groupId>
@@ -665,98 +648,6 @@ under the License.
     </pluginManagement>
   </build>
 
-  <repositories>
-    <repository>
-       <id>apache.snapshots</id>
-       <name>Apache Development Snapshot Repository</name>
-        <url>https://repository.apache.org/content/repositories/snapshots/</url>
-        <releases>
-            <enabled>false</enabled>
-        </releases>
-        <snapshots>
-            <enabled>true</enabled>
-        </snapshots>
-    </repository>
-
-    <repository>
-      <id>cdh.rcs.releases.repo</id>
-      <url>https://repository.cloudera.com/content/groups/cdh-releases-rcs</url>
-      <name>CDH Releases Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cdh.releases.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/releases</url>
-      <name>CDH Releases Repository</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cdh.snapshots.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
-      <name>CDH Snapshots Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cloudera.thirdparty.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/third-party</url>
-      <name>Cloudera Third Party Repository</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-
-    <!-- This is needed for java-cup. TODO add the plugin to our maven repo -->
-    <repository>
-      <id>sonatype-nexus-snapshots</id>
-      <name>Sonatype Nexus Snapshots</name>
-      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-  </repositories>
-
-  <pluginRepositories>
-    <pluginRepository>
-      <id>cloudera.thirdparty.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/third-party</url>
-      <name>Cloudera Third Party Repository</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </pluginRepository>
-    <pluginRepository>
-      <id>cloudera.snapshot.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
-      <name>Cloudera Snapshot Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </pluginRepository>
-
-    <!-- This is needed for the cup maven plugin. TODO add the plugin to our maven repo -->
-    <pluginRepository>
-      <id>sonatype-nexus-snapshots</id>
-      <name>Sonatype Nexus Snapshots</name>
-      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </pluginRepository>
-  </pluginRepositories>
-
   <profiles>
     <profile>
       <id>thrift-home-defined</id>

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/impala-parent/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/impala-parent/CMakeLists.txt b/impala-parent/CMakeLists.txt
new file mode 100644
index 0000000..39507f5
--- /dev/null
+++ b/impala-parent/CMakeLists.txt
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+add_custom_target(impala-parent ALL
+  COMMAND $ENV{IMPALA_HOME}/bin/mvn-quiet.sh install -DskipTests
+)

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/impala-parent/pom.xml
----------------------------------------------------------------------
diff --git a/impala-parent/pom.xml b/impala-parent/pom.xml
new file mode 100644
index 0000000..196272a
--- /dev/null
+++ b/impala-parent/pom.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.impala</groupId>
+  <artifactId>impala-parent</artifactId>
+  <version>0.1-SNAPSHOT</version>
+  <packaging>pom</packaging>
+  <name>Apache Impala Parent POM</name>
+
+  <properties>
+    <surefire.reports.dir>${env.IMPALA_LOGS_DIR}/fe_tests</surefire.reports.dir>
+    <jacoco.skip>true</jacoco.skip>
+    <jacoco.data.file>${env.IMPALA_FE_TEST_COVERAGE_DIR}/jacoco.exec</jacoco.data.file>
+    <jacoco.report.dir>${env.IMPALA_FE_TEST_COVERAGE_DIR}</jacoco.report.dir>
+    <test.hive.testdata>${project.basedir}/../testdata/target/AllTypes.txt</test.hive.testdata>
+    <backend.library.path>${env.IMPALA_HOME}/be/build/debug/service:${env.IMPALA_HOME}/be/build/release/service</backend.library.path>
+    <beeswax_port>21000</beeswax_port>
+    <impalad>localhost</impalad>
+    <testExecutionMode>reduced</testExecutionMode>
+    <hadoop.version>${env.IMPALA_HADOOP_VERSION}</hadoop.version>
+    <hive.version>${env.IMPALA_HIVE_VERSION}</hive.version>
+    <hive.major.version>${env.IMPALA_HIVE_MAJOR_VERSION}</hive.major.version>
+    <sentry.version>${env.IMPALA_SENTRY_VERSION}</sentry.version>
+    <hbase.version>${env.IMPALA_HBASE_VERSION}</hbase.version>
+    <parquet.version>${env.IMPALA_PARQUET_VERSION}</parquet.version>
+    <impala.extdatasrc.api.version>1.0-SNAPSHOT</impala.extdatasrc.api.version>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <kudu.version>${env.KUDU_JAVA_VERSION}</kudu.version>
+    <yarn-extras.version>${project.version}</yarn-extras.version>
+    <eclipse.output.directory>eclipse-classes</eclipse.output.directory>
+
+    <thrift.version>0.9.0</thrift.version>
+    <guava.version>11.0.2</guava.version>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
+  <repositories>
+    <repository>
+       <id>apache.snapshots</id>
+       <name>Apache Development Snapshot Repository</name>
+        <url>https://repository.apache.org/content/repositories/snapshots/</url>
+        <releases>
+            <enabled>false</enabled>
+        </releases>
+        <snapshots>
+            <enabled>true</enabled>
+        </snapshots>
+    </repository>
+
+    <repository>
+      <id>cdh.rcs.releases.repo</id>
+      <url>https://repository.cloudera.com/content/groups/cdh-releases-rcs</url>
+      <name>CDH Releases Repository</name>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>cdh.releases.repo</id>
+      <url>https://repository.cloudera.com/content/repositories/releases</url>
+      <name>CDH Releases Repository</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>cdh.snapshots.repo</id>
+      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
+      <name>CDH Snapshots Repository</name>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>cloudera.thirdparty.repo</id>
+      <url>https://repository.cloudera.com/content/repositories/third-party</url>
+      <name>Cloudera Third Party Repository</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+
+    <!-- This is needed for java-cup. TODO add the plugin to our maven repo -->
+    <repository>
+      <id>sonatype-nexus-snapshots</id>
+      <name>Sonatype Nexus Snapshots</name>
+      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+
+  <pluginRepositories>
+    <pluginRepository>
+      <id>cloudera.thirdparty.repo</id>
+      <url>https://repository.cloudera.com/content/repositories/third-party</url>
+      <name>Cloudera Third Party Repository</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </pluginRepository>
+    <pluginRepository>
+      <id>cloudera.snapshot.repo</id>
+      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
+      <name>Cloudera Snapshot Repository</name>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+
+    <!-- This is needed for the cup maven plugin. TODO add the plugin to our maven repo -->
+    <pluginRepository>
+      <id>sonatype-nexus-snapshots</id>
+      <name>Sonatype Nexus Snapshots</name>
+      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
+
+</project>

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/testdata/TableFlattener/pom.xml
----------------------------------------------------------------------
diff --git a/testdata/TableFlattener/pom.xml b/testdata/TableFlattener/pom.xml
index ea6d6ff..12e0e90 100644
--- a/testdata/TableFlattener/pom.xml
+++ b/testdata/TableFlattener/pom.xml
@@ -19,6 +19,12 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.apache.impala</groupId>
+    <artifactId>impala-parent</artifactId>
+    <version>0.1-SNAPSHOT</version>
+    <relativePath>../../impala-parent/pom.xml</relativePath>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.impala</groupId>
   <artifactId>nested-table-flattener</artifactId>
@@ -40,13 +46,6 @@
     </plugins>
   </build>
 
-  <repositories>
-    <repository>
-      <id>cloudera-repo-releases</id>
-      <url>https://repository.cloudera.com/artifactory/repo/</url>
-    </repository>
-  </repositories>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.hadoop</groupId>

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/testdata/pom.xml
----------------------------------------------------------------------
diff --git a/testdata/pom.xml b/testdata/pom.xml
index 4eb4e7a..e117e4b 100644
--- a/testdata/pom.xml
+++ b/testdata/pom.xml
@@ -20,6 +20,12 @@ under the License.
 -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.apache.impala</groupId>
+    <artifactId>impala-parent</artifactId>
+    <version>0.1-SNAPSHOT</version>
+    <relativePath>../impala-parent/pom.xml</relativePath>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
 
   <groupId>org.apache.impala</groupId>
@@ -28,11 +34,6 @@ under the License.
   <packaging>jar</packaging>
 
   <name>Build some test data</name>
-  <properties>
-    <hadoop.version>${env.IMPALA_HADOOP_VERSION}</hadoop.version>
-    <hbase.version>${env.IMPALA_HBASE_VERSION}</hbase.version>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
 
   <dependencies>
     <dependency>
@@ -138,58 +139,4 @@ under the License.
     </plugins>
   </build>
 
-  <repositories>
-    <repository>
-      <id>cdh.rcs.releases.repo</id>
-      <url>https://repository.cloudera.com/content/groups/cdh-releases-rcs</url>
-      <name>CDH Releases Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cdh.releases.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/releases</url>
-      <name>CDH Releases Repository</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cdh.snapshots.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
-      <name>CDH Snapshots Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cloudera.thirdparty.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/third-party</url>
-      <name>Cloudera Third Party Repository</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-  </repositories>
-
-  <pluginRepositories>
-    <pluginRepository>
-      <id>cloudera.thirdparty.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/third-party</url>
-      <name>Cloudera Third Party Repository</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </pluginRepository>
-    <pluginRepository>
-      <id>cloudera.snapshot.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
-      <name>Cloudera Snapshot Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </pluginRepository>
-  </pluginRepositories>
-
 </project>

http://git-wip-us.apache.org/repos/asf/impala/blob/d2fe9f43/tests/test-hive-udfs/pom.xml
----------------------------------------------------------------------
diff --git a/tests/test-hive-udfs/pom.xml b/tests/test-hive-udfs/pom.xml
index 17979ed..9c2e1bd 100644
--- a/tests/test-hive-udfs/pom.xml
+++ b/tests/test-hive-udfs/pom.xml
@@ -19,6 +19,12 @@ under the License.
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <parent>
+    <groupId>org.apache.impala</groupId>
+    <artifactId>impala-parent</artifactId>
+    <version>0.1-SNAPSHOT</version>
+    <relativePath>../../impala-parent/pom.xml</relativePath>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
 
   <groupId>org.apache.impala</groupId>
@@ -65,39 +71,4 @@ under the License.
       </plugin>
     </plugins>
   </build>
-
-  <repositories>
-    <repository>
-      <id>cdh.rcs.releases.repo</id>
-      <url>https://repository.cloudera.com/content/groups/cdh-releases-rcs</url>
-      <name>CDH Releases Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cdh.releases.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/releases</url>
-      <name>CDH Releases Repository</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cdh.snapshots.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
-      <name>CDH Snapshots Repository</name>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>cloudera.thirdparty.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/third-party</url>
-      <name>Cloudera Third Party Repository</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-  </repositories>
 </project>