http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListenerWithOldConf.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListenerWithOldConf.java
 
b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListenerWithOldConf.java
index a9d9e78..508b2c6 100644
--- 
a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListenerWithOldConf.java
+++ 
b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListenerWithOldConf.java
@@ -18,69 +18,19 @@
 
 package org.apache.hadoop.hive.metastore;
 
-import com.google.common.collect.Lists;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.annotation.MetastoreUnitTest;
-import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hadoop.hive.metastore.api.Partition;
-import org.apache.hadoop.hive.metastore.api.PartitionEventType;
-import org.apache.hadoop.hive.metastore.api.Table;
-import org.apache.hadoop.hive.metastore.client.builder.DatabaseBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.IndexBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.PartitionBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.TableBuilder;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf.ConfVars;
-import org.apache.hadoop.hive.metastore.events.AddIndexEvent;
-import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.AlterIndexEvent;
-import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
 import org.apache.hadoop.hive.metastore.events.ConfigChangeEvent;
-import org.apache.hadoop.hive.metastore.events.CreateDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.CreateTableEvent;
-import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.DropIndexEvent;
-import org.apache.hadoop.hive.metastore.events.DropPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.DropTableEvent;
-import org.apache.hadoop.hive.metastore.events.ListenerEvent;
-import org.apache.hadoop.hive.metastore.events.LoadPartitionDoneEvent;
-import org.apache.hadoop.hive.metastore.events.PreAddIndexEvent;
-import org.apache.hadoop.hive.metastore.events.PreAddPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.PreAlterIndexEvent;
-import org.apache.hadoop.hive.metastore.events.PreAlterPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.PreAlterTableEvent;
-import org.apache.hadoop.hive.metastore.events.PreCreateDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.PreCreateTableEvent;
-import org.apache.hadoop.hive.metastore.events.PreDropDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.PreDropIndexEvent;
-import org.apache.hadoop.hive.metastore.events.PreDropPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.PreDropTableEvent;
-import org.apache.hadoop.hive.metastore.events.PreEventContext;
-import org.apache.hadoop.hive.metastore.events.PreLoadPartitionDoneEvent;
 import org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
 /**
  * Mostly same tests as TestMetaStoreEventListener, but using old hive conf 
values instead of new
  * metastore conf values.

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
 
b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
index f9bd495..b7f7be92 100644
--- 
a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
+++ 
b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
@@ -29,7 +29,6 @@ import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.FileMetadataExprType;
 import org.apache.hadoop.hive.metastore.api.Function;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidInputException;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.MetaException;
@@ -398,12 +397,6 @@ public class TestObjectStore {
       for (String db : dbs) {
         List<String> tbls = store.getAllTables(db);
         for (String tbl : tbls) {
-          List<Index> indexes = store.getIndexes(db, tbl, 100);
-          for (Index index : indexes) {
-            store.dropIndex(db, tbl, index.getIndexName());
-          }
-        }
-        for (String tbl : tbls) {
           Deadline.startTimer("getPartition");
           List<Partition> parts = store.getPartitions(db, tbl, 100);
           for (Partition part : parts) {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestAddAlterDropIndexes.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestAddAlterDropIndexes.java
 
b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestAddAlterDropIndexes.java
deleted file mode 100644
index 2b8f297..0000000
--- 
a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestAddAlterDropIndexes.java
+++ /dev/null
@@ -1,845 +0,0 @@
-/*
- * 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.
- */
-package org.apache.hadoop.hive.metastore.client;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hive.metastore.IMetaStoreClient;
-import org.apache.hadoop.hive.metastore.TableType;
-import org.apache.hadoop.hive.metastore.annotation.MetastoreCheckinTest;
-import org.apache.hadoop.hive.metastore.api.AlreadyExistsException;
-import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
-import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
-import org.apache.hadoop.hive.metastore.api.StorageDescriptor;
-import org.apache.hadoop.hive.metastore.api.Table;
-import org.apache.hadoop.hive.metastore.api.UnknownTableException;
-import org.apache.hadoop.hive.metastore.client.builder.DatabaseBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.IndexBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.TableBuilder;
-import org.apache.hadoop.hive.metastore.minihms.AbstractMetaStoreService;
-import org.apache.thrift.TException;
-import org.apache.thrift.transport.TTransportException;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-/**
- * Tests for creating, altering and dropping indexes.
- */
-@RunWith(Parameterized.class)
-@Category(MetastoreCheckinTest.class)
-public class TestAddAlterDropIndexes extends MetaStoreClientTest {
-  private AbstractMetaStoreService metaStore;
-  private IMetaStoreClient client;
-
-  private static final String DB_NAME = "testindexdb";
-  private static final String TABLE_NAME = "testindextable";
-  private static final String INDEX_NAME = "testcreateindex";
-  private static final String INDEX_TABLE_NAME = TABLE_NAME + "__" + 
INDEX_NAME + "__";
-  private static final short MAX = -1;
-
-  public TestAddAlterDropIndexes(String name, AbstractMetaStoreService 
metaStore) {
-    this.metaStore = metaStore;
-  }
-
-  @Before
-  public void setUp() throws Exception {
-    // Get new client
-    client = metaStore.getClient();
-
-    // Clean up the database
-    client.dropDatabase(DB_NAME, true, true, true);
-    metaStore.cleanWarehouseDirs();
-    createDB(DB_NAME);
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    try {
-      if (client != null) {
-        client.close();
-      }
-    } finally {
-      client = null;
-    }
-  }
-
-  @Test
-  public void testCreateGetAndDropIndex() throws Exception {
-
-    String indexHandlerName = "TestIndexHandlerClass";
-    String inputFormatName = "TestInputFormat";
-    String outputFormatName = "TestOutputFormat";
-    String indexParamKey = "indexParamKey";
-    String indexParamValue = "indexParamValue";
-    String sdParamKey = "indexSdParamKey";
-    String sdParamValue = "indexSdParamValue";
-    int createTime = (int) (System.currentTimeMillis() / 1000);
-    Map<String, String> params = new HashMap<String, String>();
-    params.put(indexParamKey, indexParamValue);
-
-    createTable(DB_NAME, TABLE_NAME);
-
-    Index index = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(INDEX_TABLE_NAME)
-        .setCreateTime(createTime)
-        .setLastAccessTime(createTime)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .setDeferredRebuild(false)
-        .setIndexParams(params)
-        .setHandlerClass(indexHandlerName)
-        .setInputFormat(inputFormatName)
-        .setOutputFormat(outputFormatName)
-        .setSerdeName(INDEX_TABLE_NAME)
-        .addStorageDescriptorParam(sdParamKey, sdParamValue)
-        .build();
-    client.createIndex(index, buildIndexTable(DB_NAME, INDEX_TABLE_NAME));
-
-    Index resultIndex = client.getIndex(DB_NAME, TABLE_NAME, INDEX_NAME);
-    Assert.assertNotNull(resultIndex);
-    Assert.assertEquals(DB_NAME, resultIndex.getDbName());
-    Assert.assertEquals(TABLE_NAME, resultIndex.getOrigTableName());
-    Assert.assertEquals(INDEX_NAME, resultIndex.getIndexName());
-    Assert.assertEquals(INDEX_TABLE_NAME, resultIndex.getIndexTableName());
-    Assert.assertEquals(createTime, resultIndex.getLastAccessTime());
-    Assert.assertNotNull(resultIndex.getParameters());
-    Assert.assertEquals(indexParamValue, 
resultIndex.getParameters().get(indexParamKey));
-    Assert.assertEquals(indexHandlerName, resultIndex.getIndexHandlerClass());
-    StorageDescriptor sd = resultIndex.getSd();
-    Assert.assertNotNull(sd);
-    Map<String, FieldSchema> cols = new HashMap<>();
-    for (FieldSchema col : sd.getCols()) {
-      cols.put(col.getName(), col);
-    }
-    Assert.assertEquals(2, cols.size());
-    Assert.assertNotNull(cols.get("id"));
-    Assert.assertNotNull(cols.get("value"));
-    Assert.assertEquals("int", cols.get("id").getType());
-    Assert.assertEquals("string", cols.get("value").getType());
-    Assert.assertEquals(inputFormatName, sd.getInputFormat());
-    Assert.assertEquals(outputFormatName, sd.getOutputFormat());
-    Assert.assertEquals(INDEX_TABLE_NAME, sd.getSerdeInfo().getName());
-    Assert.assertNotNull(sd.getParameters());
-    Assert.assertEquals(sdParamValue, sd.getParameters().get(sdParamKey));
-
-    Table indexTable = client.getTable(DB_NAME, INDEX_TABLE_NAME);
-    Assert.assertNotNull(indexTable);
-    Assert.assertTrue(metaStore.isPathExists(new 
Path(indexTable.getSd().getLocation())));
-
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-    List<String> indexNames = client.listIndexNames(DB_NAME, TABLE_NAME, MAX);
-    Assert.assertNotNull(indexNames);
-    Assert.assertEquals(0, indexNames.size());
-    List<String> tableNames = client.listTableNamesByFilter(DB_NAME, "", MAX);
-    Assert.assertNotNull(tableNames);
-    Assert.assertFalse(tableNames.contains(INDEX_TABLE_NAME));
-    Assert.assertFalse(metaStore.isPathExists(new 
Path(indexTable.getSd().getLocation())));
-  }
-
-  // Create index tests
-
-  @Test
-  public void testCreateIndexesSameNameDifferentOrigAndIndexTables() throws 
Exception {
-
-    String origTableName1 = TABLE_NAME + "1";
-    String origTableName2 = TABLE_NAME + "2";
-    String indexNameTableName1 = origTableName1 + "__" + INDEX_NAME;
-    String indexNameTableName2 = origTableName2 + "__" + INDEX_NAME;
-    Table origTable1 = createTable(DB_NAME, origTableName1);
-    Table origTable2 = createTable(DB_NAME, origTableName2);
-
-    createIndex(DB_NAME, origTable1, INDEX_NAME, buildIndexTable(DB_NAME, 
indexNameTableName1));
-    createIndex(DB_NAME, origTable2, INDEX_NAME, buildIndexTable(DB_NAME, 
indexNameTableName2));
-
-    verifyIndex(DB_NAME, origTableName1, INDEX_NAME, indexNameTableName1);
-    verifyIndex(DB_NAME, origTableName2, INDEX_NAME, indexNameTableName2);
-
-    client.dropIndex(DB_NAME, origTableName1, INDEX_NAME, true);
-    client.dropIndex(DB_NAME, origTableName2, INDEX_NAME, true);
-  }
-
-  @Test
-  public void testCreateIndexStrangeCharsInName() throws Exception {
-
-    // TODO: Special character should not be allowed in index name.
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    String indexName = "§±!;@#$%^&*()_+}{|-=[]\':|?><";
-    createIndex(DB_NAME, origTable, indexName, indexTable);
-    verifyIndex(DB_NAME, TABLE_NAME, indexName, INDEX_TABLE_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, indexName, true);
-  }
-
-  @Test
-  public void testCreateIndexWithUpperCaseName() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    String indexName = "UPPERCASE_INDEX_NAME";
-    String indexTableName = "UPPERCASE_INDEX_TABLE_NAME";
-    Table indexTable = buildIndexTable(DB_NAME, indexTableName);
-    createIndex(DB_NAME, origTable, indexName, indexTable);
-    verifyIndex(DB_NAME, TABLE_NAME, indexName.toLowerCase(), 
indexTableName.toLowerCase());
-    client.dropIndex(DB_NAME, TABLE_NAME, indexName, true);
-  }
-
-  @Test(expected = AlreadyExistsException.class)
-  public void testCreateIndexesWithSameOrigAndIndexTable() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    createIndex(DB_NAME, origTable, INDEX_NAME, indexTable);
-    createIndex(DB_NAME, origTable, INDEX_NAME, indexTable);
-    checkIfIndexExists(DB_NAME, TABLE_NAME, INDEX_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = AlreadyExistsException.class)
-  public void testCreateIndexesWithSameNameAndOrigTableDifferentIndexTable() 
throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    String indexTableName1 = origTable.getTableName() + "__" + INDEX_NAME + 
"_1";
-    String indexTableName2 = origTable.getTableName() + "__" + INDEX_NAME + 
"_2";
-    createIndex(DB_NAME, origTable, INDEX_NAME, buildIndexTable(DB_NAME, 
indexTableName1));
-    createIndex(DB_NAME, origTable, INDEX_NAME, buildIndexTable(DB_NAME, 
indexTableName2));
-    checkIfIndexExists(DB_NAME, TABLE_NAME, INDEX_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexWithExistingIndexTable() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = createTable(DB_NAME, INDEX_TABLE_NAME);
-    createIndex(DB_NAME, origTable, INDEX_NAME, indexTable);
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testCreateIndexNullIndexTableName() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, null);
-    createIndex(DB_NAME, origTable, INDEX_NAME, indexTable);
-    checkIfIndexExists(DB_NAME, TABLE_NAME, INDEX_NAME);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexEmptyIndexTableName() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, "");
-    createIndex(DB_NAME, origTable, INDEX_NAME, indexTable);
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexesWithSameIndexTable() throws Exception {
-
-    String origTableName1 = "testindextable1";
-    String origTableName2 = "testindextable2";
-    String indexName1 = "testindex1";
-    String indexName2 = "testindex2";
-    String indexTableName = origTableName1 + "__" + indexName1;
-    Table origTable1 = createTable(DB_NAME, origTableName1);
-    Table origTable2 = createTable(DB_NAME, origTableName2);
-    Table indexTable = buildIndexTable(DB_NAME, indexTableName);
-
-    createIndex(DB_NAME, origTable1, indexName1, indexTable);
-    createIndex(DB_NAME, origTable2, indexName2, indexTable);
-
-    checkIfIndexExists(DB_NAME, origTableName1, indexName1);
-    checkIfIndexListEmpty(DB_NAME, origTableName2);
-    client.dropIndex(DB_NAME, origTableName1, indexName1, true);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexWithNonExistingDB() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    createIndex("nonexistingdb", origTable, INDEX_NAME, indexTable);
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testCreateIndexWithNullDBName() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    createIndex(null, origTable, INDEX_NAME, indexTable);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexNonExistingOrigTable() throws Exception {
-
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setOrigTableName("nonexistingtable");
-    client.createIndex(index, indexTable);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testCreateIndexNullOrigTable() throws Exception {
-
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setOrigTableName(null);
-    client.createIndex(index, indexTable);
-  }
-
-  @Test
-  public void testCreateIndexNullIndex() throws Exception {
-    // TODO: NPE should not be thrown.
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    try {
-      client.createIndex(null, indexTable);
-      Assert.fail("TTransportException or NullPointerException should have 
happened");
-    } catch (TTransportException | NullPointerException e) {
-      // Expected exception
-    }
-  }
-
-  @Test
-  public void testCreateIndexNullIndexTable() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(null)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .setDeferredRebuild(false)
-        .build();
-    client.createIndex(index, null);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexWithEmptyOrigTable() throws Exception {
-
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setOrigTableName("");
-    client.createIndex(index, indexTable);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexWithEmptyDBName() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setDbName("");
-    client.createIndex(index, buildIndexTable(DB_NAME, INDEX_TABLE_NAME));
-  }
-
-  @Test(expected = MetaException.class)
-  public void testCreateIndexNullIndexName() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setIndexTableName(null);
-    client.createIndex(index, buildIndexTable(DB_NAME, INDEX_TABLE_NAME));
-  }
-
-  @Test
-  public void testCreateIndexEmptyIndexName() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    createIndex(DB_NAME, origTable, "", indexTable);
-    checkIfIndexExists(DB_NAME, TABLE_NAME, "");
-    client.dropIndex(DB_NAME, TABLE_NAME, "", true);
-  }
-
-  @Test
-  public void testCreateIndexWithDifferentIndexTableName() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setIndexTableName("differentindextablename");
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    client.createIndex(index, indexTable);
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-    List<String> tableNames = client.listTableNamesByFilter(DB_NAME, "", MAX);
-    Assert.assertNotNull(tableNames);
-    Assert.assertEquals(1, tableNames.size());
-    Assert.assertEquals(TABLE_NAME, tableNames.get(0));
-    Assert.assertTrue(metaStore.isPathExists(new 
Path(indexTable.getSd().getLocation())));
-  }
-
-  @Test
-  public void testCreateIndexWithDifferentDBInIndexTableAndIndex() throws 
Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    String dbName = "second_index_db";
-    createDB(dbName);
-    Index index = buildIndexWithDefaultValues();
-    Table indexTable = buildIndexTable(dbName, INDEX_TABLE_NAME);
-    Assert.assertFalse(metaStore.isPathExists(new 
Path(indexTable.getSd().getLocation())));
-    client.createIndex(index, indexTable);
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-    checkIfIndexListEmpty(dbName, TABLE_NAME);
-    List<String> tableNames = client.listTableNamesByFilter(DB_NAME, "", MAX);
-    Assert.assertFalse(tableNames.contains(INDEX_TABLE_NAME));
-    tableNames = client.listTableNamesByFilter(dbName, "", MAX);
-    Assert.assertFalse(tableNames.contains(INDEX_TABLE_NAME));
-    Assert.assertTrue(metaStore.isPathExists(new 
Path(indexTable.getSd().getLocation())));
-    client.dropDatabase(dbName);
-  }
-
-  @Test
-  public void testCreateIndexDifferentColsInIndexAndIndexTable() throws 
Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    Index index = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(INDEX_TABLE_NAME)
-        .addCol("test_name", "string", "test col name")
-        .setDeferredRebuild(false)
-        .build();
-    client.createIndex(index, indexTable);
-
-    Index resultIndex = client.getIndex(DB_NAME, TABLE_NAME, INDEX_NAME);
-    Assert.assertNotNull(resultIndex);
-    Assert.assertEquals(INDEX_NAME, resultIndex.getIndexName());
-    Assert.assertEquals(TABLE_NAME, resultIndex.getOrigTableName());
-    Assert.assertEquals(INDEX_TABLE_NAME, resultIndex.getIndexTableName());
-    List<FieldSchema> colsInIndex = resultIndex.getSd().getCols();
-    Assert.assertEquals(1, colsInIndex.size());
-    Assert.assertEquals("test_name", colsInIndex.get(0).getName());
-
-    Table indexTableResult = client.getTable(DB_NAME, INDEX_TABLE_NAME);
-    Assert.assertNotNull(indexTableResult);
-    List<FieldSchema> colsInIndexTable = indexTableResult.getSd().getCols();
-    Assert.assertNotNull(colsInIndexTable);
-    Assert.assertEquals(2, colsInIndexTable.size());
-    Assert.assertEquals("id", colsInIndexTable.get(0).getName());
-    Assert.assertEquals("value", colsInIndexTable.get(1).getName());
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test
-  public void testCreateIndexWithNullSd() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setSd(null);
-    client.createIndex(index, buildIndexTable(DB_NAME, INDEX_TABLE_NAME));
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-  }
-
-  // Drop index tests
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexInvalidDB() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    client.dropIndex("nonexistingdb", TABLE_NAME, INDEX_NAME, true);
-    verifyIndex(DB_NAME, TABLE_NAME, INDEX_NAME, INDEX_TABLE_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexInvalidTable() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    client.dropIndex(DB_NAME, "wrongtablename", INDEX_NAME, true);
-    verifyIndex(DB_NAME, TABLE_NAME, INDEX_NAME, INDEX_TABLE_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexInvalidIndex() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, "invalidindexname", true);
-    verifyIndex(DB_NAME, TABLE_NAME, INDEX_NAME, INDEX_TABLE_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testDropIndexNullDBName() throws Exception {
-
-    client.dropIndex(null, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testDropIndexNullTableName() throws Exception {
-
-    client.dropIndex(DB_NAME, null, INDEX_NAME, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexNullIndexName() throws Exception {
-
-    client.dropIndex(DB_NAME, TABLE_NAME, null, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexEmptyDBName() throws Exception {
-
-    client.dropIndex("", TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexEmptyTableName() throws Exception {
-
-    client.dropIndex(DB_NAME, "", INDEX_NAME, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexEmptyIndexName() throws Exception {
-
-    client.dropIndex(DB_NAME, TABLE_NAME, "", true);
-  }
-
-  // Alter index tests
-
-  @Test
-  public void testAlterIndex() throws Exception {
-
-    // Only index parameters are allowed to be altered
-    String indexTableName = TABLE_NAME + "__" + INDEX_NAME + "__";
-    int oldCreateTime = (int) (System.currentTimeMillis() / 1000);
-    String oldHandlerClassName = "TestHandlerClass1";
-    String oldLocation = "/index/test/path1";
-    String oldInputFormat = "org.apache.hadoop.hive.ql.io.HiveInputFormat";
-    String oldOutputFormat = "org.apache.hadoop.hive.ql.io.HiveOutputFormat";
-    String oldIndexParamKey = "indexParamKey1";
-    String oldIndexParamValue = "indexParamValue1";
-    String oldIndexSdParamKey = "sdparamkey1";
-    String oldIndexSdParamValue = "sdparamvalue1";
-    Map<String, String> indexParams = new HashMap<String, String>();
-    indexParams.put(oldIndexParamKey, oldIndexParamValue);
-
-    createTable(DB_NAME, TABLE_NAME);
-
-    Index index = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(indexTableName)
-        .setCreateTime(oldCreateTime)
-        .setLastAccessTime(oldCreateTime)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .setDeferredRebuild(false)
-        .setIndexParams(indexParams)
-        .setHandlerClass(oldHandlerClassName)
-        .setLocation(oldLocation)
-        .setInputFormat(oldInputFormat)
-        .setOutputFormat(oldOutputFormat)
-        .addStorageDescriptorParam(oldIndexSdParamKey, oldIndexSdParamValue)
-        .build();
-    client.createIndex(index, buildIndexTable(DB_NAME, indexTableName));
-    Index oldIndex = client.getIndex(DB_NAME, TABLE_NAME, INDEX_NAME);
-
-    int newCreateTime = (int) (System.currentTimeMillis() / 1000);
-    String newHandlerClassName = "TestHandlerClass2";
-    String newLocation = "/index/test/path2";
-    String newInputFormat = "NewInputFormat";
-    String newOutputFormat = "NewOutputFormat";
-    String newIndexParamValue = "indexParamValue2";
-    String newIndexSdParamKey = "sdparamkey2";
-    String newIndexSdParamValue = "sdparamvalue2";
-    Map<String, String> newIndexParams = new HashMap<String, String>();
-    newIndexParams.put(oldIndexParamKey, newIndexParamValue);
-
-    Index newIndex = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(indexTableName)
-        .setCreateTime(newCreateTime)
-        .setLastAccessTime(newCreateTime)
-        .addCol("id", "int", "test col id")
-        .setDeferredRebuild(true)
-        .setIndexParams(newIndexParams)
-        .setHandlerClass(newHandlerClassName)
-        .setLocation(newLocation)
-        .setInputFormat(newInputFormat)
-        .setOutputFormat(newOutputFormat)
-        .addStorageDescriptorParam(newIndexSdParamKey, newIndexSdParamValue)
-        .build();
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, newIndex);
-
-    Index createdNewIndex = client.getIndex(DB_NAME, TABLE_NAME, INDEX_NAME);
-    // Check if the index parameters are changed
-    Map<String, String> params = createdNewIndex.getParameters();
-    Assert.assertEquals(newIndexParamValue, params.get(oldIndexParamKey));
-    // Reset the index parameters and compare the old and new indexes to
-    // check that the other attributes remained the same.
-    createdNewIndex.setParameters(oldIndex.getParameters());
-    Assert.assertEquals(oldIndex, createdNewIndex);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNonExistingIndex() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNonExistingDb() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index("nonexistingdb", TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNonExistingTable() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNullIndexName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, TABLE_NAME, null, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNullDbName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(null, TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNullTableName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, null, INDEX_NAME, index);
-  }
-
-  @Test
-  public void testAlterIndexNullIndex() throws Exception {
-
-    try {
-      client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, null);
-      Assert.fail("Exception should have happened");
-    } catch (TTransportException | NullPointerException e) {
-      // TODO: NPE should not be thrown.
-    }
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexEmptyIndexName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, TABLE_NAME, "", index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexEmptyDbName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index("", TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexEmptyTableName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, "", INDEX_NAME, index);
-  }
-
-  @Test(expected = InvalidOperationException.class)
-  public void testAlterIndexNullSd() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setSd(null);
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = InvalidOperationException.class)
-  public void testAlterIndexDifferentIndexTable() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setIndexTableName("newindextable");
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  public void testAlterIndexNullIndexNameInNewIndex() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    Index index = new IndexBuilder()
-        .setDbName(null)
-        .setTableName(null)
-        .setIndexName(null)
-        .setIndexTableName(null)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .setDeferredRebuild(false)
-        .build();
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-
-    Index resultIndex = client.getIndex(DB_NAME, TABLE_NAME, INDEX_NAME);
-    Assert.assertNotNull(resultIndex);
-    Assert.assertEquals(DB_NAME, resultIndex.getDbName());
-    Assert.assertEquals(TABLE_NAME, resultIndex.getOrigTableName());
-    Assert.assertEquals(INDEX_NAME, resultIndex.getIndexName());
-    Assert.assertEquals(INDEX_TABLE_NAME, resultIndex.getIndexTableName());
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected=MetaException.class)
-  public void testAlterIndexNullCols() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    Index index = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(INDEX_TABLE_NAME)
-        .setCols(null)
-        .build();
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  // Helper methods
-
-  private Table createTable(String dbName, String tableName) throws Exception {
-    Table table = buildTable(dbName, tableName, null);
-    client.createTable(table);
-    return table;
-  }
-
-  private Table buildIndexTable(String dbName, String tableName) throws 
Exception {
-    return buildTable(dbName, tableName, TableType.INDEX_TABLE);
-  }
-
-  private Table buildTable(String dbName, String tableName, TableType 
tableType) throws Exception {
-    TableBuilder tableBuilder = new TableBuilder()
-        .setDbName(dbName)
-        .setTableName(tableName)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .addStorageDescriptorParam("testSDParamKey", "testSDParamValue")
-        .setSerdeName(tableName)
-        .setStoredAsSubDirectories(false)
-        .addSerdeParam("testSerdeParamKey", "testSerdeParamValue")
-        .setLocation(metaStore.getWarehouseRoot() + "/" + tableName);
-
-    if (tableType != null) {
-      tableBuilder.setType(tableType.name());
-    }
-
-    return tableBuilder.build();
-  }
-
-  private void createIndex(String indexName, String origTableName) throws 
Exception {
-    Table origTable = createTable(DB_NAME, origTableName);
-    String indexTableName = origTableName + "__" + indexName + "__";
-    createIndex(DB_NAME, origTable, indexName, buildTable(DB_NAME, 
indexTableName,
-            TableType.INDEX_TABLE));
-  }
-
-  private void createIndex(String dbName, Table origTable, String indexName, 
Table indexTable)
-      throws Exception {
-    int createTime = (int) (System.currentTimeMillis() / 1000);
-    Map<String, String> params = new HashMap<String, String>();
-    params.put("indexParamKey", "indexParamValue");
-
-    Index index =
-        buildIndex(dbName, origTable.getTableName(), indexName, 
indexTable.getTableName());
-    index.setCreateTime(createTime);
-    index.setLastAccessTime(createTime);
-    index.setParameters(params);
-    client.createIndex(index, indexTable);
-  }
-
-  private Index buildIndexWithDefaultValues() throws MetaException {
-    return buildIndex(DB_NAME, TABLE_NAME, INDEX_NAME, INDEX_TABLE_NAME);
-  }
-
-  private Index buildIndex(String dbName, String origTableName, String 
indexName,
-      String indexTableName) throws MetaException {
-    Index index = new IndexBuilder()
-        .setDbName(dbName)
-        .setTableName(origTableName)
-        .setIndexName(indexName)
-        .setIndexTableName(indexTableName)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .setDeferredRebuild(false)
-        .build();
-    return index;
-  }
-
-  private void createDB(String dbName) throws TException {
-    Database db = new DatabaseBuilder().
-        setName(dbName).
-        build();
-    client.createDatabase(db);
-  }
-
-  private void checkIfIndexListEmpty(String dbName, String origTableName)
-      throws MetaException, TException {
-    List<String> indexes = client.listIndexNames(dbName, origTableName, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  private void checkIfIndexExists(String dbName, String origTableName, String 
indexName)
-      throws MetaException, TException {
-    List<String> indexes = client.listIndexNames(dbName, origTableName, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertEquals(1, indexes.size());
-    Assert.assertEquals(indexName, indexes.get(0));
-  }
-
-  private void verifyIndex(String dbName, String origTableName, String 
indexName,
-      String indexTableName)
-      throws MetaException, UnknownTableException, NoSuchObjectException, 
TException {
-    Index index = client.getIndex(dbName, origTableName, indexName);
-    Assert.assertNotNull(index);
-    Assert.assertEquals(dbName, index.getDbName());
-    Assert.assertEquals(origTableName, index.getOrigTableName());
-    Assert.assertEquals(indexName, index.getIndexName());
-    Assert.assertEquals(indexTableName, index.getIndexTableName());
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestDatabases.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestDatabases.java
 
b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestDatabases.java
index 8f97b19..f2d745e 100644
--- 
a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestDatabases.java
+++ 
b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestDatabases.java
@@ -20,12 +20,10 @@ package org.apache.hadoop.hive.metastore.client;
 
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.metastore.IMetaStoreClient;
-import org.apache.hadoop.hive.metastore.TableType;
 import org.apache.hadoop.hive.metastore.annotation.MetastoreCheckinTest;
 import org.apache.hadoop.hive.metastore.api.AlreadyExistsException;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.Function;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
 import org.apache.hadoop.hive.metastore.api.MetaException;
@@ -34,10 +32,8 @@ import org.apache.hadoop.hive.metastore.api.PrincipalType;
 import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.hadoop.hive.metastore.client.builder.DatabaseBuilder;
 import org.apache.hadoop.hive.metastore.client.builder.FunctionBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.IndexBuilder;
 import org.apache.hadoop.hive.metastore.client.builder.TableBuilder;
 import org.apache.hadoop.hive.metastore.minihms.AbstractMetaStoreService;
-import org.apache.thrift.TException;
 import org.apache.thrift.transport.TTransportException;
 import org.junit.After;
 import org.junit.Assert;
@@ -378,72 +374,6 @@ public class TestDatabases extends MetaStoreClientTest {
         metaStore.isPathExists(new Path(database.getLocationUri())));
   }
 
-  /**
-   * Creates an index in the given database for testing purposes.
-   * @param databaseName The database name in which the index should be creatd
-   * @throws TException If there is an error during the index creation
-   */
-  private void createIndex(String databaseName) throws TException {
-    Table testTable =
-        new TableBuilder()
-            .setDbName(databaseName)
-            .setTableName("test_table")
-            .addCol("test_col", "int")
-            .build();
-
-    Index testIndex =
-        new IndexBuilder()
-            .setIndexName("test_index")
-            .setIndexTableName("test_index_table")
-            .setDbAndTableName(testTable)
-            .addCol("test_col", "int")
-            .build();
-    Table testIndexTable =
-        new TableBuilder()
-            .setDbName(databaseName)
-            .setType(TableType.INDEX_TABLE.name())
-            .setTableName("test_index_table")
-            .addCol("test_col", "int")
-            .build();
-
-    // Drop database with index
-    client.createTable(testTable);
-    client.createIndex(testIndex, testIndexTable);
-  }
-
-  @Test
-  public void testDropDatabaseWithIndex() throws Exception {
-    Database database = testDatabases[0];
-    createIndex(database.getName());
-
-    // TODO: Known error, should be fixed
-    // client.dropDatabase(database.getName(), true, true, true);
-    // Need to drop index to clean up the mess
-    try {
-      // Without cascade
-      client.dropDatabase(database.getName(), true, true, false);
-      Assert.fail("Expected an InvalidOperationException to be thrown");
-    } catch (InvalidOperationException exception) {
-      // Expected exception
-    }
-    client.dropIndex(database.getName(), "test_table", "test_index", true);
-    // TODO: End index hack
-  }
-
-  @Test
-  public void testDropDatabaseWithIndexCascade() throws Exception {
-    Database database = testDatabases[0];
-    createIndex(database.getName());
-
-    // With cascade
-    // TODO: Known error, should be fixed
-    // client.dropDatabase(database.getName(), true, true, true);
-    // Need to drop index to clean up the mess
-    client.dropIndex(database.getName(), "test_table", "test_index", true);
-    client.dropDatabase(database.getName(), true, true, true);
-    Assert.assertFalse("The directory should be removed",
-        metaStore.isPathExists(new Path(database.getLocationUri())));
-  }
 
   @Test
   public void testGetAllDatabases() throws Exception {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestGetListIndexes.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestGetListIndexes.java
 
b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestGetListIndexes.java
deleted file mode 100644
index 5d226a8..0000000
--- 
a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestGetListIndexes.java
+++ /dev/null
@@ -1,442 +0,0 @@
-/*
- * 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.
- */
-package org.apache.hadoop.hive.metastore.client;
-
-import java.util.List;
-
-import org.apache.hadoop.hive.metastore.IMetaStoreClient;
-import org.apache.hadoop.hive.metastore.TableType;
-import org.apache.hadoop.hive.metastore.annotation.MetastoreCheckinTest;
-import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
-import org.apache.hadoop.hive.metastore.api.Table;
-import org.apache.hadoop.hive.metastore.client.builder.DatabaseBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.IndexBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.TableBuilder;
-import org.apache.hadoop.hive.metastore.minihms.AbstractMetaStoreService;
-import org.apache.thrift.TException;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-import com.google.common.collect.Lists;
-
-/**
- * Tests for getting and listing indexes.
- */
-@RunWith(Parameterized.class)
-@Category(MetastoreCheckinTest.class)
-public class TestGetListIndexes extends MetaStoreClientTest {
-  private AbstractMetaStoreService metaStore;
-  private IMetaStoreClient client;
-
-  private static final String DB_NAME_1 = "testindexdb_1";
-  private static final String DB_NAME_2 = "testindexdb_2";
-  private static final String ORIG_TABLE_NAME_1 = "testindextable_1";
-  private static final String ORIG_TABLE_NAME_2 = "testindextable_2";
-  private static final String ORIG_TABLE_NAME_3 = "testindextable_3";
-  private static final String INDEX_NAME_1 = "testindexname_1";
-  private static final String INDEX_NAME_2 = "testindexname_2";
-  private static final String INDEX_NAME_3 = "testindexname_3";
-  private static final String INDEX_NAME_4 = "testindexname_4";
-  private static final String INDEX_NAME_5 = "testindexname_4";
-  private static final Index[] INDEXES = new Index[5];
-  private static final short MAX = -1;
-
-  public TestGetListIndexes(String name, AbstractMetaStoreService metaStore) {
-    this.metaStore = metaStore;
-  }
-
-  @Before
-  public void setUp() throws Exception {
-    // Get new client
-    client = metaStore.getClient();
-
-    // Clean up the database
-    client.dropDatabase(DB_NAME_1, true, true, true);
-    client.dropDatabase(DB_NAME_2, true, true, true);
-    metaStore.cleanWarehouseDirs();
-
-    createDB(DB_NAME_1);
-    createDB(DB_NAME_2);
-
-    Table origTable1 = createTable(DB_NAME_1, ORIG_TABLE_NAME_1);
-    Table origTable2 = createTable(DB_NAME_1, ORIG_TABLE_NAME_2);
-    Table origTable3 = createTable(DB_NAME_2, ORIG_TABLE_NAME_1);
-    createTable(DB_NAME_1, ORIG_TABLE_NAME_3);
-
-    INDEXES[0] = createIndex(origTable1, INDEX_NAME_1);
-    INDEXES[1] = createIndex(origTable1, INDEX_NAME_2);
-    INDEXES[2] = createIndex(origTable1, INDEX_NAME_3);
-    INDEXES[3] = createIndex(origTable2, INDEX_NAME_4);
-    INDEXES[4] = createIndex(origTable3, INDEX_NAME_5);
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    try {
-      for (Index index : INDEXES) {
-        client.dropIndex(index.getDbName(), index.getOrigTableName(), 
index.getIndexName(), true);
-      }
-
-      if (client != null) {
-        client.close();
-      }
-    } finally {
-      client = null;
-    }
-  }
-
-  // Get index tests
-
-  public void testGetIndex() throws Exception {
-
-    Index indexToGet = INDEXES[0];
-    Index index = client.getIndex(indexToGet.getDbName(), 
indexToGet.getOrigTableName(),
-        indexToGet.getIndexName());
-    Assert.assertNotNull(index);
-    Assert.assertEquals(indexToGet, index);
-
-    indexToGet = INDEXES[4];
-    index = client.getIndex(indexToGet.getDbName(), 
indexToGet.getOrigTableName(),
-        indexToGet.getIndexName());
-    Assert.assertNotNull(index);
-    Assert.assertEquals(indexToGet, index);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetNonExistingIndex() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), index.getOrigTableName(), 
"nonexisingindex");
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetIndexNonExistingTable() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), "nonexistingtable", 
index.getIndexName());
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetIndexNonExistingDatabase() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex("nonexistingdb", index.getOrigTableName(), 
index.getIndexName());
-  }
-
-  @Test(expected = MetaException.class)
-  public void testGetIndexNullName() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), index.getOrigTableName(), null);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testGetIndexNullTableName() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), null, index.getIndexName());
-  }
-
-  @Test(expected = MetaException.class)
-  public void testGetIndexNullDBName() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex(null, index.getOrigTableName(), index.getIndexName());
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetIndexEmptyName() throws Exception {
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), index.getOrigTableName(), "");
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetIndexEmptyTableName() throws Exception {
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), "", index.getIndexName());
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetIndexEmptyDBName() throws Exception {
-    Index index = INDEXES[0];
-    client.getIndex("", index.getOrigTableName(), index.getIndexName());
-  }
-
-  // List index tests
-
-  @Test
-  public void testListIndexes() throws Exception {
-
-    List<Index> indexes = client.listIndexes(DB_NAME_1, ORIG_TABLE_NAME_1, 
MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertEquals(3, indexes.size());
-    for (Index index : indexes) {
-      if (INDEX_NAME_1.equals(index.getIndexName())) {
-        Assert.assertEquals(INDEXES[0], index);
-      } else if (INDEX_NAME_2.equals(index.getIndexName())) {
-        Assert.assertEquals(INDEXES[1], index);
-      } else {
-        Assert.assertEquals(INDEXES[2], index);
-      }
-    }
-
-    indexes = client.listIndexes(DB_NAME_1, ORIG_TABLE_NAME_2, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertEquals(1, indexes.size());
-    Assert.assertEquals(INDEXES[3], indexes.get(0));
-
-    indexes = client.listIndexes(DB_NAME_2, ORIG_TABLE_NAME_1, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertEquals(1, indexes.size());
-    Assert.assertEquals(INDEXES[4], indexes.get(0));
-  }
-
-  @Test
-  public void testListIndexesEmptyList() throws Exception {
-
-    List<Index> indexes = client.listIndexes(DB_NAME_1, ORIG_TABLE_NAME_3, 
MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexesInvalidDb() throws Exception {
-
-    List<Index> indexes = client.listIndexes("nonexistingdb", 
INDEXES[0].getOrigTableName(), MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexesInvalidTable() throws Exception {
-
-    List<Index> indexes = client.listIndexes(INDEXES[0].getDbName(), 
"nonexsitingtable", MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test(expected = MetaException.class)
-  public void testListIndexesNullDb() throws Exception {
-
-    client.listIndexes(null, INDEXES[0].getOrigTableName(), MAX);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testListIndexesNullTable() throws Exception {
-
-    client.listIndexes(INDEXES[0].getDbName(), null, MAX);
-  }
-
-  @Test
-  public void testListIndexesEmptyDb() throws Exception {
-
-    List<Index> indexes = client.listIndexes("", 
INDEXES[0].getOrigTableName(), MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexesEmptyTable() throws Exception {
-
-    List<Index> indexes = client.listIndexes(INDEXES[0].getDbName(), "", MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexesWithDifferentNums() throws Exception {
-
-    Index index = INDEXES[0];
-    checkListIndexes(index.getDbName(), index.getOrigTableName(), (short) 2);
-    checkListIndexes(index.getDbName(), index.getOrigTableName(), (short) 1);
-    checkListIndexes(index.getDbName(), index.getOrigTableName(), (short) 0);
-    checkListIndexes(index.getDbName(), index.getOrigTableName(), (short) -1);
-  }
-
-  // List index names tests
-
-  @Test
-  public void testListIndexNames() throws Exception {
-
-    List<String> indexNames = client.listIndexNames(DB_NAME_1, 
ORIG_TABLE_NAME_1, MAX);
-    Assert.assertNotNull(indexNames);
-    Assert.assertEquals(3, indexNames.size());
-    List<String> expectedIndexNames = 
Lists.newArrayList(INDEXES[0].getIndexName(),
-        INDEXES[1].getIndexName(), INDEXES[2].getIndexName());
-    Assert.assertEquals(expectedIndexNames, indexNames);
-
-    indexNames = client.listIndexNames(DB_NAME_1, ORIG_TABLE_NAME_2, MAX);
-    Assert.assertNotNull(indexNames);
-    Assert.assertEquals(1, indexNames.size());
-    Assert.assertEquals(INDEXES[3].getIndexName(), indexNames.get(0));
-
-    indexNames = client.listIndexNames(DB_NAME_2, ORIG_TABLE_NAME_1, MAX);
-    Assert.assertNotNull(indexNames);
-    Assert.assertEquals(1, indexNames.size());
-    Assert.assertEquals(INDEXES[4].getIndexName(), indexNames.get(0));
-  }
-
-  @Test
-  public void testListIndexNamesEmptyList() throws Exception {
-
-    List<String> indexes = client.listIndexNames(DB_NAME_1, ORIG_TABLE_NAME_3, 
MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexNamesInvalidDb() throws Exception {
-
-    List<String> indexes =
-        client.listIndexNames("nonexistingdb", INDEXES[0].getOrigTableName(), 
MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexNamesInvalidTable() throws Exception {
-
-    List<String> indexes = client.listIndexNames(INDEXES[0].getDbName(), 
"nonexsitingtable", MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test(expected = MetaException.class)
-  public void testListIndexNamesNullDb() throws Exception {
-
-    client.listIndexNames(null, INDEXES[0].getOrigTableName(), MAX);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testListIndexNamesNullTable() throws Exception {
-
-    client.listIndexNames(INDEXES[0].getDbName(), null, MAX);
-  }
-
-  @Test
-  public void testListIndexNamesEmptyDb() throws Exception {
-
-    List<String> indexes = client.listIndexNames("", 
INDEXES[0].getOrigTableName(), MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexNamesEmptyTable() throws Exception {
-
-    List<String> indexes = client.listIndexNames(INDEXES[0].getDbName(), "", 
MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexNamesWithDifferentNums() throws Exception {
-
-    Index index = INDEXES[0];
-    checkListIndexNames(index.getDbName(), index.getOrigTableName(), (short) 
2);
-    checkListIndexNames(index.getDbName(), index.getOrigTableName(), (short) 
1);
-    checkListIndexNames(index.getDbName(), index.getOrigTableName(), (short) 
0);
-    checkListIndexNames(index.getDbName(), index.getOrigTableName(), (short) 
-1);
-  }
-
-  // Helper methods
-
-  private Table createTable(String dbName, String tableName) throws Exception {
-    Table table = buildTable(dbName, tableName, null);
-    client.createTable(table);
-    return table;
-  }
-
-  private Table buildIndexTable(String dbName, String tableName) throws 
Exception {
-    return buildTable(dbName, tableName, TableType.INDEX_TABLE);
-  }
-
-  private Table buildTable(String dbName, String tableName, TableType 
tableType) throws Exception {
-    TableBuilder tableBuilder = new TableBuilder()
-        .setDbName(dbName)
-        .setTableName(tableName)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .addStorageDescriptorParam("testSDParamKey", "testSDParamValue")
-        .setSerdeName(tableName)
-        .setStoredAsSubDirectories(false)
-        .addSerdeParam("testSerdeParamKey", "testSerdeParamValue")
-        .setLocation(metaStore.getWarehouseRoot() + "/" + tableName);
-
-    if (tableType != null){
-      tableBuilder.setType(tableType.name());
-    }
-
-    return tableBuilder.build();
-  }
-
-  private Index createIndex(Table origTable, String indexName) throws 
Exception {
-
-    String dbName = origTable.getDbName();
-    String origTableName = origTable.getTableName();
-    String indexTableName = origTableName + "__" + indexName + "__";
-    Index index = buildIndex(dbName, origTableName, indexName, indexTableName);
-    client.createIndex(index, buildTable(dbName, indexTableName, 
TableType.INDEX_TABLE));
-    return client.getIndex(dbName, origTableName, indexName);
-  }
-
-  private Index buildIndex(String dbName, String origTableName, String 
indexName,
-      String indexTableName) throws MetaException {
-    Index index = new IndexBuilder()
-        .setDbName(dbName)
-        .setTableName(origTableName)
-        .setIndexName(indexName)
-        .setIndexTableName(indexTableName)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .addIndexParam("test_get_index_param_key", 
"test_get_index_param_value")
-        .setDeferredRebuild(false)
-        .build();
-    return index;
-  }
-
-  private void createDB(String dbName) throws TException {
-    Database db = new DatabaseBuilder()
-        .setName(dbName)
-        .build();
-    client.createDatabase(db);
-  }
-
-  private void checkListIndexNames(String dbName, String origTableName, short 
num)
-      throws Exception {
-    List<String> indexNames = client.listIndexNames(dbName, origTableName, 
num);
-    Assert.assertNotNull(indexNames);
-    // TODO: The num parameter doesn't have any effect
-    Assert.assertEquals(3, indexNames.size());
-  }
-
-  private void checkListIndexes(String dbName, String origTableName, short 
num) throws Exception {
-    List<Index> indexes = client.listIndexes(dbName, origTableName, num);
-    Assert.assertNotNull(indexes);
-    // TODO: The num parameter doesn't have any effect
-    Assert.assertEquals(3, indexes.size());
-  }
-}

Reply via email to