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
The following commit(s) were added to refs/heads/master by this push:
new 2a16520 HIVE-24603: Alter table not modifying the table
location(Saihemanth via Naveen Gangam)
2a16520 is described below
commit 2a1652082fed215180a444acf6347b6d2648de86
Author: saihemanth <[email protected]>
AuthorDate: Thu Jan 7 14:42:39 2021 -0700
HIVE-24603: Alter table not modifying the table location(Saihemanth via
Naveen Gangam)
---
.../main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java | 4 ++--
.../hive/metastore/client/TestTablesCreateDropAlterTruncate.java | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java
index cf4b85d..1cabcbe 100644
---
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java
+++
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java
@@ -247,7 +247,7 @@ public class HiveAlterHandler implements AlterHandler {
// in the table rename, its data location should not be changed. We
can check
// if the table directory was created directly under its database
directory to tell
// if it is such a table
- String oldtRelativePath = wh.getDatabasePath(olddb).toUri()
+ String oldtRelativePath = wh.getDatabaseManagedPath(olddb).toUri()
.relativize(srcPath.toUri()).toString();
boolean tableInSpecifiedLoc =
!oldtRelativePath.equalsIgnoreCase(name)
&& !oldtRelativePath.equalsIgnoreCase(name + Path.SEPARATOR);
@@ -257,7 +257,7 @@ public class HiveAlterHandler implements AlterHandler {
// get new location
Database db = msdb.getDatabase(catName, newDbName);
assert(isReplicated ==
HiveMetaStore.HMSHandler.isDbReplicationTarget(db));
- Path databasePath = constructRenamedPath(wh.getDatabasePath(db),
srcPath);
+ Path databasePath =
constructRenamedPath(wh.getDatabaseManagedPath(db), srcPath);
destPath = new Path(databasePath, newTblName);
destFs = wh.getFs(destPath);
diff --git
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
index f0c0017..41e8ee6 100644
---
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
+++
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
@@ -802,7 +802,7 @@ public class TestTablesCreateDropAlterTruncate extends
MetaStoreClientTest {
Table alteredTable = client.getTable(newTable.getDbName(),
newTable.getTableName());
Assert.assertTrue("New table directory should exist",
metaStore.isPathExists(new Path(alteredTable.getSd().getLocation())));
- Assert.assertEquals("New directory should be set", new
Path(metaStore.getExternalWarehouseRoot()
+ Assert.assertEquals("New directory should be set", new
Path(metaStore.getWarehouseRoot()
+ "/" + alteredTable.getDbName() + ".db/" +
alteredTable.getTableName()),
new Path(alteredTable.getSd().getLocation()));
Path dataFile = new Path(alteredTable.getSd().getLocation() + "/dataFile");