You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by gr...@apache.org on 2020/03/03 23:09:09 UTC
[kudu] 01/02: [hms] Fix testAlterTableHandler in later Hive versions
This is an automated email from the ASF dual-hosted git repository.
granthenke pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 8fb170b004b8298429ada0ec5622d6f566477285
Author: Grant Henke <gr...@apache.org>
AuthorDate: Tue Mar 3 08:49:41 2020 -0600
[hms] Fix testAlterTableHandler in later Hive versions
This patch adjusts testAlterTableHandler to stop reusing
already created table objects when creating new tables.
This prevents issues if read-only properties are set.
An example of a read-only property is the ID field added in
HIVE-20556.
The error seen was:
`testAlterTableHandler(org.apache.kudu.hive.metastore.TestKuduMetastorePlugin)InvalidObjectException(message:Id shouldn't be set but table default.table has the Id set to 1. It's a read-only option)`
Change-Id: I8f8ddbe30a3e51957cafd8f1b596745b3262ca36
Reviewed-on: http://gerrit.cloudera.org:8080/15349
Reviewed-by: Hao Hao <ha...@cloudera.com>
Tested-by: Grant Henke <gr...@apache.org>
---
.../apache/kudu/hive/metastore/TestKuduMetastorePlugin.java | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/java/kudu-hive/src/test/java/org/apache/kudu/hive/metastore/TestKuduMetastorePlugin.java b/java/kudu-hive/src/test/java/org/apache/kudu/hive/metastore/TestKuduMetastorePlugin.java
index 2dc358a..0558746 100644
--- a/java/kudu-hive/src/test/java/org/apache/kudu/hive/metastore/TestKuduMetastorePlugin.java
+++ b/java/kudu-hive/src/test/java/org/apache/kudu/hive/metastore/TestKuduMetastorePlugin.java
@@ -233,10 +233,10 @@ public class TestKuduMetastorePlugin {
@Test
public void testAlterTableHandler() throws Exception {
// Test altering a Kudu (or a legacy) table.
- Table table = newTable("table");
- client.createTable(table, masterContext());
+ Table initTable = newTable("table");
+ client.createTable(initTable, masterContext());
// Get the table from the HMS in case any translation occurred.
- table = client.getTable(table.getDbName(), table.getTableName());
+ Table table = client.getTable(initTable.getDbName(), initTable.getTableName());
Table legacyTable = newLegacyTable("legacy_table");
client.createTable(legacyTable, masterContext());
// Get the table from the HMS in case any translation occurred.
@@ -380,8 +380,10 @@ public class TestKuduMetastorePlugin {
// Test altering a non-Kudu table.
{
+ table = initTable.deepCopy();
table.getParameters().clear();
client.createTable(table);
+ table = client.getTable(table.getDbName(), table.getTableName());
try {
// Try to alter the table and add a Kudu table ID.
@@ -431,11 +433,12 @@ public class TestKuduMetastorePlugin {
// Test altering an unsynchronized table is accepted.
{
- table.getParameters().clear();
+ table = initTable.deepCopy();
table.setTableType(TableType.EXTERNAL_TABLE.name());
table.putToParameters(KuduMetastorePlugin.EXTERNAL_TABLE_KEY, "TRUE");
table.putToParameters(KuduMetastorePlugin.EXTERNAL_PURGE_KEY, "FALSE");
client.createTable(table);
+ table = client.getTable(table.getDbName(), table.getTableName());
try {
client.alter_table(table.getDbName(), table.getTableName(), table);
} finally {