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/03/08 22:32:17 UTC

[1/2] incubator-impala git commit: IMPALA-5034: Update Breakpad to newer version

Repository: incubator-impala
Updated Branches:
  refs/heads/master ec469347f -> 3b7ceceed


IMPALA-5034: Update Breakpad to newer version

This will give us better support for DWARF version 4, support for
redaction of sensitive data, and a multitude of bug fixes.

The Breakpad project does not do releases, so we update to a somewhat
arbitrary commit:

commit 88e5b2c8806bac3f2c80d2fe80094be5bd371601
Author: Scott Graham <sc...@chromium.org>
Date:   Tue Feb 28 11:14:04 2017 -0800

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


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

Branch: refs/heads/master
Commit: 408d0aec336da826304ca5e144ce3655a5967f56
Parents: ec46934
Author: Lars Volker <lv...@cloudera.com>
Authored: Mon Mar 6 13:16:48 2017 -0800
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Wed Mar 8 21:33:15 2017 +0000

----------------------------------------------------------------------
 bin/impala-config.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/408d0aec/bin/impala-config.sh
----------------------------------------------------------------------
diff --git a/bin/impala-config.sh b/bin/impala-config.sh
index ff83b7f..cee3d53 100755
--- a/bin/impala-config.sh
+++ b/bin/impala-config.sh
@@ -72,14 +72,14 @@ fi
 # moving to a different build of the toolchain, e.g. when a version is bumped or a
 # compile option is changed. The build id can be found in the output of the toolchain
 # build jobs, it is constructed from the build number and toolchain git hash prefix.
-export IMPALA_TOOLCHAIN_BUILD_ID=349-1b15a6c8f4
+export IMPALA_TOOLCHAIN_BUILD_ID=360-04f75441e7
 
 # Versions of toolchain dependencies.
 # -----------------------------------
 export IMPALA_AVRO_VERSION=1.7.4-p4
 export IMPALA_BINUTILS_VERSION=2.26-p1
 export IMPALA_BOOST_VERSION=1.57.0-p1
-export IMPALA_BREAKPAD_VERSION=20150612-p1
+export IMPALA_BREAKPAD_VERSION=88e5b2c8806bac3f2c80d2fe80094be5bd371601
 export IMPALA_BZIP2_VERSION=1.0.6-p2
 export IMPALA_CMAKE_VERSION=3.2.3-p1
 export IMPALA_CRCUTIL_VERSION=440ba7babeff77ffad992df3a10c767f184e946e


[2/2] incubator-impala git commit: IMPALA-5028: Lock table in /catalog_objects endpoint.

Posted by ta...@apache.org.
IMPALA-5028: Lock table in /catalog_objects endpoint.

There was a missing lock acquisition before
Table.toThrift() in the code used for implementing
the /catalog_objects endpoint in the WebUI.

Testing:
- Added a regression test in test_web_pages.py

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


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

Branch: refs/heads/master
Commit: 3b7ceceed29f2f34539a0def4ddb71b34e74d2b7
Parents: 408d0ae
Author: Alex Behm <al...@cloudera.com>
Authored: Tue Mar 7 10:34:37 2017 -0800
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Wed Mar 8 22:09:53 2017 +0000

----------------------------------------------------------------------
 .../java/org/apache/impala/catalog/Catalog.java | 11 ++++++---
 tests/webserver/test_web_pages.py               | 24 ++++++++++++++++++++
 2 files changed, 32 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/3b7cecee/fe/src/main/java/org/apache/impala/catalog/Catalog.java
----------------------------------------------------------------------
diff --git a/fe/src/main/java/org/apache/impala/catalog/Catalog.java b/fe/src/main/java/org/apache/impala/catalog/Catalog.java
index 5a3fc61..994aa37 100644
--- a/fe/src/main/java/org/apache/impala/catalog/Catalog.java
+++ b/fe/src/main/java/org/apache/impala/catalog/Catalog.java
@@ -449,9 +449,14 @@ public abstract class Catalog {
           throw new CatalogException("Table not found: " +
               objectDesc.getTable().getTbl_name());
         }
-        result.setType(table.getCatalogObjectType());
-        result.setCatalog_version(table.getCatalogVersion());
-        result.setTable(table.toThrift());
+        table.getLock().lock();
+        try {
+          result.setType(table.getCatalogObjectType());
+          result.setCatalog_version(table.getCatalogVersion());
+          result.setTable(table.toThrift());
+        } finally {
+          table.getLock().unlock();
+        }
         break;
       }
       case FUNCTION: {

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/3b7cecee/tests/webserver/test_web_pages.py
----------------------------------------------------------------------
diff --git a/tests/webserver/test_web_pages.py b/tests/webserver/test_web_pages.py
index 4604e22..4a2d872 100644
--- a/tests/webserver/test_web_pages.py
+++ b/tests/webserver/test_web_pages.py
@@ -26,6 +26,8 @@ class TestWebPage(ImpalaTestSuite):
   RESET_JAVA_LOGLEVEL_URL = "http://localhost:{0}/reset_java_loglevel"
   SET_GLOG_LOGLEVEL_URL = "http://localhost:{0}/set_glog_level"
   RESET_GLOG_LOGLEVEL_URL = "http://localhost:{0}/reset_glog_level"
+  CATALOG_URL = "http://localhost:{0}/catalog"
+  CATALOG_OBJECT_URL = "http://localhost:{0}/catalog_object"
   # log4j changes do not apply to the statestore since it doesn't
   # have an embedded JVM. So we make two sets of ports to test the
   # log level endpoints, one without the statestore port and the
@@ -130,3 +132,25 @@ class TestWebPage(ImpalaTestSuite):
     # Try a non-existent endpoint on log_level URL.
     bad_loglevel_url = self.SET_GLOG_LOGLEVEL_URL + "?badurl=foo"
     self.get_and_check_status(bad_loglevel_url, without_ss=False)
+
+  def test_catalog(self):
+    """Tests the /catalog and /catalog_object endpoints."""
+    self.get_and_check_status(self.CATALOG_URL, "functional", without_ss=True)
+    self.get_and_check_status(self.CATALOG_URL, "alltypes", without_ss=True)
+    # IMPALA-5028: Test toThrift() of a partitioned table via the WebUI code path.
+    self.__test_catalog_object("functional", "alltypes")
+    self.__test_catalog_object("functional_parquet", "alltypes")
+    self.__test_catalog_object("functional", "alltypesnopart")
+    self.__test_catalog_object("functional_kudu", "alltypes")
+
+  def __test_catalog_object(self, db_name, tbl_name):
+    """Tests the /catalog_object endpoint for the given db/table. Runs
+    against an unloaded as well as a loaded table."""
+    self.client.execute("invalidate metadata %s.%s" % (db_name, tbl_name))
+    self.get_and_check_status(self.CATALOG_OBJECT_URL +
+      "?object_type=TABLE&object_name=%s.%s" % (db_name, tbl_name), tbl_name,
+      without_ss=True)
+    self.client.execute("select count(*) from %s.%s" % (db_name, tbl_name))
+    self.get_and_check_status(self.CATALOG_OBJECT_URL +
+      "?object_type=TABLE&object_name=%s.%s" % (db_name, tbl_name), tbl_name,
+      without_ss=True)