HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by 
Ashutosh Chauhan)

Signed-off-by: Zoltan Haindrich <k...@rxd.hu>


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/7c22d74c
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/7c22d74c
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/7c22d74c

Branch: refs/heads/master
Commit: 7c22d74c8d0eb0650adf6e84e0536127c103e46c
Parents: 31e36f0
Author: Zoltan Haindrich <k...@rxd.hu>
Authored: Wed Mar 7 08:51:03 2018 +0100
Committer: Zoltan Haindrich <k...@rxd.hu>
Committed: Wed Mar 7 08:51:48 2018 +0100

----------------------------------------------------------------------
 .../hcatalog/mapreduce/HCatOutputFormat.java    |     9 -
 .../listener/DbNotificationListener.java        |    54 +-
 .../hcatalog/messaging/AlterIndexMessage.java   |    35 -
 .../hcatalog/messaging/CreateIndexMessage.java  |    35 -
 .../hcatalog/messaging/DropIndexMessage.java    |    35 -
 .../hcatalog/messaging/HCatEventMessage.java    |    14 +-
 .../hcatalog/messaging/MessageDeserializer.java |    23 -
 .../hive/hcatalog/messaging/MessageFactory.java |    25 -
 .../messaging/json/JSONAlterIndexMessage.java   |    89 -
 .../messaging/json/JSONCreateIndexMessage.java  |    82 -
 .../messaging/json/JSONDropIndexMessage.java    |    82 -
 .../messaging/json/JSONMessageDeserializer.java |    33 -
 .../messaging/json/JSONMessageFactory.java      |    48 +-
 .../listener/DummyRawStoreFailEvent.java        |    48 -
 .../listener/TestDbNotificationListener.java    |   253 +-
 .../org/apache/hadoop/hive/ql/QTestUtil.java    |     5 -
 .../upgrade/hive/hive-schema-3.0.0.hive.sql     |    48 -
 .../org/apache/hadoop/hive/ql/ErrorMsg.java     |     1 -
 .../apache/hadoop/hive/ql/metadata/Table.java   |    25 +-
 .../hive/ql/parse/DDLSemanticAnalyzer.java      |     4 -
 .../hadoop/hive/ql/parse/SemanticAnalyzer.java  |     7 +-
 .../AuthorizationPreEventListener.java          |     2 -
 .../hadoop/hive/ql/metadata/TestHive.java       |     2 -
 .../clientpositive/llap/resourceplan.q.out      |   104 -
 .../gen/thrift/gen-cpp/ThriftHiveMetastore.cpp  |  9982 ++++++----------
 .../gen/thrift/gen-cpp/ThriftHiveMetastore.h    |  1318 +--
 .../ThriftHiveMetastore_server.skeleton.cpp     |    30 -
 .../gen/thrift/gen-cpp/hive_metastore_types.cpp |  4871 ++++----
 .../gen/thrift/gen-cpp/hive_metastore_types.h   |   152 -
 .../hive/metastore/api/AbortTxnsRequest.java    |    32 +-
 .../api/AddDefaultConstraintRequest.java        |    36 +-
 .../metastore/api/AddDynamicPartitions.java     |    32 +-
 .../metastore/api/AddForeignKeyRequest.java     |    36 +-
 .../api/AddNotNullConstraintRequest.java        |    36 +-
 .../metastore/api/AddPartitionsRequest.java     |    36 +-
 .../hive/metastore/api/AddPartitionsResult.java |    36 +-
 .../metastore/api/AddPrimaryKeyRequest.java     |    36 +-
 .../api/AddUniqueConstraintRequest.java         |    36 +-
 .../hadoop/hive/metastore/api/AggrStats.java    |    36 +-
 .../api/AllocateTableWriteIdsRequest.java       |    32 +-
 .../api/AllocateTableWriteIdsResponse.java      |    36 +-
 .../metastore/api/ClearFileMetadataRequest.java |    32 +-
 .../hive/metastore/api/ClientCapabilities.java  |    32 +-
 .../hive/metastore/api/ColumnStatistics.java    |    36 +-
 .../hive/metastore/api/CompactionRequest.java   |    44 +-
 .../hive/metastore/api/CreationMetadata.java    |    32 +-
 .../api/DefaultConstraintsResponse.java         |    36 +-
 .../metastore/api/DropPartitionsResult.java     |    36 +-
 .../hive/metastore/api/EnvironmentContext.java  |    44 +-
 .../hive/metastore/api/FireEventRequest.java    |    32 +-
 .../hive/metastore/api/ForeignKeysResponse.java |    36 +-
 .../hadoop/hive/metastore/api/Function.java     |    36 +-
 .../metastore/api/GetAllFunctionsResponse.java  |    36 +-
 .../api/GetFileMetadataByExprRequest.java       |    32 +-
 .../api/GetFileMetadataByExprResult.java        |    48 +-
 .../metastore/api/GetFileMetadataRequest.java   |    32 +-
 .../metastore/api/GetFileMetadataResult.java    |    44 +-
 .../metastore/api/GetOpenTxnsInfoResponse.java  |    36 +-
 .../hive/metastore/api/GetOpenTxnsResponse.java |    32 +-
 .../hive/metastore/api/GetTablesRequest.java    |    32 +-
 .../hive/metastore/api/GetTablesResult.java     |    36 +-
 .../metastore/api/GetValidWriteIdsRequest.java  |    32 +-
 .../metastore/api/GetValidWriteIdsResponse.java |    36 +-
 .../api/HeartbeatTxnRangeResponse.java          |    64 +-
 .../apache/hadoop/hive/metastore/api/Index.java |  1374 ---
 .../api/IndexAlreadyExistsException.java        |   395 -
 .../metastore/api/InsertEventRequestData.java   |    64 +-
 .../hadoop/hive/metastore/api/LockRequest.java  |    36 +-
 .../hive/metastore/api/Materialization.java     |    32 +-
 .../api/NotNullConstraintsResponse.java         |    36 +-
 .../api/NotificationEventResponse.java          |    36 +-
 .../hive/metastore/api/OpenTxnsResponse.java    |    32 +-
 .../metastore/api/PartitionValuesRequest.java   |    72 +-
 .../metastore/api/PartitionValuesResponse.java  |    36 +-
 .../hive/metastore/api/PartitionValuesRow.java  |    32 +-
 .../metastore/api/PartitionsByExprResult.java   |    36 +-
 .../metastore/api/PartitionsStatsRequest.java   |    64 +-
 .../metastore/api/PartitionsStatsResult.java    |    76 +-
 .../hive/metastore/api/PrimaryKeysResponse.java |    36 +-
 .../metastore/api/PutFileMetadataRequest.java   |    64 +-
 .../hive/metastore/api/RequestPartsSpec.java    |    68 +-
 .../hadoop/hive/metastore/api/Schema.java       |    80 +-
 .../api/SetPartitionsStatsRequest.java          |    36 +-
 .../hive/metastore/api/ShowCompactResponse.java |    36 +-
 .../hive/metastore/api/ShowLocksResponse.java   |    36 +-
 .../hive/metastore/api/TableStatsRequest.java   |    32 +-
 .../hive/metastore/api/TableStatsResult.java    |    36 +-
 .../hive/metastore/api/TableValidWriteIds.java  |    32 +-
 .../hive/metastore/api/ThriftHiveMetastore.java | 10346 ++---------------
 .../api/UniqueConstraintsResponse.java          |    36 +-
 .../hive/metastore/api/WMFullResourcePlan.java  |   144 +-
 .../api/WMGetAllResourcePlanResponse.java       |    36 +-
 .../WMGetTriggersForResourePlanResponse.java    |    36 +-
 .../api/WMValidateResourcePlanResponse.java     |    64 +-
 .../gen-php/metastore/ThriftHiveMetastore.php   |  4545 ++------
 .../src/gen/thrift/gen-php/metastore/Types.php  |  1890 ++-
 .../hive_metastore/ThriftHiveMetastore-remote   |    42 -
 .../hive_metastore/ThriftHiveMetastore.py       |  3882 ++-----
 .../gen/thrift/gen-py/hive_metastore/ttypes.py  |  1255 +-
 .../gen/thrift/gen-rb/hive_metastore_types.rb   |    55 -
 .../gen/thrift/gen-rb/thrift_hive_metastore.rb  |   419 -
 .../DefaultMetaStoreFilterHookImpl.java         |    16 -
 .../hadoop/hive/metastore/HiveMetaStore.java    |   420 +-
 .../hive/metastore/HiveMetaStoreClient.java     |   154 +-
 .../hadoop/hive/metastore/IMetaStoreClient.java |    75 +-
 .../hive/metastore/MetaStoreEventListener.java  |    24 -
 .../hive/metastore/MetaStoreFilterHook.java     |    18 -
 .../metastore/MetaStoreListenerNotifier.java    |    21 -
 .../hadoop/hive/metastore/ObjectStore.java      |   223 +-
 .../apache/hadoop/hive/metastore/RawStore.java  |    17 -
 .../apache/hadoop/hive/metastore/TableType.java |     2 +-
 .../hive/metastore/cache/CachedStore.java       |   117 +-
 .../metastore/client/builder/IndexBuilder.java  |   109 -
 .../metastore/client/builder/TableBuilder.java  |    21 +-
 .../hive/metastore/events/AddIndexEvent.java    |    40 -
 .../hive/metastore/events/AlterIndexEvent.java  |    46 -
 .../hive/metastore/events/DropIndexEvent.java   |    40 -
 .../hive/metastore/events/PreAddIndexEvent.java |    41 -
 .../metastore/events/PreAlterIndexEvent.java    |    47 -
 .../metastore/events/PreDropIndexEvent.java     |    40 -
 .../hive/metastore/events/PreEventContext.java  |     3 -
 .../metastore/messaging/AlterIndexMessage.java  |    33 -
 .../metastore/messaging/CreateIndexMessage.java |    46 -
 .../metastore/messaging/DropIndexMessage.java   |    46 -
 .../hive/metastore/messaging/EventMessage.java  |    13 +-
 .../messaging/MessageDeserializer.java          |    21 -
 .../metastore/messaging/MessageFactory.java     |    26 -
 .../messaging/json/JSONAlterIndexMessage.java   |    98 -
 .../messaging/json/JSONCreateIndexMessage.java  |    87 -
 .../messaging/json/JSONDropIndexMessage.java    |    90 -
 .../messaging/json/JSONMessageDeserializer.java |    33 -
 .../messaging/json/JSONMessageFactory.java      |    27 +-
 .../hive/metastore/utils/MetaStoreUtils.java    |    43 +-
 .../src/main/thrift/hive_metastore.thrift       |    32 -
 .../hadoop/hive/metastore/DummyListener.java    |    18 -
 .../DummyRawStoreControlledCommit.java          |    36 -
 .../DummyRawStoreForJdoConnection.java          |    49 +-
 .../hadoop/hive/metastore/TestFilterHooks.java  |    51 +-
 .../metastore/TestMetaStoreEventListener.java   |    85 -
 .../TestMetaStoreEventListenerWithOldConf.java  |    54 +-
 .../hadoop/hive/metastore/TestObjectStore.java  |     7 -
 .../client/TestAddAlterDropIndexes.java         |   845 --
 .../hive/metastore/client/TestDatabases.java    |    70 -
 .../metastore/client/TestGetListIndexes.java    |   442 -
 144 files changed, 12422 insertions(+), 35523 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java
 
