You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ng...@apache.org on 2021/04/06 15:40:09 UTC
[hive] 25/38: HIVE-24396: Fix to CachedStore to make DBs NATIVE and
fix to create_table_core on null DBs
This is an automated email from the ASF dual-hosted git repository.
ngangam pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
commit 4779e8680a05272f258375086e3fefcbd01ca3f0
Author: Naveen Gangam <ng...@cloudera.com>
AuthorDate: Tue Dec 1 11:03:24 2020 -0500
HIVE-24396: Fix to CachedStore to make DBs NATIVE and fix to create_table_core on null DBs
---
.../apache/hadoop/hive/metastore/HiveMetaStore.java | 19 ++++++++++---------
.../hadoop/hive/metastore/cache/CachedStore.java | 3 +++
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
index 7288ca3..26552d1 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
@@ -2366,6 +2366,16 @@ public class HiveMetaStore extends ThriftHiveMetastore {
List<String> processorCapabilities = req.getProcessorCapabilities();
String processorId = req.getProcessorIdentifier();
+ // To preserve backward compatibility throw MetaException in case of null database
+ if (tbl.getDbName() == null) {
+ throw new MetaException("Null database name is not allowed");
+ }
+
+ if (!MetaStoreUtils.validateName(tbl.getTableName(), conf)) {
+ throw new InvalidObjectException(tbl.getTableName()
+ + " is not a valid object name");
+ }
+
Database db = get_database_core(tbl.getCatName(), tbl.getDbName());
if (db != null && db.getType().equals(DatabaseType.REMOTE)) {
DataConnectorProviderFactory.getDataConnectorProvider(db).createTable(tbl);
@@ -2384,15 +2394,6 @@ public class HiveMetaStore extends ThriftHiveMetastore {
tbl.unsetColStats();
}
- // To preserve backward compatibility throw MetaException in case of null database
- if (tbl.getDbName() == null) {
- throw new MetaException("Null database name is not allowed");
- }
-
- if (!MetaStoreUtils.validateName(tbl.getTableName(), conf)) {
- throw new InvalidObjectException(tbl.getTableName()
- + " is not a valid object name");
- }
String validate = MetaStoreServerUtils.validateTblColumns(tbl.getSd().getCols());
if (validate != null) {
throw new InvalidObjectException("Invalid column " + validate);
diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
index 8ddaf4c..0a0f8fd 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
@@ -1102,6 +1102,9 @@ public class CachedStore implements RawStore, Configurable {
}
@Override public void createDatabase(Database db) throws InvalidObjectException, MetaException {
+ if (db.getType() == null) {
+ db.setType(DatabaseType.NATIVE);
+ }
rawStore.createDatabase(db);
// in case of event based cache update, cache will be updated during commit.
if (!canUseEvents) {