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 2018/04/03 02:11:14 UTC
[8/9] impala git commit: IMPALA-6719: Reset metadata database name
case sensitivity
IMPALA-6719: Reset metadata database name case sensitivity
Fix issue with database case name case sensitivity in reset metadata
statement.
Testing:
- Created end-to-end reset metadata tests.
Change-Id: Id880aa559cec0afe8fbb7d33ccce83f7b5e474cb
Reviewed-on: http://gerrit.cloudera.org:8080/9788
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/a026f265
Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/a026f265
Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/a026f265
Branch: refs/heads/master
Commit: a026f265a260462015d90ad3d3be7686d8486865
Parents: 5a78a30
Author: Fredy wijaya <fw...@cloudera.com>
Authored: Fri Mar 23 11:23:21 2018 -0700
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Tue Apr 3 01:06:01 2018 +0000
----------------------------------------------------------------------
.../impala/catalog/CatalogServiceCatalog.java | 2 +-
tests/metadata/test_reset_metadata.py | 34 ++++++++++++++++++++
2 files changed, 35 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/impala/blob/a026f265/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java
----------------------------------------------------------------------
diff --git a/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java b/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java
index 5bef242..20a3e2f 100644
--- a/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java
+++ b/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java
@@ -977,7 +977,7 @@ public class CatalogServiceCatalog extends Catalog {
// Load Java UDFs from HMS into the temporary db.
loadJavaFunctions(tmpDb, javaFns);
- Db db = dbCache_.get().get(dbName);
+ Db db = getDb(dbName);
if (db == null) {
throw new DatabaseNotFoundException("Database does not exist: " + dbName);
}
http://git-wip-us.apache.org/repos/asf/impala/blob/a026f265/tests/metadata/test_reset_metadata.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_reset_metadata.py b/tests/metadata/test_reset_metadata.py
new file mode 100644
index 0000000..07ee7f1
--- /dev/null
+++ b/tests/metadata/test_reset_metadata.py
@@ -0,0 +1,34 @@
+# 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.
+
+from test_ddl_base import TestDdlBase
+
+class TestResetMetadata(TestDdlBase):
+ def test_reset_metadata_case_sensitivity(self, unique_database):
+ # IMPALA-6719: Issue with database name case sensitivity in reset metadata.
+ table = 'newtable'
+ self.client.execute('create table %s.%s (i int)' % (unique_database, table))
+
+ self.client.execute('refresh %s.%s' % (unique_database, table))
+ self.client.execute('refresh %s.%s' % (unique_database.upper(), table.upper()))
+
+ self.client.execute('invalidate metadata %s.%s' % (unique_database, table))
+ self.client.execute('invalidate metadata %s.%s' % (unique_database.upper(),
+ table.upper()))
+
+ self.client.execute('refresh functions %s' % unique_database)
+ self.client.execute('refresh functions %s' % unique_database.upper())