b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java
index 166b565..8b75782 100644
--- 
a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java
+++ 
b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java
@@ -35,7 +35,6 @@ import org.apache.hadoop.hive.metastore.IMetaStoreClient;
 import org.apache.hadoop.hive.ql.io.AcidUtils;
 import org.apache.hadoop.hive.ql.metadata.HiveStorageHandler;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.StorageDescriptor;
 import org.apache.hadoop.hive.ql.metadata.Table;
 import org.apache.hadoop.io.WritableComparable;
@@ -92,14 +91,6 @@ public class HCatOutputFormat extends HCatBaseOutputFormat {
       Table table = HCatUtil.getTable(client, outputJobInfo.getDatabaseName(),
         outputJobInfo.getTableName());
 
-      List<String> indexList = 
client.listIndexNames(outputJobInfo.getDatabaseName(), 
outputJobInfo.getTableName(), Short.MAX_VALUE);
-
-      for (String indexName : indexList) {
-        Index index = client.getIndex(outputJobInfo.getDatabaseName(), 
outputJobInfo.getTableName(), indexName);
-        if (!index.isDeferredRebuild()) {
-          throw new HCatException(ErrorType.ERROR_NOT_SUPPORTED, "Store into a 
table with an automatic index from Pig/Mapreduce is not supported");
-        }
-      }
       StorageDescriptor sd = table.getTTable().getSd();
 
       if (sd.isCompressed()) {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
index 39d97fc..d647181 100644
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
+++ 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
@@ -36,7 +36,6 @@ import 
org.apache.hadoop.hive.metastore.TransactionalMetaStoreEventListener;
 import org.apache.hadoop.hive.metastore.Warehouse;
 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.MetaException;
 import org.apache.hadoop.hive.metastore.api.NotificationEvent;
 import org.apache.hadoop.hive.metastore.api.Partition;
@@ -48,13 +47,11 @@ import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf.ConfVars;
 import org.apache.hadoop.hive.metastore.events.AddForeignKeyEvent;
-import org.apache.hadoop.hive.metastore.events.AddIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AddNotNullConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AddPrimaryKeyEvent;
 import org.apache.hadoop.hive.metastore.events.AddUniqueConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AlterDatabaseEvent;
-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;
@@ -64,7 +61,6 @@ import 
org.apache.hadoop.hive.metastore.events.CreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.DropConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.DropFunctionEvent;
-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.InsertEvent;
@@ -390,49 +386,6 @@ public class DbNotificationListener extends 
TransactionalMetaStoreEventListener
     process(event, fnEvent);
   }
 
-  /**
-   * @param indexEvent index event
-   * @throws MetaException
-   */
-  @Override
-  public void onAddIndex(AddIndexEvent indexEvent) throws MetaException {
-    Index index = indexEvent.getIndex();
-    NotificationEvent event =
-        new NotificationEvent(0, now(), EventType.CREATE_INDEX.toString(), 
msgFactory
-            .buildCreateIndexMessage(index).toString());
-    event.setDbName(index.getDbName());
-    process(event, indexEvent);
-  }
-
-  /**
-   * @param indexEvent index event
-   * @throws MetaException
-   */
-  @Override
-  public void onDropIndex(DropIndexEvent indexEvent) throws MetaException {
-    Index index = indexEvent.getIndex();
-    NotificationEvent event =
-        new NotificationEvent(0, now(), EventType.DROP_INDEX.toString(), 
msgFactory
-            .buildDropIndexMessage(index).toString());
-    event.setDbName(index.getDbName());
-    process(event, indexEvent);
-  }
-
-  /**
-   * @param indexEvent index event
-   * @throws MetaException
-   */
-  @Override
-  public void onAlterIndex(AlterIndexEvent indexEvent) throws MetaException {
-    Index before = indexEvent.getOldIndex();
-    Index after = indexEvent.getNewIndex();
-    NotificationEvent event =
-        new NotificationEvent(0, now(), EventType.ALTER_INDEX.toString(), 
msgFactory
-            .buildAlterIndexMessage(before, after).toString());
-    event.setDbName(before.getDbName());
-    process(event, indexEvent);
-  }
-
   class FileChksumIterator implements Iterator<String> {
     private List<String> files;
     private List<String> chksums;
@@ -625,8 +578,11 @@ public class DbNotificationListener extends 
TransactionalMetaStoreEventListener
     }
 
     public void setTimeToLive(long configTtl) {
-      if (configTtl > Integer.MAX_VALUE) ttl = Integer.MAX_VALUE;
-      else ttl = (int)configTtl;
+      if (configTtl > Integer.MAX_VALUE) {
+        ttl = Integer.MAX_VALUE;
+      } else {
+        ttl = (int)configTtl;
+      }
     }
 
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterIndexMessage.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterIndexMessage.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterIndexMessage.java
deleted file mode 100644
index d3b0cc6..0000000
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterIndexMessage.java
+++ /dev/null
@@ -1,35 +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.hive.hcatalog.messaging;
-
-import org.apache.hadoop.hive.common.classification.InterfaceAudience;
-import org.apache.hadoop.hive.common.classification.InterfaceStability;
-
-/**
- * HCat message sent when a Index is altered in HCatalog.
- */
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public abstract class AlterIndexMessage extends HCatEventMessage {
-
-  protected AlterIndexMessage() {
-    super(EventType.ALTER_INDEX);
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateIndexMessage.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateIndexMessage.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateIndexMessage.java
deleted file mode 100644
index 79608ea..0000000
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateIndexMessage.java
+++ /dev/null
@@ -1,35 +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.hive.hcatalog.messaging;
-
-import org.apache.hadoop.hive.common.classification.InterfaceAudience;
-import org.apache.hadoop.hive.common.classification.InterfaceStability;
-
-/**
- * HCat message sent when a Index is created in HCatalog.
- */
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public abstract class CreateIndexMessage extends HCatEventMessage {
-
-  protected CreateIndexMessage() {
-    super(EventType.CREATE_INDEX);
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropIndexMessage.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropIndexMessage.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropIndexMessage.java
deleted file mode 100644
index 2be1d07..0000000
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropIndexMessage.java
+++ /dev/null
@@ -1,35 +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.hive.hcatalog.messaging;
-
-import org.apache.hadoop.hive.common.classification.InterfaceAudience;
-import org.apache.hadoop.hive.common.classification.InterfaceStability;
-
-/**
- * HCat message sent when a Index is dropped in HCatalog.
- */
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public abstract class DropIndexMessage extends HCatEventMessage {
-
-  protected DropIndexMessage() {
-    super(EventType.DROP_INDEX);
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/HCatEventMessage.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/HCatEventMessage.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/HCatEventMessage.java
index ca2253c..8bfdf3d 100644
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/HCatEventMessage.java
+++ 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/HCatEventMessage.java
@@ -46,10 +46,7 @@ public abstract class HCatEventMessage {
     ALTER_PARTITION(HCatConstants.HCAT_ALTER_PARTITION_EVENT),
     INSERT(HCatConstants.HCAT_INSERT_EVENT),
     CREATE_FUNCTION(HCatConstants.HCAT_CREATE_FUNCTION_EVENT),
-    DROP_FUNCTION(HCatConstants.HCAT_DROP_FUNCTION_EVENT),
-    CREATE_INDEX(HCatConstants.HCAT_CREATE_INDEX_EVENT),
-    DROP_INDEX(HCatConstants.HCAT_DROP_INDEX_EVENT),
-    ALTER_INDEX(HCatConstants.HCAT_ALTER_INDEX_EVENT);
+    DROP_FUNCTION(HCatConstants.HCAT_DROP_FUNCTION_EVENT);
 
     private String typeString;
 
@@ -100,12 +97,15 @@ public abstract class HCatEventMessage {
    * Class invariant. Checked after construction or deserialization.
    */
   public HCatEventMessage checkValid() {
-    if (getServer() == null || getServicePrincipal() == null)
+    if (getServer() == null || getServicePrincipal() == null) {
       throw new IllegalStateException("Server-URL/Service-Principal shouldn't 
be null.");
-    if (getEventType() == null)
+    }
+    if (getEventType() == null) {
       throw new IllegalStateException("Event-type unset.");
-    if (getDB() == null)
+    }
+    if (getDB() == null) {
       throw new IllegalArgumentException("DB-name unset.");
+    }
     return this;
   }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageDeserializer.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageDeserializer.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageDeserializer.java
index 61178cb..857b89f 100644
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageDeserializer.java
+++ 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageDeserializer.java
@@ -21,8 +21,6 @@ package org.apache.hive.hcatalog.messaging;
 
 import org.apache.hadoop.hive.common.classification.InterfaceAudience;
 import org.apache.hadoop.hive.common.classification.InterfaceStability;
-import org.apache.hive.hcatalog.messaging.json.JSONCreateFunctionMessage;
-import org.apache.hive.hcatalog.messaging.json.JSONDropFunctionMessage;
 
 /**
  * Interface for converting HCat events from String-form back to 
HCatEventMessage instances.
@@ -57,12 +55,6 @@ public abstract class MessageDeserializer {
       return getCreateFunctionMessage(messageBody);
     case DROP_FUNCTION:
       return getDropFunctionMessage(messageBody);
-    case CREATE_INDEX:
-      return getCreateIndexMessage(messageBody);
-    case DROP_INDEX:
-      return getDropIndexMessage(messageBody);
-    case ALTER_INDEX:
-      return getAlterIndexMessage(messageBody);
     case INSERT:
       return getInsertMessage(messageBody);
     default:
@@ -125,21 +117,6 @@ public abstract class MessageDeserializer {
   public abstract DropFunctionMessage getDropFunctionMessage(String 
messageBody);
 
   /**
-   * Method to de-serialize CreateIndexMessage instance.
-   */
-  public abstract CreateIndexMessage getCreateIndexMessage(String messageBody);
-
-  /**
-   * Method to de-serialize DropIndexMessage instance.
-   */
-  public abstract DropIndexMessage getDropIndexMessage(String messageBody);
-
-  /**
-   * Method to de-serialize AlterIndexMessage instance.
-   */
-  public abstract AlterIndexMessage getAlterIndexMessage(String messageBody);
-
-  /**
    * Method to deserialize InsertMessage
    * @param messageBody the message in serialized form
    * @return message in object form

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
index 6480c5e..a248bbf 100644
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
+++ 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
@@ -25,12 +25,9 @@ import 
org.apache.hadoop.hive.common.classification.InterfaceStability;
 import org.apache.hadoop.hive.conf.HiveConf;
 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.Partition;
 import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.hadoop.util.ReflectionUtils;
-import org.apache.hive.hcatalog.messaging.json.JSONMessageFactory;
-
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -183,28 +180,6 @@ public abstract class MessageFactory {
   public abstract DropFunctionMessage buildDropFunctionMessage(Function fn);
 
   /**
-   * Factory method for CreateIndexMessage.
-   * @param idx The Index being added.
-   * @return CreateIndexMessage instance.
-   */
-  public abstract CreateIndexMessage buildCreateIndexMessage(Index idx);
-
-  /**
-   * Factory method for DropIndexMessage.
-   * @param idx The Index being dropped.
-   * @return DropIndexMessage instance.
-   */
-  public abstract DropIndexMessage buildDropIndexMessage(Index idx);
-
-  /**
-   * Factory method for AlterIndexMessage.
-   * @param before The index before the alter
-   * @param after The index after the alter
-   * @return AlterIndexMessage
-   */
-  public abstract AlterIndexMessage buildAlterIndexMessage(Index before, Index 
after);
-
-  /**
    * Factory method for building insert message
    * @param db Name of the database the insert occurred in
    * @param table Name of the table the insert occurred in

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
deleted file mode 100644
index d7da100..0000000
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
+++ /dev/null
@@ -1,89 +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.hive.hcatalog.messaging.json;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hive.hcatalog.messaging.AlterIndexMessage;
-import org.apache.thrift.TException;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * JSON Implementation of AlterIndexMessage.
- */
-public class JSONAlterIndexMessage extends AlterIndexMessage {
-
-  @JsonProperty
-  String server, servicePrincipal, db, beforeIndexObjJson, afterIndexObjJson;
-
-  @JsonProperty
-  Long timestamp;
-
-  /**
-   * Default constructor, required for Jackson.
-   */
-  public JSONAlterIndexMessage() {}
-
-  public JSONAlterIndexMessage(String server, String servicePrincipal, Index 
before, Index after,
-                               Long timestamp) {
-    this.server = server;
-    this.servicePrincipal = servicePrincipal;
-    this.db = after.getDbName();
-    this.timestamp = timestamp;
-    try {
-      this.beforeIndexObjJson = JSONMessageFactory.createIndexObjJson(before);
-      this.afterIndexObjJson = JSONMessageFactory.createIndexObjJson(after);
-    } catch (TException ex) {
-      throw new IllegalArgumentException("Could not serialize Index object", 
ex);
-    }
-
-    checkValid();
-  }
-
-  @Override
-  public String getDB() { return db; }
-
-  @Override
-  public String getServer() { return server; }
-
-  @Override
-  public String getServicePrincipal() { return servicePrincipal; }
-
-  @Override
-  public Long getTimestamp() { return timestamp; }
-
-  public String getBeforeIndexObjJson() {
-    return beforeIndexObjJson;
-  }
-
-  public String getAfterIndexObjJson() {
-    return afterIndexObjJson;
-  }
-
-  @Override
-  public String toString() {
-    try {
-      return JSONMessageDeserializer.mapper.writeValueAsString(this);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not serialize: ", exception);
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
deleted file mode 100644
index 094913b..0000000
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
+++ /dev/null
@@ -1,82 +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.hive.hcatalog.messaging.json;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hive.hcatalog.messaging.CreateIndexMessage;
-import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * JSON Implementation of CreateIndexMessage.
- */
-public class JSONCreateIndexMessage extends CreateIndexMessage {
-
-  @JsonProperty
-  String server, servicePrincipal, db, indexObjJson;
-
-  @JsonProperty
-  Long timestamp;
-
-  /**
-   * Default constructor, required for Jackson.
-   */
-  public JSONCreateIndexMessage() {}
-
-  public JSONCreateIndexMessage(String server, String servicePrincipal, Index 
index, Long timestamp) {
-    this.server = server;
-    this.servicePrincipal = servicePrincipal;
-    this.db = index.getDbName();
-    try {
-      this.indexObjJson = JSONMessageFactory.createIndexObjJson(index);
-    } catch (TException ex) {
-      throw new IllegalArgumentException("Could not serialize Index object", 
ex);
-    }
-
-    this.timestamp = timestamp;
-    checkValid();
-  }
-
-  @Override
-  public String getDB() { return db; }
-
-  @Override
-  public String getServer() { return server; }
-
-  @Override
-  public String getServicePrincipal() { return servicePrincipal; }
-
-  @Override
-  public Long getTimestamp() { return timestamp; }
-
-  public String getIndexObjJson() {
-    return indexObjJson;
-  }
-
-  @Override
-  public String toString() {
-    try {
-      return JSONMessageDeserializer.mapper.writeValueAsString(this);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not serialize: ", exception);
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
deleted file mode 100644
index c80bd29..0000000
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
+++ /dev/null
@@ -1,82 +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.hive.hcatalog.messaging.json;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hive.hcatalog.messaging.DropIndexMessage;
-import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * JSON Implementation of DropIndexMessage.
- */
-public class JSONDropIndexMessage extends DropIndexMessage {
-
-  @JsonProperty
-  String server, servicePrincipal, db, indexObjJson;
-
-  @JsonProperty
-  Long timestamp;
-
-  /**
-   * Default constructor, required for Jackson.
-   */
-  public JSONDropIndexMessage() {}
-
-  public JSONDropIndexMessage(String server, String servicePrincipal, Index 
index, Long timestamp) {
-    this.server = server;
-    this.servicePrincipal = servicePrincipal;
-    this.db = index.getDbName();
-    try {
-      this.indexObjJson = JSONMessageFactory.createIndexObjJson(index);
-    } catch (TException ex) {
-      throw new IllegalArgumentException("Could not serialize Index object", 
ex);
-    }
-
-    this.timestamp = timestamp;
-    checkValid();
-  }
-
-  @Override
-  public String getDB() { return db; }
-
-  @Override
-  public String getServer() { return server; }
-
-  @Override
-  public String getServicePrincipal() { return servicePrincipal; }
-
-  @Override
-  public Long getTimestamp() { return timestamp; }
-
-  public String getIndexObjJson() {
-    return indexObjJson;
-  }
-
-  @Override
-  public String toString() {
-    try {
-      return JSONMessageDeserializer.mapper.writeValueAsString(this);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not serialize: ", exception);
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
index bb8c849..ab26a14 100644
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
+++ 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
@@ -20,16 +20,13 @@
 package org.apache.hive.hcatalog.messaging.json;
 
 import org.apache.hive.hcatalog.messaging.AddPartitionMessage;
-import org.apache.hive.hcatalog.messaging.AlterIndexMessage;
 import org.apache.hive.hcatalog.messaging.AlterPartitionMessage;
 import org.apache.hive.hcatalog.messaging.AlterTableMessage;
 import org.apache.hive.hcatalog.messaging.CreateDatabaseMessage;
 import org.apache.hive.hcatalog.messaging.CreateFunctionMessage;
-import org.apache.hive.hcatalog.messaging.CreateIndexMessage;
 import org.apache.hive.hcatalog.messaging.CreateTableMessage;
 import org.apache.hive.hcatalog.messaging.DropDatabaseMessage;
 import org.apache.hive.hcatalog.messaging.DropFunctionMessage;
-import org.apache.hive.hcatalog.messaging.DropIndexMessage;
 import org.apache.hive.hcatalog.messaging.DropPartitionMessage;
 import org.apache.hive.hcatalog.messaging.DropTableMessage;
 import org.apache.hive.hcatalog.messaging.InsertMessage;
@@ -149,36 +146,6 @@ public class JSONMessageDeserializer extends 
MessageDeserializer {
   }
 
   @Override
-  public CreateIndexMessage getCreateIndexMessage(String messageBody) {
-    try {
-      return mapper.readValue(messageBody, JSONCreateIndexMessage.class);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not construct 
JSONCreateIndexMessage.", exception);
-    }
-  }
-
-  @Override
-  public DropIndexMessage getDropIndexMessage(String messageBody) {
-    try {
-      return mapper.readValue(messageBody, JSONDropIndexMessage.class);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not construct 
JSONDropIndexMessage.", exception);
-    }
-  }
-
-  @Override
-  public AlterIndexMessage getAlterIndexMessage(String messageBody) {
-    try {
-      return mapper.readValue(messageBody, JSONAlterIndexMessage.class);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not construct 
JSONAlterIndexMessage.", exception);
-    }
-  }
-
-  @Override
   public InsertMessage getInsertMessage(String messageBody) {
     try {
       return mapper.readValue(messageBody, JSONInsertMessage.class);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
----------------------------------------------------------------------
diff --git 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
index 345934b..0973c18 100644
--- 
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
+++ 
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
@@ -19,15 +19,13 @@
 
 package org.apache.hive.hcatalog.messaging.json;
 
-import com.google.common.collect.Iterators;
-import com.google.common.collect.Lists;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Nullable;
 
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hive.hcatalog.messaging.AlterIndexMessage;
-import org.apache.hive.hcatalog.messaging.CreateFunctionMessage;
-import org.apache.hive.hcatalog.messaging.CreateIndexMessage;
-import org.apache.hive.hcatalog.messaging.DropFunctionMessage;
-import org.apache.hive.hcatalog.messaging.DropIndexMessage;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.Function;
 import org.apache.hadoop.hive.metastore.api.Partition;
@@ -36,8 +34,10 @@ import 
org.apache.hive.hcatalog.messaging.AddPartitionMessage;
 import org.apache.hive.hcatalog.messaging.AlterPartitionMessage;
 import org.apache.hive.hcatalog.messaging.AlterTableMessage;
 import org.apache.hive.hcatalog.messaging.CreateDatabaseMessage;
+import org.apache.hive.hcatalog.messaging.CreateFunctionMessage;
 import org.apache.hive.hcatalog.messaging.CreateTableMessage;
 import org.apache.hive.hcatalog.messaging.DropDatabaseMessage;
+import org.apache.hive.hcatalog.messaging.DropFunctionMessage;
 import org.apache.hive.hcatalog.messaging.DropPartitionMessage;
 import org.apache.hive.hcatalog.messaging.DropTableMessage;
 import org.apache.hive.hcatalog.messaging.InsertMessage;
@@ -49,11 +49,8 @@ import org.apache.thrift.protocol.TJSONProtocol;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.annotation.Nullable;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import com.google.common.collect.Iterators;
+import com.google.common.collect.Lists;
 
 /**
  * The JSON implementation of the MessageFactory. Constructs JSON 
implementations of
@@ -144,24 +141,6 @@ public class JSONMessageFactory extends MessageFactory {
   }
 
   @Override
-  public CreateIndexMessage buildCreateIndexMessage(Index idx) {
-    return new JSONCreateIndexMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, 
idx,
-        now());
-  }
-
-  @Override
-  public DropIndexMessage buildDropIndexMessage(Index idx) {
-    return new JSONDropIndexMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, 
idx,
-        now());
-  }
-
-  @Override
-  public AlterIndexMessage buildAlterIndexMessage(Index before, Index after) {
-    return new JSONAlterIndexMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, 
before, after,
-        now());
-  }
-
-  @Override
   public InsertMessage buildInsertMessage(String db, String table, 
Map<String,String> partKeyVals,
                                           List<String> files) {
     return new JSONInsertMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, db, 
table, null,
@@ -181,9 +160,10 @@ public class JSONMessageFactory extends MessageFactory {
 
   private static Map<String, String> getPartitionKeyValues(Table table, 
Partition partition) {
     Map<String, String> partitionKeys = new LinkedHashMap<String, String>();
-    for (int i=0; i<table.getPartitionKeysSize(); ++i)
+    for (int i=0; i<table.getPartitionKeysSize(); ++i) {
       partitionKeys.put(table.getPartitionKeys().get(i).getName(),
           partition.getValues().get(i));
+    }
     return partitionKeys;
   }
 
@@ -201,8 +181,4 @@ public class JSONMessageFactory extends MessageFactory {
     return serializer.toString(functionObj, "UTF-8");
   }
 
-  static String createIndexObjJson(Index indexObj) throws TException {
-    TSerializer serializer = new TSerializer(new TJSONProtocol.Factory());
-    return serializer.toString(indexObj, "UTF-8");
-  }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
----------------------------------------------------------------------
diff --git 
a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
 
b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
index d0ff871..4ecd89c 100644
--- 
a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
+++ 
b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
@@ -40,7 +40,6 @@ 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.HiveObjectPrivilege;
-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.InvalidOperationException;
@@ -339,53 +338,6 @@ public class DummyRawStoreFailEvent implements RawStore, 
Configurable {
   }
 
   @Override
-  public boolean addIndex(Index index) throws InvalidObjectException, 
MetaException {
-    if (shouldEventSucceed) {
-      return objectStore.addIndex(index);
-    } else {
-      throw new RuntimeException("Event failed.");
-    }
-  }
-
-  @Override
-  public Index getIndex(String dbName, String origTableName, String indexName)
-      throws MetaException {
-    return objectStore.getIndex(dbName, origTableName, indexName);
-  }
-
-  @Override
-  public boolean dropIndex(String dbName, String origTableName, String 
indexName)
-      throws MetaException {
-    if (shouldEventSucceed) {
-      return objectStore.dropIndex(dbName, origTableName, indexName);
-    } else {
-      throw new RuntimeException("Event failed.");
-    }
-  }
-
-  @Override
-  public List<Index> getIndexes(String dbName, String origTableName, int max)
-      throws MetaException {
-    return objectStore.getIndexes(dbName, origTableName, max);
-  }
-
-  @Override
-  public List<String> listIndexNames(String dbName, String origTableName, 
short max)
-      throws MetaException {
-    return objectStore.listIndexNames(dbName, origTableName, max);
-  }
-
-  @Override
-  public void alterIndex(String dbName, String baseTblName, String name, Index 
newIndex)
-      throws InvalidObjectException, MetaException {
-    if (shouldEventSucceed) {
-      objectStore.alterIndex(dbName, baseTblName, name, newIndex);
-    } else {
-      throw new RuntimeException("Event failed.");
-    }
-  }
-
-  @Override
   public List<Partition> getPartitionsByFilter(String dbName, String tblName,
                                                String filter, short maxParts) 
throws MetaException, NoSuchObjectException {
     return objectStore.getPartitionsByFilter(dbName, tblName, filter, 
maxParts);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
----------------------------------------------------------------------
diff --git 
a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
 
b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
index 7aadf18..e0e2965 100644
--- 
a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
+++ 
b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
@@ -28,7 +28,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
-import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Stack;
@@ -49,12 +48,10 @@ import 
org.apache.hadoop.hive.metastore.api.FireEventRequest;
 import org.apache.hadoop.hive.metastore.api.FireEventRequestData;
 import org.apache.hadoop.hive.metastore.api.Function;
 import org.apache.hadoop.hive.metastore.api.FunctionType;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InsertEventRequestData;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.NotificationEvent;
 import org.apache.hadoop.hive.metastore.api.NotificationEventResponse;
-import org.apache.hadoop.hive.metastore.api.Order;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.PrincipalType;
 import org.apache.hadoop.hive.metastore.api.ResourceType;
@@ -62,9 +59,7 @@ import org.apache.hadoop.hive.metastore.api.ResourceUri;
 import org.apache.hadoop.hive.metastore.api.SerDeInfo;
 import org.apache.hadoop.hive.metastore.api.StorageDescriptor;
 import org.apache.hadoop.hive.metastore.api.Table;
-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.CreateDatabaseEvent;
@@ -72,22 +67,18 @@ import 
org.apache.hadoop.hive.metastore.events.CreateFunctionEvent;
 import org.apache.hadoop.hive.metastore.events.CreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.DropFunctionEvent;
-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.InsertEvent;
 import org.apache.hadoop.hive.metastore.events.ListenerEvent;
 import org.apache.hadoop.hive.metastore.messaging.AddPartitionMessage;
-import org.apache.hadoop.hive.metastore.messaging.AlterIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.AlterPartitionMessage;
 import org.apache.hadoop.hive.metastore.messaging.AlterTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateDatabaseMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateFunctionMessage;
-import org.apache.hadoop.hive.metastore.messaging.CreateIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropDatabaseMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropFunctionMessage;
-import org.apache.hadoop.hive.metastore.messaging.DropIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropPartitionMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.EventMessage.EventType;
@@ -102,7 +93,6 @@ import org.apache.hive.hcatalog.data.Pair;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TestRule;
@@ -174,58 +164,57 @@ public class TestDbNotificationListener {
       super(config);
     }
 
+    @Override
     public void onCreateTable (CreateTableEvent tableEvent) throws 
MetaException {
       pushEventId(EventType.CREATE_TABLE, tableEvent);
     }
 
+    @Override
     public void onDropTable (DropTableEvent tableEvent)  throws MetaException {
       pushEventId(EventType.DROP_TABLE, tableEvent);
     }
 
+    @Override
     public void onAlterTable (AlterTableEvent tableEvent) throws MetaException 
{
       pushEventId(EventType.ALTER_TABLE, tableEvent);
     }
 
+    @Override
     public void onAddPartition (AddPartitionEvent partitionEvent) throws 
MetaException {
       pushEventId(EventType.ADD_PARTITION, partitionEvent);
     }
 
+    @Override
     public void onDropPartition (DropPartitionEvent partitionEvent)  throws 
MetaException {
       pushEventId(EventType.DROP_PARTITION, partitionEvent);
     }
 
+    @Override
     public void onAlterPartition (AlterPartitionEvent partitionEvent)  throws 
MetaException {
       pushEventId(EventType.ALTER_PARTITION, partitionEvent);
     }
 
+    @Override
     public void onCreateDatabase (CreateDatabaseEvent dbEvent) throws 
MetaException {
       pushEventId(EventType.CREATE_DATABASE, dbEvent);
     }
 
+    @Override
     public void onDropDatabase (DropDatabaseEvent dbEvent) throws 
MetaException {
       pushEventId(EventType.DROP_DATABASE, dbEvent);
     }
 
-    public void onAddIndex(AddIndexEvent indexEvent) throws MetaException {
-      pushEventId(EventType.CREATE_INDEX, indexEvent);
-    }
-
-    public void onDropIndex(DropIndexEvent indexEvent) throws MetaException {
-      pushEventId(EventType.DROP_INDEX, indexEvent);
-    }
-
-    public void onAlterIndex(AlterIndexEvent indexEvent) throws MetaException {
-      pushEventId(EventType.ALTER_INDEX, indexEvent);
-    }
-
+    @Override
     public void onCreateFunction (CreateFunctionEvent fnEvent) throws 
MetaException {
       pushEventId(EventType.CREATE_FUNCTION, fnEvent);
     }
 
+    @Override
     public void onDropFunction (DropFunctionEvent fnEvent) throws 
MetaException {
       pushEventId(EventType.DROP_FUNCTION, fnEvent);
     }
 
+    @Override
     public void onInsert(InsertEvent insertEvent) throws MetaException {
       pushEventId(EventType.INSERT, insertEvent);
     }
@@ -963,226 +952,6 @@ public class TestDbNotificationListener {
   }
 
   @Test
-  @Ignore("HIVE-18715")
-  public void createIndex() throws Exception {
-    String indexName = "createIndex";
-    String dbName = "default";
-    String tableName = "createIndexTable";
-    String indexTableName = tableName + "__" + indexName + "__";
-    int startTime = (int) (System.currentTimeMillis() / 1000);
-    List<FieldSchema> cols = new ArrayList<FieldSchema>();
-    cols.add(new FieldSchema("col1", "int", ""));
-    SerDeInfo serde = new SerDeInfo("serde", "seriallib", null);
-    Map<String, String> params = new HashMap<String, String>();
-    params.put("key", "value");
-    StorageDescriptor sd =
-        new StorageDescriptor(cols, "file:/tmp", "input", "output", false, 17, 
serde,
-            Arrays.asList("bucketcol"), Arrays.asList(new Order("sortcol", 
1)), params);
-    Table table =
-        new Table(tableName, dbName, "me", startTime, startTime, 0, sd, null, 
emptyParameters,
-            null, null, null);
-    // Event 1
-    msClient.createTable(table);
-    Index index =
-        new Index(indexName, null, "default", tableName, startTime, startTime, 
indexTableName, sd,
-            emptyParameters, false);
-    Table indexTable =
-        new Table(indexTableName, dbName, "me", startTime, startTime, 0, sd, 
null, emptyParameters,
-            null, null, null);
-    // Event 2, 3 (index table and index)
-    msClient.createIndex(index, indexTable);
-
-    // Get notifications from metastore
-    NotificationEventResponse rsp = msClient.getNextNotification(firstEventId, 
0, null);
-    assertEquals(3, rsp.getEventsSize());
-    NotificationEvent event = rsp.getEvents().get(2);
-    assertEquals(firstEventId + 3, event.getEventId());
-    assertTrue(event.getEventTime() >= startTime);
-    assertEquals(EventType.CREATE_INDEX.toString(), event.getEventType());
-    assertEquals(dbName, event.getDbName());
-
-    // Parse the message field
-    CreateIndexMessage createIdxMessage = 
md.getCreateIndexMessage(event.getMessage());
-    assertEquals(dbName, createIdxMessage.getDB());
-    Index indexObj = createIdxMessage.getIndexObj();
-    assertEquals(dbName, indexObj.getDbName());
-    assertEquals(indexName, indexObj.getIndexName());
-    assertEquals(tableName, indexObj.getOrigTableName());
-    assertEquals(indexTableName, indexObj.getIndexTableName());
-
-    // Verify the eventID was passed to the non-transactional listener
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_INDEX, 
firstEventId + 3);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, 
firstEventId + 2);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, 
firstEventId + 1);
-
-    // When hive.metastore.transactional.event.listeners is set,
-    // a failed event should not create a new notification
-    DummyRawStoreFailEvent.setEventSucceed(false);
-    index =
-        new Index("createIndexTable2", null, "default", tableName, startTime, 
startTime,
-            "createIndexTable2__createIndexTable2__", sd, emptyParameters, 
false);
-    Table indexTable2 =
-        new Table("createIndexTable2__createIndexTable2__", dbName, "me", 
startTime, startTime, 0,
-            sd, null, emptyParameters, null, null, null);
-    try {
-      msClient.createIndex(index, indexTable2);
-      fail("Error: create index should've failed");
-    } catch (Exception ex) {
-      // expected
-    }
-    rsp = msClient.getNextNotification(firstEventId, 0, null);
-    assertEquals(3, rsp.getEventsSize());
-  }
-
-  @Test
-  @Ignore("HIVE-18715")
-  public void dropIndex() throws Exception {
-    String indexName = "dropIndex";
-    String dbName = "default";
-    String tableName = "dropIndexTable";
-    String indexTableName = tableName + "__" + indexName + "__";
-    int startTime = (int) (System.currentTimeMillis() / 1000);
-    List<FieldSchema> cols = new ArrayList<FieldSchema>();
-    cols.add(new FieldSchema("col1", "int", ""));
-    SerDeInfo serde = new SerDeInfo("serde", "seriallib", null);
-    Map<String, String> params = new HashMap<String, String>();
-    params.put("key", "value");
-    StorageDescriptor sd =
-        new StorageDescriptor(cols, "file:/tmp", "input", "output", false, 17, 
serde,
-            Arrays.asList("bucketcol"), Arrays.asList(new Order("sortcol", 
1)), params);
-    Table table =
-        new Table(tableName, dbName, "me", startTime, startTime, 0, sd, null, 
emptyParameters,
-            null, null, null);
-    // Event 1
-    msClient.createTable(table);
-    Index index =
-        new Index(indexName, null, "default", tableName, startTime, startTime, 
indexTableName, sd,
-            emptyParameters, false);
-    Table indexTable =
-        new Table(indexTableName, dbName, "me", startTime, startTime, 0, sd, 
null, emptyParameters,
-            null, null, null);
-    // Event 2, 3 (index table and index)
-    msClient.createIndex(index, indexTable);
-    // Event 4 (drops index and indexTable)
-    msClient.dropIndex(dbName, tableName, indexName, true);
-
-    // Get notifications from metastore
-    NotificationEventResponse rsp = msClient.getNextNotification(firstEventId, 
0, null);
-    assertEquals(4, rsp.getEventsSize());
-    NotificationEvent event = rsp.getEvents().get(3);
-    assertEquals(firstEventId + 4, event.getEventId());
-    assertTrue(event.getEventTime() >= startTime);
-    assertEquals(EventType.DROP_INDEX.toString(), event.getEventType());
-    assertEquals(dbName, event.getDbName());
-
-    // Parse the message field
-    DropIndexMessage dropIdxMsg = md.getDropIndexMessage(event.getMessage());
-    assertEquals(dbName, dropIdxMsg.getDB());
-    assertEquals(indexName.toLowerCase(), dropIdxMsg.getIndexName());
-    assertEquals(indexTableName.toLowerCase(), dropIdxMsg.getIndexTableName());
-    assertEquals(tableName.toLowerCase(), dropIdxMsg.getOrigTableName());
-
-    // Verify the eventID was passed to the non-transactional listener
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.DROP_INDEX, 
firstEventId + 4);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_INDEX, 
firstEventId + 3);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, 
firstEventId + 2);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, 
firstEventId + 1);
-
-    // When hive.metastore.transactional.event.listeners is set,
-    // a failed event should not create a new notification
-    index =
-        new Index("dropIndexTable2", null, "default", tableName, startTime, 
startTime,
-            "dropIndexTable__dropIndexTable2__", sd, emptyParameters, false);
-    Table indexTable2 =
-        new Table("dropIndexTable__dropIndexTable2__", dbName, "me", 
startTime, startTime, 0, sd,
-            null, emptyParameters, null, null, null);
-    msClient.createIndex(index, indexTable2);
-    DummyRawStoreFailEvent.setEventSucceed(false);
-    try {
-      // drops index and indexTable
-      msClient.dropIndex(dbName, tableName, "dropIndex2", true);
-      fail("Error: drop index should've failed");
-    } catch (Exception ex) {
-      // expected
-    }
-
-    rsp = msClient.getNextNotification(firstEventId, 0, null);
-    assertEquals(6, rsp.getEventsSize());
-  }
-
-  @Test
-  @Ignore("HIVE-18715")
-  public void alterIndex() throws Exception {
-    String indexName = "alterIndex";
-    String dbName = "default";
-    String tableName = "alterIndexTable";
-    String indexTableName = tableName + "__" + indexName + "__";
-    int startTime = (int) (System.currentTimeMillis() / 1000);
-    List<FieldSchema> cols = new ArrayList<FieldSchema>();
-    cols.add(new FieldSchema("col1", "int", ""));
-    SerDeInfo serde = new SerDeInfo("serde", "seriallib", null);
-    Map<String, String> params = new HashMap<String, String>();
-    params.put("key", "value");
-    StorageDescriptor sd =
-        new StorageDescriptor(cols, "file:/tmp", "input", "output", false, 17, 
serde,
-            Arrays.asList("bucketcol"), Arrays.asList(new Order("sortcol", 
1)), params);
-    Table table =
-        new Table(tableName, dbName, "me", startTime, startTime, 0, sd, null, 
emptyParameters,
-            null, null, null);
-    // Event 1
-    msClient.createTable(table);
-    Index oldIndex =
-        new Index(indexName, null, "default", tableName, startTime, startTime, 
indexTableName, sd,
-            emptyParameters, false);
-    Table oldIndexTable =
-        new Table(indexTableName, dbName, "me", startTime, startTime, 0, sd, 
null, emptyParameters,
-            null, null, null);
-    // Event 2, 3
-    msClient.createIndex(oldIndex, oldIndexTable); // creates index and index 
table
-    Index newIndex =
-        new Index(indexName, null, "default", tableName, startTime, startTime 
+ 1, indexTableName,
-            sd, emptyParameters, false);
-    // Event 4
-    msClient.alter_index(dbName, tableName, indexName, newIndex);
-
-    // Get notifications from metastore
-    NotificationEventResponse rsp = msClient.getNextNotification(firstEventId, 
0, null);
-    assertEquals(4, rsp.getEventsSize());
-    NotificationEvent event = rsp.getEvents().get(3);
-    assertEquals(firstEventId + 4, event.getEventId());
-    assertTrue(event.getEventTime() >= startTime);
-    assertEquals(EventType.ALTER_INDEX.toString(), event.getEventType());
-    assertEquals(dbName, event.getDbName());
-
-    // Parse the message field
-    AlterIndexMessage alterIdxMsg = 
md.getAlterIndexMessage(event.getMessage());
-    Index indexObj = alterIdxMsg.getIndexObjAfter();
-    assertEquals(dbName, indexObj.getDbName());
-    assertEquals(indexName, indexObj.getIndexName());
-    assertEquals(tableName, indexObj.getOrigTableName());
-    assertEquals(indexTableName, indexObj.getIndexTableName());
-    assertTrue(indexObj.getCreateTime() < indexObj.getLastAccessTime());
-
-    // Verify the eventID was passed to the non-transactional listener
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.ALTER_INDEX, 
firstEventId + 4);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_INDEX, 
firstEventId + 3);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, 
firstEventId + 2);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, 
firstEventId + 1);
-
-    // When hive.metastore.transactional.event.listeners is set,
-    // a failed event should not create a new notification
-    DummyRawStoreFailEvent.setEventSucceed(false);
-    try {
-      msClient.alter_index(dbName, tableName, indexName, newIndex);
-      fail("Error: alter index should've failed");
-    } catch (Exception ex) {
-      // expected
-    }
-    rsp = msClient.getNextNotification(firstEventId, 0, null);
-    assertEquals(4, rsp.getEventsSize());
-  }
-
-  @Test
   public void insertTable() throws Exception {
     String defaultDbName = "default";
     String tblName = "inserttbl";

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
----------------------------------------------------------------------
diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java 
b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
index f0f23ca..82590ce 100644
--- a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
+++ b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
@@ -1004,11 +1004,6 @@ public class QTestUtil {
             LOG.warn("Trying to drop table " + e.getTableName() + ". But it 
does not exist.");
             continue;
           }
-          // dropping index table can not be dropped directly. Dropping the 
base
-          // table will automatically drop all its index table
-          if(tblObj.isIndexTable()) {
-            continue;
-          }
           db.dropTable(dbName, tblName, true, true, fsType == 
FsType.encrypted_hdfs);
         }
       }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql 
b/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
index f4b2a2b..3444439 100644
--- a/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
+++ b/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
@@ -157,54 +157,6 @@ FROM
   \"GLOBAL_PRIVS\""
 );
 
-CREATE TABLE IF NOT EXISTS `IDXS` (
-  `INDEX_ID` bigint,
-  `CREATE_TIME` int,
-  `DEFERRED_REBUILD` boolean,
-  `INDEX_HANDLER_CLASS` string,
-  `INDEX_NAME` string,
-  `INDEX_TBL_ID` bigint,
-  `LAST_ACCESS_TIME` int,
-  `ORIG_TBL_ID` bigint,
-  `SD_ID` bigint,
-  CONSTRAINT `SYS_PK_IDXS` PRIMARY KEY (`INDEX_ID`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"CREATE_TIME\",
-  \"DEFERRED_REBUILD\",
-  \"INDEX_HANDLER_CLASS\",
-  \"INDEX_NAME\",
-  \"INDEX_TBL_ID\",
-  \"LAST_ACCESS_TIME\",
-  \"ORIG_TBL_ID\",
-  \"SD_ID\"
-FROM
-  \"IDXS\""
-);
-
-CREATE TABLE IF NOT EXISTS `INDEX_PARAMS` (
-  `INDEX_ID` bigint,
-  `PARAM_KEY` string,
-  `PARAM_VALUE` string,
-  CONSTRAINT `SYS_PK_INDEX_PARAMS` PRIMARY KEY (`INDEX_ID`,`PARAM_KEY`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"PARAM_KEY\",
-  \"PARAM_VALUE\"
-FROM
-  \"INDEX_PARAMS\""
-);
-
 CREATE TABLE IF NOT EXISTS `PARTITIONS` (
   `PART_ID` bigint,
   `CREATE_TIME` int,

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java 
b/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
index d3546d4..1faa50a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
@@ -238,7 +238,6 @@ public enum ErrorMsg {
 
   INVALID_JDO_FILTER_EXPRESSION(10143, "Invalid expression for JDO filter"),
 
-  SHOW_CREATETABLE_INDEX(10144, "SHOW CREATE TABLE does not support tables of 
type INDEX_TABLE."),
   ALTER_BUCKETNUM_NONBUCKETIZED_TBL(10145, "Table is not bucketized."),
 
   TRUNCATE_FOR_NON_MANAGED_TABLE(10146, "Cannot truncate non-managed table 
{0}.", true),

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 
b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
index 632a213..a51fdd3 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
@@ -42,7 +42,6 @@ import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.metastore.HiveMetaStoreUtils;
 import org.apache.hadoop.hive.metastore.TableType;
 import org.apache.hadoop.hive.metastore.Warehouse;
-import org.apache.hadoop.hive.metastore.api.BasicTxnInfo;
 import org.apache.hadoop.hive.metastore.api.CreationMetadata;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.MetaException;
@@ -383,7 +382,9 @@ public class Table implements Serializable {
       if (spec.containsKey(fs.getName())) {
         ++columnsFound;
       }
-      if (columnsFound == spec.size()) break;
+      if (columnsFound == spec.size()) {
+        break;
+      }
     }
     if (columnsFound < spec.size()) {
       throw new ValidationFailureSemanticException("Partition spec " + spec + 
" contains non-partition columns");
@@ -875,13 +876,6 @@ public class Table implements Serializable {
   }
 
   /**
-   * @return whether this table is actually an index table
-   */
-  public boolean isIndexTable() {
-    return TableType.INDEX_TABLE.equals(getTableType());
-  }
-
-  /**
    * Creates a partition name -> value spec map object
    *
    * @param tp
@@ -989,13 +983,20 @@ public class Table implements Serializable {
 
   public static boolean shouldStoreFieldsInMetastore(
       HiveConf conf, String serdeLib, Map<String, String> tableParams) {
-    if (hasMetastoreBasedSchema(conf, serdeLib))  return true;
-    if (HiveConf.getBoolVar(conf, ConfVars.HIVE_LEGACY_SCHEMA_FOR_ALL_SERDES)) 
return true;
+    if (hasMetastoreBasedSchema(conf, serdeLib)) {
+      return true;
+    }
+    if (HiveConf.getBoolVar(conf, ConfVars.HIVE_LEGACY_SCHEMA_FOR_ALL_SERDES)) 
{
+      return true;
+    }
     // Table may or may not be using metastore. Only the SerDe can tell us.
     AbstractSerDe deserializer = null;
     try {
       Class<?> clazz = conf.getClassByName(serdeLib);
-      if (!AbstractSerDe.class.isAssignableFrom(clazz)) return true; // The 
default.
+      if (!AbstractSerDe.class.isAssignableFrom(clazz))
+       {
+        return true; // The default.
+      }
       deserializer = ReflectionUtil.newInstance(
           conf.getClassByName(serdeLib).asSubclass(AbstractSerDe.class), conf);
     } catch (Exception ex) {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 
b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
index 1793402..5761795 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
@@ -2517,10 +2517,6 @@ public class DDLSemanticAnalyzer extends 
BaseSemanticAnalyzer {
     showCreateTblDesc = new ShowCreateTableDesc(tableName, 
ctx.getResFile().toString());
 
     Table tab = getTable(tableName);
-    if (tab.getTableType() == 
org.apache.hadoop.hive.metastore.TableType.INDEX_TABLE) {
-      throw new 
SemanticException(ErrorMsg.SHOW_CREATETABLE_INDEX.getMsg(tableName
-          + " has table type INDEX_TABLE"));
-    }
     inputs.add(new ReadEntity(tab));
     rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(),
         showCreateTblDesc), conf));

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 
b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
index 7f446ca..d99df80 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
@@ -43,7 +43,6 @@ import java.util.UUID;
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
 
-import com.google.common.collect.ImmutableSet;
 import org.antlr.runtime.ClassicToken;
 import org.antlr.runtime.CommonToken;
 import org.antlr.runtime.TokenRewriteStream;
@@ -64,14 +63,12 @@ import org.apache.hadoop.hive.common.FileUtils;
 import org.apache.hadoop.hive.common.ObjectPair;
 import org.apache.hadoop.hive.common.StatsSetupConst;
 import org.apache.hadoop.hive.common.StatsSetupConst.StatDB;
-import org.apache.hadoop.hive.common.ValidTxnList;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.conf.HiveConf.StrictChecks;
 import org.apache.hadoop.hive.metastore.TableType;
 import org.apache.hadoop.hive.metastore.TransactionalValidationListener;
 import org.apache.hadoop.hive.metastore.Warehouse;
-import org.apache.hadoop.hive.metastore.api.CreationMetadata;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.MetaException;
@@ -6610,7 +6607,7 @@ public class SemanticAnalyzer extends 
BaseSemanticAnalyzer {
         (dest_tab.getSortCols().size() > 0)) {
       sortCols = getSortCols(dest, qb, dest_tab, table_desc, input, true);
       sortOrders = getSortOrders(dest, qb, dest_tab, input);
-      if (!enforceBucketing && !dest_tab.isIndexTable()) {
+      if (!enforceBucketing) {
         throw new 
SemanticException(ErrorMsg.TBL_SORTED_NOT_BUCKETED.getErrorCodedMsg(dest_tab.getCompleteName()));
       } else {
         if (!enforceBucketing) {
@@ -6677,7 +6674,7 @@ public class SemanticAnalyzer extends 
BaseSemanticAnalyzer {
 
     if ((dest_tab.getSortCols() != null) &&
         (dest_tab.getSortCols().size() > 0)) {
-      if (!enforceBucketing && !dest_tab.isIndexTable()) {
+      if (!enforceBucketing) {
         throw new 
SemanticException(ErrorMsg.TBL_SORTED_NOT_BUCKETED.getErrorCodedMsg(dest_tab.getCompleteName()));
       }
       else {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java
index 19815a9..16efb72 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java
@@ -441,8 +441,6 @@ public class AuthorizationPreEventListener extends 
MetaStorePreEventListener {
         // TableType specified was null, we need to figure out what type it 
was.
         if (MetaStoreUtils.isExternalTable(wrapperApiTable)){
           wrapperApiTable.setTableType(TableType.EXTERNAL_TABLE.toString());
-        } else if (MetaStoreUtils.isIndexTable(wrapperApiTable)) {
-          wrapperApiTable.setTableType(TableType.INDEX_TABLE.toString());
         } else if (MetaStoreUtils.isMaterializedViewTable(wrapperApiTable)) {
           wrapperApiTable.setTableType(TableType.MATERIALIZED_VIEW.toString());
         } else if ((wrapperApiTable.getSd() == null) || 
(wrapperApiTable.getSd().getLocation() == null)) {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java 
b/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
index d982555..a24b642 100755
--- a/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
@@ -35,10 +35,8 @@ import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.metastore.PartitionDropOptions;
 import org.apache.hadoop.hive.metastore.Warehouse;
-import org.apache.hadoop.hive.metastore.api.BasicTxnInfo;
 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.MetaException;
 import org.apache.hadoop.hive.metastore.api.hive_metastoreConstants;
 import org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat;

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/test/results/clientpositive/llap/resourceplan.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/resourceplan.q.out 
b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
index 6c4627b..96ed8c6 100644
--- a/ql/src/test/results/clientpositive/llap/resourceplan.q.out
+++ b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
@@ -414,110 +414,6 @@ FROM
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: SYS@GLOBAL_PRIVS
 POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `IDXS` (
-  `INDEX_ID` bigint,
-  `CREATE_TIME` int,
-  `DEFERRED_REBUILD` boolean,
-  `INDEX_HANDLER_CLASS` string,
-  `INDEX_NAME` string,
-  `INDEX_TBL_ID` bigint,
-  `LAST_ACCESS_TIME` int,
-  `ORIG_TBL_ID` bigint,
-  `SD_ID` bigint,
-  CONSTRAINT `SYS_PK_IDXS` PRIMARY KEY (`INDEX_ID`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"CREATE_TIME\",
-  \"DEFERRED_REBUILD\",
-  \"INDEX_HANDLER_CLASS\",
-  \"INDEX_NAME\",
-  \"INDEX_TBL_ID\",
-  \"LAST_ACCESS_TIME\",
-  \"ORIG_TBL_ID\",
-  \"SD_ID\"
-FROM
-  \"IDXS\""
-)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: SYS@IDXS
-PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `IDXS` (
-  `INDEX_ID` bigint,
-  `CREATE_TIME` int,
-  `DEFERRED_REBUILD` boolean,
-  `INDEX_HANDLER_CLASS` string,
-  `INDEX_NAME` string,
-  `INDEX_TBL_ID` bigint,
-  `LAST_ACCESS_TIME` int,
-  `ORIG_TBL_ID` bigint,
-  `SD_ID` bigint,
-  CONSTRAINT `SYS_PK_IDXS` PRIMARY KEY (`INDEX_ID`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"CREATE_TIME\",
-  \"DEFERRED_REBUILD\",
-  \"INDEX_HANDLER_CLASS\",
-  \"INDEX_NAME\",
-  \"INDEX_TBL_ID\",
-  \"LAST_ACCESS_TIME\",
-  \"ORIG_TBL_ID\",
-  \"SD_ID\"
-FROM
-  \"IDXS\""
-)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: SYS@IDXS
-POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `INDEX_PARAMS` (
-  `INDEX_ID` bigint,
-  `PARAM_KEY` string,
-  `PARAM_VALUE` string,
-  CONSTRAINT `SYS_PK_INDEX_PARAMS` PRIMARY KEY (`INDEX_ID`,`PARAM_KEY`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"PARAM_KEY\",
-  \"PARAM_VALUE\"
-FROM
-  \"INDEX_PARAMS\""
-)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: SYS@INDEX_PARAMS
-PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `INDEX_PARAMS` (
-  `INDEX_ID` bigint,
-  `PARAM_KEY` string,
-  `PARAM_VALUE` string,
-  CONSTRAINT `SYS_PK_INDEX_PARAMS` PRIMARY KEY (`INDEX_ID`,`PARAM_KEY`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"PARAM_KEY\",
-  \"PARAM_VALUE\"
-FROM
-  \"INDEX_PARAMS\""
-)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: SYS@INDEX_PARAMS
-POSTHOOK: Output: database:sys
 PREHOOK: query: CREATE TABLE IF NOT EXISTS `PARTITIONS` (
   `PART_ID` bigint,
   `CREATE_TIME` int,

Reply via email to