Commit 53bbebcb by Hemanth Yamijala

ATLAS-759 HiveHookIT.testAlterTableChangeColumn is consistently failing on master (yhemanth)

parent 2c0dc406
...@@ -40,6 +40,7 @@ import org.apache.hadoop.fs.Path; ...@@ -40,6 +40,7 @@ import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.metastore.TableType; import org.apache.hadoop.hive.metastore.TableType;
import org.apache.hadoop.hive.metastore.api.hive_metastoreConstants; import org.apache.hadoop.hive.metastore.api.hive_metastoreConstants;
import org.apache.hadoop.hive.ql.CommandNeedRetryException;
import org.apache.hadoop.hive.ql.Driver; import org.apache.hadoop.hive.ql.Driver;
import org.apache.hadoop.hive.ql.hooks.Entity; import org.apache.hadoop.hive.ql.hooks.Entity;
import org.apache.hadoop.hive.ql.metadata.Table; import org.apache.hadoop.hive.ql.metadata.Table;
...@@ -100,10 +101,7 @@ public class HiveHookIT { ...@@ -100,10 +101,7 @@ public class HiveHookIT {
} }
private void runCommand(String cmd) throws Exception { private void runCommand(String cmd) throws Exception {
LOG.debug("Running command '{}'", cmd); runCommandWithDelay(cmd, 0);
ss.setCommandType(null);
CommandProcessorResponse response = driver.run(cmd);
assertEquals(response.getResponseCode(), 0);
} }
@Test @Test
...@@ -708,7 +706,8 @@ public class HiveHookIT { ...@@ -708,7 +706,8 @@ public class HiveHookIT {
String newColName = "name1"; String newColName = "name1";
String tableName = createTable(); String tableName = createTable();
String query = String.format("alter table %s change %s %s string", tableName, oldColName, newColName); String query = String.format("alter table %s change %s %s string", tableName, oldColName, newColName);
runCommand(query); runCommandWithDelay(query, 1000);
assertColumnIsNotRegistered(HiveMetaStoreBridge.getColumnQualifiedName( assertColumnIsNotRegistered(HiveMetaStoreBridge.getColumnQualifiedName(
HiveMetaStoreBridge.getTableQualifiedName(CLUSTER_NAME, DEFAULT_DB, tableName), oldColName)); HiveMetaStoreBridge.getTableQualifiedName(CLUSTER_NAME, DEFAULT_DB, tableName), oldColName));
assertColumnIsRegistered(HiveMetaStoreBridge.getColumnQualifiedName( assertColumnIsRegistered(HiveMetaStoreBridge.getColumnQualifiedName(
...@@ -723,7 +722,7 @@ public class HiveHookIT { ...@@ -723,7 +722,7 @@ public class HiveHookIT {
newColName = "name2"; newColName = "name2";
final String newColType = "int"; final String newColType = "int";
query = String.format("alter table %s change column %s %s %s", tableName, oldColName, newColName, newColType); query = String.format("alter table %s change column %s %s %s", tableName, oldColName, newColName, newColType);
runCommand(query); runCommandWithDelay(query, 1000);
columns = getColumns(DEFAULT_DB, tableName); columns = getColumns(DEFAULT_DB, tableName);
Assert.assertEquals(columns.size(), 2); Assert.assertEquals(columns.size(), 2);
...@@ -746,7 +745,7 @@ public class HiveHookIT { ...@@ -746,7 +745,7 @@ public class HiveHookIT {
final String comment = "added comment"; final String comment = "added comment";
query = String.format("alter table %s change column %s %s %s COMMENT '%s' after id", tableName, oldColName, query = String.format("alter table %s change column %s %s %s COMMENT '%s' after id", tableName, oldColName,
newColName, newColType, comment); newColName, newColType, comment);
runCommand(query); runCommandWithDelay(query, 1000);
columns = getColumns(DEFAULT_DB, tableName); columns = getColumns(DEFAULT_DB, tableName);
Assert.assertEquals(columns.size(), 2); Assert.assertEquals(columns.size(), 2);
...@@ -755,7 +754,6 @@ public class HiveHookIT { ...@@ -755,7 +754,6 @@ public class HiveHookIT {
HiveMetaStoreBridge.getTableQualifiedName(CLUSTER_NAME, DEFAULT_DB, tableName), oldColName)); HiveMetaStoreBridge.getTableQualifiedName(CLUSTER_NAME, DEFAULT_DB, tableName), oldColName));
newColQualifiedName = HiveMetaStoreBridge.getColumnQualifiedName( newColQualifiedName = HiveMetaStoreBridge.getColumnQualifiedName(
HiveMetaStoreBridge.getTableQualifiedName(CLUSTER_NAME, DEFAULT_DB, tableName), newColName); HiveMetaStoreBridge.getTableQualifiedName(CLUSTER_NAME, DEFAULT_DB, tableName), newColName);
assertColumnIsRegistered(newColQualifiedName, new AssertPredicate() { assertColumnIsRegistered(newColQualifiedName, new AssertPredicate() {
@Override @Override
public void assertOnEntity(Referenceable entity) throws Exception { public void assertOnEntity(Referenceable entity) throws Exception {
...@@ -768,7 +766,7 @@ public class HiveHookIT { ...@@ -768,7 +766,7 @@ public class HiveHookIT {
newColName = "name4"; newColName = "name4";
query = String.format("alter table %s change column %s %s %s first", tableName, oldColName, newColName, query = String.format("alter table %s change column %s %s %s first", tableName, oldColName, newColName,
newColType); newColType);
runCommand(query); runCommandWithDelay(query, 1000);
columns = getColumns(DEFAULT_DB, tableName); columns = getColumns(DEFAULT_DB, tableName);
Assert.assertEquals(columns.size(), 2); Assert.assertEquals(columns.size(), 2);
...@@ -795,7 +793,7 @@ public class HiveHookIT { ...@@ -795,7 +793,7 @@ public class HiveHookIT {
oldColName = "name4"; oldColName = "name4";
newColName = "name5"; newColName = "name5";
query = String.format("alter table %s change column %s %s %s after id", tableName, oldColName, newColName, newColType); query = String.format("alter table %s change column %s %s %s after id", tableName, oldColName, newColName, newColType);
runCommand(query); runCommandWithDelay(query, 1000);
columns = getColumns(DEFAULT_DB, tableName); columns = getColumns(DEFAULT_DB, tableName);
Assert.assertEquals(columns.size(), 2); Assert.assertEquals(columns.size(), 2);
...@@ -820,6 +818,16 @@ public class HiveHookIT { ...@@ -820,6 +818,16 @@ public class HiveHookIT {
); );
} }
private void runCommandWithDelay(String cmd, int sleepMs) throws CommandNeedRetryException, InterruptedException {
LOG.debug("Running command '{}'", cmd);
ss.setCommandType(null);
CommandProcessorResponse response = driver.run(cmd);
assertEquals(response.getResponseCode(), 0);
if (sleepMs != 0) {
Thread.sleep(sleepMs);
}
}
@Test @Test
public void testTruncateTable() throws Exception { public void testTruncateTable() throws Exception {
String tableName = createTable(false); String tableName = createTable(false);
......
...@@ -18,6 +18,7 @@ ATLAS-409 Atlas will not import avro tables with schema read from a file (dosset ...@@ -18,6 +18,7 @@ ATLAS-409 Atlas will not import avro tables with schema read from a file (dosset
ATLAS-379 Create sqoop and falcon metadata addons (venkatnrangan,bvellanki,sowmyaramesh via shwethags) ATLAS-379 Create sqoop and falcon metadata addons (venkatnrangan,bvellanki,sowmyaramesh via shwethags)
ALL CHANGES: ALL CHANGES:
ATLAS-759 HiveHookIT.testAlterTableChangeColumn is consistently failing on master (yhemanth)
ATLAS-690 Read timed out exceptions when tables are imported into Atlas (yhemanth via shwethags) ATLAS-690 Read timed out exceptions when tables are imported into Atlas (yhemanth via shwethags)
ATLAS-585 NotificationHookConsumer creates new AtlasClient for every message (shwethags) ATLAS-585 NotificationHookConsumer creates new AtlasClient for every message (shwethags)
ATLAS-682 Set HBase root dir to be relative to test target directory for HBaseBasedAuditRepositoryTest (shwethags via yhemanth) ATLAS-682 Set HBase root dir to be relative to test target directory for HBaseBasedAuditRepositoryTest (shwethags via yhemanth)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment