You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ga...@apache.org on 2017/11/21 23:56:58 UTC

[15/51] [abbrv] hive git commit: HIVE-17980 Moved HiveMetaStoreClient plus a few remaining classes.

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/java/org/apache/hadoop/hive/metastore/tools/HiveMetaTool.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/tools/HiveMetaTool.java b/metastore/src/java/org/apache/hadoop/hive/metastore/tools/HiveMetaTool.java
deleted file mode 100644
index 22e246f..0000000
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/tools/HiveMetaTool.java
+++ /dev/null
@@ -1,487 +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.tools;
-
-import java.net.URI;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.CommandLineParser;
-import org.apache.commons.cli.GnuParser;
-import org.apache.commons.cli.HelpFormatter;
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.OptionBuilder;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.ParseException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.metastore.ObjectStore;
-
-/**
- * This class provides Hive admins a tool to
- * - execute JDOQL against the metastore using DataNucleus
- * - perform HA name node upgrade
- */
-
-public class HiveMetaTool {
-
-  private static final Logger LOG = LoggerFactory.getLogger(HiveMetaTool.class.getName());
-  private final Options cmdLineOptions = new Options();
-  private ObjectStore objStore;
-  private boolean isObjStoreInitialized;
-
-  public HiveMetaTool() {
-    this.isObjStoreInitialized = false;
-  }
-
-  @SuppressWarnings("static-access")
-  private void init() {
-
-    System.out.println("Initializing HiveMetaTool..");
-
-    Option help = new Option("help", "print this message");
-    Option listFSRoot = new Option("listFSRoot", "print the current FS root locations");
-    Option executeJDOQL =
-        OptionBuilder.withArgName("query-string")
-            .hasArgs()
-            .withDescription("execute the given JDOQL query")
-            .create("executeJDOQL");
-
-    /* Ideally we want to specify the different arguments to updateLocation as separate argNames.
-     * However if we did that, HelpFormatter swallows all but the last argument. Note that this is
-     * a know issue with the HelpFormatter class that has not been fixed. We specify all arguments
-     * with a single argName to workaround this HelpFormatter bug.
-     */
-    Option updateFSRootLoc =
-        OptionBuilder
-            .withArgName("new-loc> " + "<old-loc")
-            .hasArgs(2)
-            .withDescription(
-                "Update FS root location in the metastore to new location.Both new-loc and " +
-                    "old-loc should be valid URIs with valid host names and schemes." +
-                    "When run with the dryRun option changes are displayed but are not " +
-                    "persisted. When run with the serdepropKey/tablePropKey option " +
-                    "updateLocation looks for the serde-prop-key/table-prop-key that is " +
-                    "specified and updates its value if found.")
-                    .create("updateLocation");
-    Option dryRun = new Option("dryRun" , "Perform a dry run of updateLocation changes.When " +
-      "run with the dryRun option updateLocation changes are displayed but not persisted. " +
-      "dryRun is valid only with the updateLocation option.");
-    Option serdePropKey =
-        OptionBuilder.withArgName("serde-prop-key")
-        .hasArgs()
-        .withValueSeparator()
-        .withDescription("Specify the key for serde property to be updated. serdePropKey option " +
-           "is valid only with updateLocation option.")
-        .create("serdePropKey");
-    Option tablePropKey =
-        OptionBuilder.withArgName("table-prop-key")
-        .hasArg()
-        .withValueSeparator()
-        .withDescription("Specify the key for table property to be updated. tablePropKey option " +
-          "is valid only with updateLocation option.")
-        .create("tablePropKey");
-
-    cmdLineOptions.addOption(help);
-    cmdLineOptions.addOption(listFSRoot);
-    cmdLineOptions.addOption(executeJDOQL);
-    cmdLineOptions.addOption(updateFSRootLoc);
-    cmdLineOptions.addOption(dryRun);
-    cmdLineOptions.addOption(serdePropKey);
-    cmdLineOptions.addOption(tablePropKey);
-  }
-
-  private void initObjectStore(HiveConf hiveConf) {
-    if (!isObjStoreInitialized) {
-      objStore = new ObjectStore();
-      objStore.setConf(hiveConf);
-      isObjStoreInitialized = true;
-    }
-  }
-
-  private void shutdownObjectStore() {
-    if (isObjStoreInitialized) {
-      objStore.shutdown();
-      isObjStoreInitialized = false;
-    }
-  }
-
-  private void listFSRoot() {
-    HiveConf hiveConf = new HiveConf(HiveMetaTool.class);
-    initObjectStore(hiveConf);
-
-    Set<String> hdfsRoots = objStore.listFSRoots();
-    if (hdfsRoots != null) {
-      System.out.println("Listing FS Roots..");
-      for (String s : hdfsRoots) {
-        System.out.println(s);
-      }
-    } else {
-      System.err.println("Encountered error during listFSRoot - " +
-        "commit of JDO transaction failed");
-    }
-  }
-
-  private void executeJDOQLSelect(String query) {
-    HiveConf hiveConf = new HiveConf(HiveMetaTool.class);
-    initObjectStore(hiveConf);
-
-    System.out.println("Executing query: " + query);
-    ObjectStore.QueryWrapper queryWrapper = new ObjectStore.QueryWrapper();
-    try {
-      Collection<?> result = objStore.executeJDOQLSelect(query, queryWrapper);
-      if (result != null) {
-        Iterator<?> iter = result.iterator();
-        while (iter.hasNext()) {
-          Object o = iter.next();
-          System.out.println(o.toString());
-        }
-      } else {
-        System.err.println("Encountered error during executeJDOQLSelect -" +
-          "commit of JDO transaction failed.");
-      }
-    } finally {
-      queryWrapper.close();
-    }
-  }
-
-  private long executeJDOQLUpdate(String query) {
-    HiveConf hiveConf = new HiveConf(HiveMetaTool.class);
-    initObjectStore(hiveConf);
-
-    System.out.println("Executing query: " + query);
-    long numUpdated = objStore.executeJDOQLUpdate(query);
-    if (numUpdated >= 0) {
-      System.out.println("Number of records updated: " + numUpdated);
-    } else {
-      System.err.println("Encountered error during executeJDOQL -" +
-        "commit of JDO transaction failed.");
-    }
-    return numUpdated;
-  }
-
-  private int printUpdateLocations(Map<String, String> updateLocations) {
-    int count = 0;
-    for (String key: updateLocations.keySet()) {
-      String value = updateLocations.get(key);
-      System.out.println("old location: " + key + " new location: " + value);
-      count++;
-    }
-    return count;
-  }
-
-  private void printTblURIUpdateSummary(ObjectStore.UpdateMStorageDescriptorTblURIRetVal retVal,
-    boolean isDryRun) {
-    String tblName = new String("SDS");
-    String fieldName = new String("LOCATION");
-
-    if (retVal == null) {
-      System.err.println("Encountered error while executing updateMStorageDescriptorTblURI - " +
-          "commit of JDO transaction failed. Failed to update FSRoot locations in " +
-          fieldName + "field in " + tblName + " table.");
-    } else {
-      Map<String, String> updateLocations = retVal.getUpdateLocations();
-      if (isDryRun) {
-        System.out.println("Dry Run of updateLocation on table " + tblName + "..");
-      } else {
-        System.out.println("Successfully updated the following locations..");
-      }
-      int count = printUpdateLocations(updateLocations);
-      if (isDryRun) {
-        System.out.println("Found " + count + " records in " + tblName + " table to update");
-      } else {
-        System.out.println("Updated " + count + " records in " + tblName + " table");
-      }
-      List<String> badRecords = retVal.getBadRecords();
-      if (badRecords.size() > 0) {
-        System.err.println("Warning: Found records with bad " + fieldName +  " in " +
-          tblName + " table.. ");
-        for (String badRecord:badRecords) {
-          System.err.println("bad location URI: " + badRecord);
-        }
-      }
-      int numNullRecords = retVal.getNumNullRecords();
-      if (numNullRecords != 0) {
-        LOG.debug("Number of NULL location URI: " + numNullRecords +
-            ". This can happen for View or Index.");
-      }
-    }
-  }
-
-  private void printDatabaseURIUpdateSummary(ObjectStore.UpdateMDatabaseURIRetVal retVal,
-    boolean isDryRun) {
-    String tblName = new String("DBS");
-    String fieldName = new String("LOCATION_URI");
-
-    if (retVal == null) {
-      System.err.println("Encountered error while executing updateMDatabaseURI - " +
-          "commit of JDO transaction failed. Failed to update FSRoot locations in " +
-          fieldName + "field in " + tblName + " table.");
-    } else {
-      Map<String, String> updateLocations = retVal.getUpdateLocations();
-      if (isDryRun) {
-        System.out.println("Dry Run of updateLocation on table " + tblName + "..");
-      } else {
-        System.out.println("Successfully updated the following locations..");
-      }
-      int count = printUpdateLocations(updateLocations);
-      if (isDryRun) {
-        System.out.println("Found " + count + " records in " + tblName + " table to update");
-      } else {
-        System.out.println("Updated " + count + " records in " + tblName + " table");
-      }
-      List<String> badRecords = retVal.getBadRecords();
-      if (badRecords.size() > 0) {
-        System.err.println("Warning: Found records with bad " + fieldName +  " in " +
-          tblName + " table.. ");
-        for (String badRecord:badRecords) {
-          System.err.println("bad location URI: " + badRecord);
-        }
-      }
-    }
-  }
-
-  private void printPropURIUpdateSummary(ObjectStore.UpdatePropURIRetVal retVal, String
-      tablePropKey, boolean isDryRun, String tblName, String methodName) {
-    if (retVal == null) {
-      System.err.println("Encountered error while executing " + methodName + " - " +
-          "commit of JDO transaction failed. Failed to update FSRoot locations in " +
-          "value field corresponding to" + tablePropKey + " in " + tblName + " table.");
-    } else {
-      Map<String, String> updateLocations = retVal.getUpdateLocations();
-      if (isDryRun) {
-        System.out.println("Dry Run of updateLocation on table " + tblName + "..");
-      } else {
-        System.out.println("Successfully updated the following locations..");
-      }
-      int count = printUpdateLocations(updateLocations);
-      if (isDryRun) {
-        System.out.println("Found " + count + " records in " + tblName + " table to update");
-      } else {
-        System.out.println("Updated " + count + " records in " + tblName + " table");
-      }
-      List<String> badRecords = retVal.getBadRecords();
-      if (badRecords.size() > 0) {
-        System.err.println("Warning: Found records with bad " + tablePropKey +  " key in " +
-            tblName + " table.. ");
-        for (String badRecord:badRecords) {
-          System.err.println("bad location URI: " + badRecord);
-        }
-      }
-    }
-  }
-
-  private void printSerdePropURIUpdateSummary(ObjectStore.UpdateSerdeURIRetVal retVal,
-    String serdePropKey, boolean isDryRun) {
-    String tblName = new String("SERDE_PARAMS");
-
-    if (retVal == null) {
-      System.err.println("Encountered error while executing updateSerdeURI - " +
-        "commit of JDO transaction failed. Failed to update FSRoot locations in " +
-        "value field corresponding to " + serdePropKey + " in " + tblName + " table.");
-    } else {
-      Map<String, String> updateLocations = retVal.getUpdateLocations();
-      if (isDryRun) {
-        System.out.println("Dry Run of updateLocation on table " + tblName + "..");
-      } else {
-        System.out.println("Successfully updated the following locations..");
-      }
-      int count = printUpdateLocations(updateLocations);
-      if (isDryRun) {
-        System.out.println("Found " + count + " records in " + tblName + " table to update");
-      } else {
-        System.out.println("Updated " + count + " records in " + tblName + " table");
-      }
-      List<String> badRecords = retVal.getBadRecords();
-      if (badRecords.size() > 0) {
-        System.err.println("Warning: Found records with bad " + serdePropKey +  " key in " +
-        tblName + " table.. ");
-        for (String badRecord:badRecords) {
-          System.err.println("bad location URI: " + badRecord);
-        }
-      }
-    }
-  }
-
-  public void updateFSRootLocation(URI oldURI, URI newURI, String serdePropKey, String
-      tablePropKey, boolean isDryRun) {
-    HiveConf hiveConf = new HiveConf(HiveMetaTool.class);
-    initObjectStore(hiveConf);
-
-    System.out.println("Looking for LOCATION_URI field in DBS table to update..");
-    ObjectStore.UpdateMDatabaseURIRetVal updateMDBURIRetVal = objStore.updateMDatabaseURI(oldURI,
-                                                                 newURI, isDryRun);
-    printDatabaseURIUpdateSummary(updateMDBURIRetVal, isDryRun);
-
-    System.out.println("Looking for LOCATION field in SDS table to update..");
-    ObjectStore.UpdateMStorageDescriptorTblURIRetVal updateTblURIRetVal =
-                         objStore.updateMStorageDescriptorTblURI(oldURI, newURI, isDryRun);
-    printTblURIUpdateSummary(updateTblURIRetVal, isDryRun);
-
-    if (tablePropKey != null) {
-      System.out.println("Looking for value of " + tablePropKey + " key in TABLE_PARAMS table " +
-          "to update..");
-      ObjectStore.UpdatePropURIRetVal updateTblPropURIRetVal =
-          objStore.updateTblPropURI(oldURI, newURI,
-              tablePropKey, isDryRun);
-      printPropURIUpdateSummary(updateTblPropURIRetVal, tablePropKey, isDryRun, "TABLE_PARAMS",
-          "updateTblPropURI");
-
-      System.out.println("Looking for value of " + tablePropKey + " key in SD_PARAMS table " +
-        "to update..");
-      ObjectStore.UpdatePropURIRetVal updatePropURIRetVal = objStore
-          .updateMStorageDescriptorTblPropURI(oldURI, newURI, tablePropKey, isDryRun);
-      printPropURIUpdateSummary(updatePropURIRetVal, tablePropKey, isDryRun, "SD_PARAMS",
-          "updateMStorageDescriptorTblPropURI");
-    }
-
-    if (serdePropKey != null) {
-      System.out.println("Looking for value of " + serdePropKey + " key in SERDE_PARAMS table " +
-        "to update..");
-      ObjectStore.UpdateSerdeURIRetVal updateSerdeURIretVal = objStore.updateSerdeURI(oldURI,
-                                                                newURI, serdePropKey, isDryRun);
-      printSerdePropURIUpdateSummary(updateSerdeURIretVal, serdePropKey, isDryRun);
-    }
-  }
-
-  private static void printAndExit(HiveMetaTool metaTool) {
-    HelpFormatter formatter = new HelpFormatter();
-    formatter.printHelp("metatool", metaTool.cmdLineOptions);
-    System.exit(1);
-  }
-
-  public static void main(String[] args) {
-    HiveMetaTool metaTool = new HiveMetaTool();
-    metaTool.init();
-    CommandLineParser parser = new GnuParser();
-    CommandLine line = null;
-
-    try {
-      try {
-        line = parser.parse(metaTool.cmdLineOptions, args);
-      } catch (ParseException e) {
-        System.err.println("HiveMetaTool:Parsing failed.  Reason: " + e.getLocalizedMessage());
-        printAndExit(metaTool);
-      }
-
-      if (line.hasOption("help")) {
-        HelpFormatter formatter = new HelpFormatter();
-        formatter.printHelp("metatool", metaTool.cmdLineOptions);
-      } else if (line.hasOption("listFSRoot")) {
-        if (line.hasOption("dryRun")) {
-          System.err.println("HiveMetaTool: dryRun is not valid with listFSRoot");
-          printAndExit(metaTool);
-        } else if (line.hasOption("serdePropKey")) {
-          System.err.println("HiveMetaTool: serdePropKey is not valid with listFSRoot");
-          printAndExit(metaTool);
-        } else if (line.hasOption("tablePropKey")) {
-          System.err.println("HiveMetaTool: tablePropKey is not valid with listFSRoot");
-          printAndExit(metaTool);
-        }
-        metaTool.listFSRoot();
-      } else if (line.hasOption("executeJDOQL")) {
-        String query = line.getOptionValue("executeJDOQL");
-        if (line.hasOption("dryRun")) {
-          System.err.println("HiveMetaTool: dryRun is not valid with executeJDOQL");
-          printAndExit(metaTool);
-        } else if (line.hasOption("serdePropKey")) {
-          System.err.println("HiveMetaTool: serdePropKey is not valid with executeJDOQL");
-          printAndExit(metaTool);
-        } else if (line.hasOption("tablePropKey")) {
-          System.err.println("HiveMetaTool: tablePropKey is not valid with executeJDOQL");
-          printAndExit(metaTool);
-        }
-        if (query.toLowerCase().trim().startsWith("select")) {
-          metaTool.executeJDOQLSelect(query);
-        } else if (query.toLowerCase().trim().startsWith("update")) {
-          metaTool.executeJDOQLUpdate(query);
-        } else {
-          System.err.println("HiveMetaTool:Unsupported statement type");
-          printAndExit(metaTool);
-        }
-      } else if (line.hasOption("updateLocation")) {
-        String[] loc = line.getOptionValues("updateLocation");
-        boolean isDryRun = false;
-        String serdepropKey = null;
-        String tablePropKey = null;
-
-        if (loc.length != 2 && loc.length != 3) {
-          System.err.println("HiveMetaTool:updateLocation takes in 2 required and 1 " +
-              "optional arguments but " +
-              "was passed " + loc.length + " arguments");
-          printAndExit(metaTool);
-        }
-
-        Path newPath = new Path(loc[0]);
-        Path oldPath = new Path(loc[1]);
-
-        URI oldURI = oldPath.toUri();
-        URI newURI = newPath.toUri();
-
-        if (line.hasOption("dryRun")) {
-          isDryRun = true;
-        }
-
-        if (line.hasOption("serdePropKey")) {
-          serdepropKey = line.getOptionValue("serdePropKey");
-        }
-
-        if (line.hasOption("tablePropKey")) {
-          tablePropKey = line.getOptionValue("tablePropKey");
-        }
-
-        /*
-         * validate input - Both new and old URI should contain valid host names and valid schemes.
-         * port is optional in both the URIs since HDFS HA NN URI doesn't have a port.
-         */
-          if (oldURI.getHost() == null || newURI.getHost() == null) {
-            System.err.println("HiveMetaTool:A valid host is required in both old-loc and new-loc");
-          } else if (oldURI.getScheme() == null || newURI.getScheme() == null) {
-            System.err.println("HiveMetaTool:A valid scheme is required in both old-loc and new-loc");
-          } else {
-            metaTool.updateFSRootLocation(oldURI, newURI, serdepropKey, tablePropKey, isDryRun);
-          }
-        } else {
-          if (line.hasOption("dryRun")) {
-            System.err.println("HiveMetaTool: dryRun is not a valid standalone option");
-          } else if (line.hasOption("serdePropKey")) {
-            System.err.println("HiveMetaTool: serdePropKey is not a valid standalone option");
-          } else if (line.hasOption("tablePropKey")) {
-            System.err.println("HiveMetaTool: tablePropKey is not a valid standalone option");
-            printAndExit(metaTool);
-          } else {
-            System.err.print("HiveMetaTool:Parsing failed.  Reason: Invalid arguments: " );
-            for (String s : line.getArgs()) {
-              System.err.print(s + " ");
-            }
-            System.err.println();
-          }
-          printAndExit(metaTool);
-        }
-      } finally {
-        metaTool.shutdownObjectStore();
-      }
-   }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/test/org/apache/hadoop/hive/metastore/AlternateFailurePreListener.java
----------------------------------------------------------------------
diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/AlternateFailurePreListener.java b/metastore/src/test/org/apache/hadoop/hive/metastore/AlternateFailurePreListener.java
deleted file mode 100644
index 22146ba..0000000
--- a/metastore/src/test/org/apache/hadoop/hive/metastore/AlternateFailurePreListener.java
+++ /dev/null
@@ -1,62 +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;
-
-import javax.jdo.JDOException;
-
-import org.apache.hadoop.conf.Configuration;
-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.events.PreEventContext;
-
-/**
- *
- * AlternateFailurePreListener.
- *
- * An implementation of MetaStorePreEventListener which fails every other time it's invoked,
- * starting with the first time.
- *
- * It also records and makes available the number of times it's been invoked.
- */
-public class AlternateFailurePreListener extends MetaStorePreEventListener {
-
-  private static int callCount = 0;
-  private static boolean throwException = true;
-
-  public AlternateFailurePreListener(Configuration config) {
-    super(config);
-  }
-
-  @Override
-  public void onEvent(PreEventContext context) throws MetaException, NoSuchObjectException,
-      InvalidOperationException {
-
-    callCount++;
-    if (throwException) {
-      throwException = false;
-      throw new JDOException();
-    }
-
-    throwException = true;
-  }
-
-  public static int getCallCount() {
-    return callCount;
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/test/org/apache/hadoop/hive/metastore/DummyEndFunctionListener.java
----------------------------------------------------------------------
diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyEndFunctionListener.java b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyEndFunctionListener.java
deleted file mode 100644
index ac62cd5..0000000
--- a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyEndFunctionListener.java
+++ /dev/null
@@ -1,47 +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;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.hadoop.conf.Configuration;
-
-
-/** A dummy implementation for
- * {@link org.apache.hadoop.hive.metastore.MetaStoreEndFunctionListener}
- * for testing purposes.
- */
-public class DummyEndFunctionListener extends MetaStoreEndFunctionListener{
-
-  public static final List<String> funcNameList = new ArrayList<String>();
-  public static final List<MetaStoreEndFunctionContext> contextList =
-    new ArrayList<MetaStoreEndFunctionContext>();
-
-  public DummyEndFunctionListener(Configuration config) {
-    super(config);
-  }
-
-  @Override
-  public void onEndFunction(String functionName, MetaStoreEndFunctionContext context) {
-    funcNameList.add(functionName);
-    contextList.add(context);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/test/org/apache/hadoop/hive/metastore/DummyListener.java
----------------------------------------------------------------------
diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyListener.java b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyListener.java
deleted file mode 100644
index 182e724..0000000
--- a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyListener.java
+++ /dev/null
@@ -1,144 +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;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-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.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.ListenerEvent;
-import org.apache.hadoop.hive.metastore.events.LoadPartitionDoneEvent;
-
-/** A dummy implementation for
- * {@link org.apache.hadoop.hive.metastore.MetaStoreEventListener}
- * for testing purposes.
- */
-public class DummyListener extends MetaStoreEventListener{
-
-  public static final List<ListenerEvent> notifyList = new ArrayList<ListenerEvent>();
-
-  /**
-   * @return The last event received, or null if no event was received.
-   */
-  public static ListenerEvent getLastEvent() {
-    if (notifyList.isEmpty()) {
-      return null;
-    } else {
-      return notifyList.get(notifyList.size() - 1);
-    }
-  }
-
-  public DummyListener(Configuration config) {
-    super(config);
-  }
-
-  @Override
-  public void onConfigChange(ConfigChangeEvent configChange) {
-    addEvent(configChange);
-  }
-
-  @Override
-  public void onAddPartition(AddPartitionEvent partition) throws MetaException {
-    addEvent(partition);
-  }
-
-  @Override
-  public void onCreateDatabase(CreateDatabaseEvent db) throws MetaException {
-    addEvent(db);
-  }
-
-  @Override
-  public void onCreateTable(CreateTableEvent table) throws MetaException {
-    addEvent(table);
-  }
-
-  @Override
-  public void onDropDatabase(DropDatabaseEvent db) throws MetaException {
-    addEvent(db);
-  }
-
-  @Override
-  public void onDropPartition(DropPartitionEvent partition) throws MetaException {
-    addEvent(partition);
-  }
-
-  @Override
-  public void onDropTable(DropTableEvent table) throws MetaException {
-    addEvent(table);
-  }
-
-  @Override
-  public void onAlterTable(AlterTableEvent event) throws MetaException {
-    addEvent(event);
-  }
-
-  @Override
-  public void onAlterPartition(AlterPartitionEvent event) throws MetaException {
-    addEvent(event);
-  }
-
-  @Override
-  public void onLoadPartitionDone(LoadPartitionDoneEvent partEvent) throws MetaException {
-    addEvent(partEvent);
-  }
-
-  @Override
-  public void onAddIndex(AddIndexEvent indexEvent) throws MetaException {
-    addEvent(indexEvent);
-  }
-
-  @Override
-  public void onDropIndex(DropIndexEvent indexEvent) throws MetaException {
-    addEvent(indexEvent);
-  }
-
-  @Override
-  public void onAlterIndex(AlterIndexEvent indexEvent) throws MetaException {
-    addEvent(indexEvent);
-  }
-
-  @Override
-  public void onCreateFunction (CreateFunctionEvent fnEvent) throws MetaException {
-    addEvent(fnEvent);
-  }
-
-  @Override
-  public void onDropFunction (DropFunctionEvent fnEvent) throws MetaException {
-    addEvent(fnEvent);
-  }
-
-  private void addEvent(ListenerEvent event) {
-    notifyList.add(event);
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/test/org/apache/hadoop/hive/metastore/DummyMetaStoreInitListener.java
----------------------------------------------------------------------
diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyMetaStoreInitListener.java b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyMetaStoreInitListener.java
deleted file mode 100644
index 2eb8354..0000000
--- a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyMetaStoreInitListener.java
+++ /dev/null
@@ -1,44 +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;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.metastore.MetaStoreInitContext;
-import org.apache.hadoop.hive.metastore.MetaStoreInitListener;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-
-/*
- * An implementation of MetaStoreInitListener to verify onInit is called when
- * HMSHandler is initialized
- */
-public class DummyMetaStoreInitListener extends MetaStoreInitListener{
-
-  public static boolean wasCalled = false;
-  public DummyMetaStoreInitListener(Configuration config) {
-    super(config);
-  }
-
-  @Override
-  public void onInit(MetaStoreInitContext context) throws MetaException {
-    wasCalled = true;
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/test/org/apache/hadoop/hive/metastore/DummyPreListener.java
----------------------------------------------------------------------
diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyPreListener.java b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyPreListener.java
deleted file mode 100644
index 7ff6f92..0000000
--- a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyPreListener.java
+++ /dev/null
@@ -1,49 +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;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.hadoop.conf.Configuration;
-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.events.PreEventContext;
-
-/**
- *
- * DummyPreListener.
- *
- * An implementation of MetaStorePreEventListener which stores the Events it's seen in a list.
- */
-public class DummyPreListener extends MetaStorePreEventListener {
-
-  public static final List<PreEventContext> notifyList = new ArrayList<PreEventContext>();
-
-  public DummyPreListener(Configuration config) {
-    super(config);
-  }
-
-  @Override
-  public void onEvent(PreEventContext context) throws MetaException, NoSuchObjectException,
-      InvalidOperationException {
-    notifyList.add(context);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
----------------------------------------------------------------------
diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
deleted file mode 100644
index 95aeb25..0000000
--- a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
+++ /dev/null
@@ -1,1007 +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;
-
-import org.apache.hadoop.hive.metastore.api.WMFullResourcePlan;
-
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.hadoop.conf.Configurable;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.metastore.api.AggrStats;
-import org.apache.hadoop.hive.metastore.api.AlreadyExistsException;
-import org.apache.hadoop.hive.metastore.api.ColumnStatistics;
-import org.apache.hadoop.hive.metastore.api.ColumnStatisticsObj;
-import org.apache.hadoop.hive.metastore.api.CurrentNotificationEventId;
-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.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;
-import org.apache.hadoop.hive.metastore.api.InvalidPartitionException;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
-import org.apache.hadoop.hive.metastore.api.NotificationEvent;
-import org.apache.hadoop.hive.metastore.api.NotificationEventRequest;
-import org.apache.hadoop.hive.metastore.api.NotificationEventResponse;
-import org.apache.hadoop.hive.metastore.api.NotificationEventsCountRequest;
-import org.apache.hadoop.hive.metastore.api.NotificationEventsCountResponse;
-import org.apache.hadoop.hive.metastore.api.Partition;
-import org.apache.hadoop.hive.metastore.api.PartitionEventType;
-import org.apache.hadoop.hive.metastore.api.PartitionValuesResponse;
-import org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet;
-import org.apache.hadoop.hive.metastore.api.PrincipalType;
-import org.apache.hadoop.hive.metastore.api.PrivilegeBag;
-import org.apache.hadoop.hive.metastore.api.WMResourcePlan;
-import org.apache.hadoop.hive.metastore.api.WMTrigger;
-import org.apache.hadoop.hive.metastore.api.Role;
-import org.apache.hadoop.hive.metastore.api.RolePrincipalGrant;
-import org.apache.hadoop.hive.metastore.api.SQLForeignKey;
-import org.apache.hadoop.hive.metastore.api.SQLNotNullConstraint;
-import org.apache.hadoop.hive.metastore.api.SQLPrimaryKey;
-import org.apache.hadoop.hive.metastore.api.SQLUniqueConstraint;
-import org.apache.hadoop.hive.metastore.api.Table;
-import org.apache.hadoop.hive.metastore.api.TableMeta;
-import org.apache.hadoop.hive.metastore.api.Type;
-import org.apache.hadoop.hive.metastore.api.UnknownDBException;
-import org.apache.hadoop.hive.metastore.api.UnknownPartitionException;
-import org.apache.hadoop.hive.metastore.api.UnknownTableException;
-import org.apache.hadoop.hive.metastore.partition.spec.PartitionSpecProxy;
-import org.apache.thrift.TException;
-
-/**
- * A wrapper around {@link org.apache.hadoop.hive.metastore.ObjectStore}
- * with the ability to control the result of commitTransaction().
- * All other functions simply delegate to an embedded ObjectStore object.
- * Ideally, we should have just extended ObjectStore instead of using
- * delegation.  However, since HiveMetaStore uses a Proxy, this class must
- * not inherit from any other class.
- */
-public class DummyRawStoreControlledCommit implements RawStore, Configurable {
-
-  private final ObjectStore objectStore;
-  public DummyRawStoreControlledCommit() {
-    objectStore = new ObjectStore();
-  }
-
- /**
-  * If true, shouldCommit() will simply call delegate commitTransaction() to the
-  * underlying ObjectStore.
-  * If false, shouldCommit() immediately returns false.
-  */
-  private static boolean shouldCommitSucceed = true;
-  public static void setCommitSucceed(boolean flag) {
-    shouldCommitSucceed = flag;
-  }
-
-  @Override
-  public boolean commitTransaction() {
-    if (shouldCommitSucceed) {
-      return objectStore.commitTransaction();
-    } else {
-      return false;
-    }
-  }
-
-  @Override
-  public boolean isActiveTransaction() {
-    return false;
-  }
-
-  // All remaining functions simply delegate to objectStore
-
-  @Override
-  public Configuration getConf() {
-    return objectStore.getConf();
-  }
-
-  @Override
-  public void setConf(Configuration conf) {
-    objectStore.setConf(conf);
-  }
-
-  @Override
-  public void shutdown() {
-    objectStore.shutdown();
-  }
-
-  @Override
-  public boolean openTransaction() {
-    return objectStore.openTransaction();
-  }
-
-  @Override
-  public void rollbackTransaction() {
-    objectStore.rollbackTransaction();
-  }
-
-  @Override
-  public void createDatabase(Database db) throws InvalidObjectException, MetaException {
-    objectStore.createDatabase(db);
-  }
-
-  @Override
-  public Database getDatabase(String dbName) throws NoSuchObjectException {
-    return objectStore.getDatabase(dbName);
-  }
-
-  @Override
-  public boolean dropDatabase(String dbName)
-      throws NoSuchObjectException, MetaException {
-    return objectStore.dropDatabase(dbName);
-  }
-
-  @Override
-  public boolean alterDatabase(String dbName, Database db)
-      throws NoSuchObjectException, MetaException {
-
-    return objectStore.alterDatabase(dbName, db);
-  }
-
-  @Override
-  public List<String> getDatabases(String pattern) throws MetaException {
-    return objectStore.getDatabases(pattern);
-  }
-
-  @Override
-  public List<String> getAllDatabases() throws MetaException {
-    return objectStore.getAllDatabases();
-  }
-
-  @Override
-  public boolean createType(Type type) {
-    return objectStore.createType(type);
-  }
-
-  @Override
-  public Type getType(String typeName) {
-    return objectStore.getType(typeName);
-  }
-
-  @Override
-  public boolean dropType(String typeName) {
-    return objectStore.dropType(typeName);
-  }
-
-  @Override
-  public void createTable(Table tbl) throws InvalidObjectException, MetaException {
-    objectStore.createTable(tbl);
-  }
-
-  @Override
-  public boolean dropTable(String dbName, String tableName)
-      throws MetaException, NoSuchObjectException,
-      InvalidObjectException, InvalidInputException {
-    return objectStore.dropTable(dbName, tableName);
-  }
-
-  @Override
-  public Table getTable(String dbName, String tableName) throws MetaException {
-    return objectStore.getTable(dbName, tableName);
-  }
-
-  @Override
-  public boolean addPartition(Partition part)
-      throws InvalidObjectException, MetaException {
-    return objectStore.addPartition(part);
-  }
-
-  @Override
-  public Partition getPartition(String dbName, String tableName, List<String> partVals)
-      throws MetaException, NoSuchObjectException {
-    return objectStore.getPartition(dbName, tableName, partVals);
-  }
-
-  @Override
-  public boolean dropPartition(String dbName, String tableName, List<String> partVals)
-      throws MetaException, NoSuchObjectException,
-      InvalidObjectException, InvalidInputException {
-    return objectStore.dropPartition(dbName, tableName, partVals);
-  }
-
-  @Override
-  public List<Partition> getPartitions(String dbName, String tableName, int max)
-      throws MetaException, NoSuchObjectException {
-    return objectStore.getPartitions(dbName, tableName, max);
-  }
-
-  @Override
-  public void alterTable(String dbName, String name, Table newTable)
-      throws InvalidObjectException, MetaException {
-    objectStore.alterTable(dbName, name, newTable);
-  }
-
-  @Override
-  public List<String> getTables(String dbName, String pattern) throws MetaException {
-    return objectStore.getTables(dbName, pattern);
-  }
-
-  @Override
-  public List<String> getTables(String dbName, String pattern, TableType tableType) throws MetaException {
-    return objectStore.getTables(dbName, pattern, tableType);
-  }
-
-  @Override
-  public List<TableMeta> getTableMeta(String dbNames, String tableNames, List<String> tableTypes)
-      throws MetaException {
-    return objectStore.getTableMeta(dbNames, tableNames, tableTypes);
-  }
-
-  @Override
-  public List<Table> getTableObjectsByName(String dbName, List<String> tableNames)
-      throws MetaException, UnknownDBException {
-    return objectStore.getTableObjectsByName(dbName, tableNames);
-  }
-
-  @Override
-  public List<String> getAllTables(String dbName) throws MetaException {
-    return objectStore.getAllTables(dbName);
-  }
-
-  @Override
-  public List<String> listTableNamesByFilter(String dbName, String filter,
-      short maxTables) throws MetaException, UnknownDBException {
-    return objectStore.listTableNamesByFilter(dbName, filter, maxTables);
-  }
-
-  @Override
-  public List<String> listPartitionNames(String dbName, String tblName, short maxParts)
-      throws MetaException {
-    return objectStore.listPartitionNames(dbName, tblName, maxParts);
-  }
-
-  @Override
-  public PartitionValuesResponse listPartitionValues(String db_name, String tbl_name, List<FieldSchema> cols, boolean applyDistinct, String filter, boolean ascending, List<FieldSchema> order, long maxParts) throws MetaException {
-    return null;
-  }
-
-  @Override
-  public List<String> listPartitionNamesByFilter(String dbName, String tblName,
-      String filter, short maxParts) throws MetaException {
-    return objectStore.listPartitionNamesByFilter(dbName, tblName, filter, maxParts);
-  }
-
-  @Override
-  public void alterPartition(String dbName, String tblName, List<String> partVals,
-      Partition newPart) throws InvalidObjectException, MetaException {
-    objectStore.alterPartition(dbName, tblName, partVals, newPart);
-  }
-
-  @Override
-  public void alterPartitions(String dbName, String tblName,
-      List<List<String>> partValsList, List<Partition> newParts)
-      throws InvalidObjectException, MetaException {
-    objectStore.alterPartitions(dbName, tblName, partValsList, newParts);
-  }
-
-  @Override
-  public boolean addIndex(Index index) throws InvalidObjectException, MetaException {
-    return objectStore.addIndex(index);
-  }
-
-  @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 {
-    return objectStore.dropIndex(dbName, origTableName, indexName);
-  }
-
-  @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 {
-    objectStore.alterIndex(dbName, baseTblName, name, newIndex);
-  }
-
-  @Override
-  public List<Partition> getPartitionsByFilter(String dbName, String tblName,
-      String filter, short maxParts) throws MetaException, NoSuchObjectException {
-    return objectStore.getPartitionsByFilter(dbName, tblName, filter, maxParts);
-  }
-
-  @Override
-  public int getNumPartitionsByFilter(String dbName, String tblName,
-                                      String filter) throws MetaException, NoSuchObjectException {
-    return objectStore.getNumPartitionsByFilter(dbName, tblName, filter);
-  }
-
-  @Override
-  public int getNumPartitionsByExpr(String dbName, String tblName,
-                                      byte[] expr) throws MetaException, NoSuchObjectException {
-    return objectStore.getNumPartitionsByExpr(dbName, tblName, expr);
-  }
-
-  @Override
-  public List<Partition> getPartitionsByNames(String dbName, String tblName,
-      List<String> partNames) throws MetaException, NoSuchObjectException {
-    return objectStore.getPartitionsByNames(dbName, tblName, partNames);
-  }
-
-  @Override
-  public boolean getPartitionsByExpr(String dbName, String tblName, byte[] expr,
-      String defaultPartitionName, short maxParts, List<Partition> result) throws TException {
-    return objectStore.getPartitionsByExpr(
-        dbName, tblName, expr, defaultPartitionName, maxParts, result);
-  }
-
-  @Override
-  public Table markPartitionForEvent(String dbName, String tblName,
-      Map<String, String> partVals, PartitionEventType evtType)
-      throws MetaException, UnknownTableException, InvalidPartitionException,
-      UnknownPartitionException {
-    return objectStore.markPartitionForEvent(dbName, tblName, partVals, evtType);
-  }
-
-  @Override
-  public boolean isPartitionMarkedForEvent(String dbName, String tblName,
-      Map<String, String> partName, PartitionEventType evtType)
-      throws MetaException, UnknownTableException, InvalidPartitionException,
-      UnknownPartitionException {
-    return objectStore.isPartitionMarkedForEvent(dbName, tblName, partName, evtType);
-  }
-
-  @Override
-  public boolean addRole(String rowName, String ownerName) throws InvalidObjectException,
-      MetaException, NoSuchObjectException {
-    return objectStore.addRole(rowName, ownerName);
-  }
-
-  @Override
-  public boolean removeRole(String roleName)
-      throws MetaException, NoSuchObjectException {
-    return objectStore.removeRole(roleName);
-  }
-
-  @Override
-  public boolean grantRole(Role role, String userName, PrincipalType principalType,
-      String grantor, PrincipalType grantorType, boolean grantOption)
-      throws MetaException, NoSuchObjectException, InvalidObjectException {
-    return objectStore.grantRole(role, userName, principalType, grantor, grantorType,
-        grantOption);
-  }
-
-  @Override
-  public boolean revokeRole(Role role, String userName, PrincipalType principalType, boolean grantOption)
-      throws MetaException, NoSuchObjectException {
-    return objectStore.revokeRole(role, userName, principalType, grantOption);
-  }
-
-  @Override
-  public PrincipalPrivilegeSet getUserPrivilegeSet(String userName,
-      List<String> groupNames) throws InvalidObjectException, MetaException {
-    return objectStore.getUserPrivilegeSet(userName, groupNames);
-  }
-
-  @Override
-  public PrincipalPrivilegeSet getDBPrivilegeSet(String dbName, String userName,
-      List<String> groupNames) throws InvalidObjectException, MetaException {
-    return objectStore.getDBPrivilegeSet(dbName, userName, groupNames);
-  }
-
-  @Override
-  public PrincipalPrivilegeSet getTablePrivilegeSet(String dbName, String tableName,
-      String userName, List<String> groupNames)
-      throws InvalidObjectException, MetaException {
-    return objectStore.getTablePrivilegeSet(dbName, tableName, userName, groupNames);
-  }
-
-  @Override
-  public PrincipalPrivilegeSet getPartitionPrivilegeSet(String dbName, String tableName,
-      String partition, String userName, List<String> groupNames)
-      throws InvalidObjectException, MetaException {
-    return objectStore.getPartitionPrivilegeSet(dbName, tableName, partition,
-        userName, groupNames);
-  }
-
-  @Override
-  public PrincipalPrivilegeSet getColumnPrivilegeSet(String dbName, String tableName,
-      String partitionName, String columnName, String userName, List<String> groupNames)
-      throws InvalidObjectException, MetaException {
-    return objectStore.getColumnPrivilegeSet(dbName, tableName, partitionName,
-        columnName, userName, groupNames);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPrincipalGlobalGrants(String principalName,
-      PrincipalType principalType) {
-    return objectStore.listPrincipalGlobalGrants(principalName, principalType);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPrincipalDBGrants(String principalName,
-      PrincipalType principalType, String dbName) {
-    return objectStore.listPrincipalDBGrants(principalName, principalType, dbName);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listAllTableGrants(String principalName,
-      PrincipalType principalType, String dbName, String tableName) {
-    return objectStore.listAllTableGrants(principalName, principalType,
-        dbName, tableName);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPrincipalPartitionGrants(String principalName,
-      PrincipalType principalType, String dbName, String tableName, List<String> partValues,
-      String partName) {
-    return objectStore.listPrincipalPartitionGrants(principalName, principalType,
-        dbName, tableName, partValues, partName);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPrincipalTableColumnGrants(String principalName,
-      PrincipalType principalType, String dbName, String tableName, String columnName) {
-    return objectStore.listPrincipalTableColumnGrants(principalName, principalType,
-        dbName, tableName, columnName);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPrincipalPartitionColumnGrants(
-      String principalName, PrincipalType principalType, String dbName, String tableName,
-      List<String> partVals, String partName, String columnName) {
-    return objectStore.listPrincipalPartitionColumnGrants(principalName, principalType,
-        dbName, tableName, partVals, partName, columnName);
-  }
-
-  @Override
-  public boolean grantPrivileges(PrivilegeBag privileges) throws InvalidObjectException,
-      MetaException, NoSuchObjectException {
-    return objectStore.grantPrivileges(privileges);
-  }
-
-  @Override
-  public boolean revokePrivileges(PrivilegeBag privileges, boolean grantOption)
-      throws InvalidObjectException, MetaException, NoSuchObjectException {
-    return objectStore.revokePrivileges(privileges, grantOption);
-  }
-
-  @Override
-  public Role getRole(String roleName) throws NoSuchObjectException {
-    return objectStore.getRole(roleName);
-  }
-
-  @Override
-  public List<String> listRoleNames() {
-    return objectStore.listRoleNames();
-  }
-
-  @Override
-  public List<Role> listRoles(String principalName, PrincipalType principalType) {
-    return objectStore.listRoles(principalName, principalType);
-  }
-
-  @Override
-  public List<RolePrincipalGrant> listRolesWithGrants(String principalName,
-                                                      PrincipalType principalType) {
-    return objectStore.listRolesWithGrants(principalName, principalType);
-  }
-
-  @Override
-  public List<RolePrincipalGrant> listRoleMembers(String roleName) {
-    return objectStore.listRoleMembers(roleName);
-  }
-
-  @Override
-  public Partition getPartitionWithAuth(String dbName, String tblName,
-      List<String> partVals, String userName, List<String> groupNames)
-      throws MetaException, NoSuchObjectException, InvalidObjectException {
-    return objectStore.getPartitionWithAuth(dbName, tblName, partVals, userName,
-        groupNames);
-  }
-
-  @Override
-  public List<Partition> getPartitionsWithAuth(String dbName, String tblName,
-      short maxParts, String userName, List<String> groupNames)
-      throws MetaException, NoSuchObjectException, InvalidObjectException {
-    return objectStore.getPartitionsWithAuth(dbName, tblName, maxParts, userName,
-        groupNames);
-  }
-
-  @Override
-  public List<String> listPartitionNamesPs(String dbName, String tblName,
-      List<String> partVals, short maxParts)
-      throws MetaException, NoSuchObjectException {
-    return objectStore.listPartitionNamesPs(dbName, tblName, partVals, maxParts);
-  }
-
-  @Override
-  public List<Partition> listPartitionsPsWithAuth(String dbName, String tblName,
-      List<String> partVals, short maxParts, String userName, List<String> groupNames)
-      throws MetaException, InvalidObjectException, NoSuchObjectException {
-    return objectStore.listPartitionsPsWithAuth(dbName, tblName, partVals, maxParts,
-        userName, groupNames);
-  }
-
-  @Override
-  public long cleanupEvents() {
-    return objectStore.cleanupEvents();
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPrincipalDBGrantsAll(
-      String principalName, PrincipalType principalType) {
-    return objectStore.listPrincipalDBGrantsAll(principalName, principalType);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPrincipalTableGrantsAll(
-      String principalName, PrincipalType principalType) {
-    return objectStore.listPrincipalTableGrantsAll(principalName, principalType);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPrincipalPartitionGrantsAll(
-      String principalName, PrincipalType principalType) {
-    return objectStore.listPrincipalPartitionGrantsAll(principalName, principalType);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPrincipalTableColumnGrantsAll(
-      String principalName, PrincipalType principalType) {
-    return objectStore.listPrincipalTableColumnGrantsAll(principalName, principalType);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPrincipalPartitionColumnGrantsAll(
-      String principalName, PrincipalType principalType) {
-    return objectStore.listPrincipalPartitionColumnGrantsAll(principalName, principalType);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listGlobalGrantsAll() {
-    return objectStore.listGlobalGrantsAll();
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listDBGrantsAll(String dbName) {
-    return objectStore.listDBGrantsAll(dbName);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPartitionColumnGrantsAll(String dbName, String tableName,
-      String partitionName, String columnName) {
-    return objectStore.listPartitionColumnGrantsAll(dbName, tableName, partitionName, columnName);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listTableGrantsAll(String dbName, String tableName) {
-    return objectStore.listTableGrantsAll(dbName, tableName);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listPartitionGrantsAll(String dbName, String tableName,
-      String partitionName) {
-    return objectStore.listPartitionGrantsAll(dbName, tableName, partitionName);
-  }
-
-  @Override
-  public List<HiveObjectPrivilege> listTableColumnGrantsAll(String dbName, String tableName,
-      String columnName) {
-    return objectStore.listTableColumnGrantsAll(dbName, tableName, columnName);
-  }
-
-  @Override
-  public ColumnStatistics getTableColumnStatistics(String dbName, String tableName,
-      List<String> colNames) throws MetaException, NoSuchObjectException {
-    return objectStore.getTableColumnStatistics(dbName, tableName, colNames);
-  }
-
-  @Override
-  public boolean deleteTableColumnStatistics(String dbName, String tableName,
-      String colName)
-      throws NoSuchObjectException, MetaException, InvalidObjectException,
-      InvalidInputException {
-    return objectStore.deleteTableColumnStatistics(dbName, tableName, colName);
-  }
-
-  @Override
-  public boolean deletePartitionColumnStatistics(String dbName, String tableName,
-      String partName, List<String> partVals, String colName)
-      throws NoSuchObjectException, MetaException, InvalidObjectException,
-      InvalidInputException {
-    return objectStore.deletePartitionColumnStatistics(dbName, tableName, partName,
-        partVals, colName);
-  }
-
-  @Override
-  public boolean updateTableColumnStatistics(ColumnStatistics statsObj)
-      throws NoSuchObjectException, MetaException, InvalidObjectException,
-      InvalidInputException {
-    return objectStore.updateTableColumnStatistics(statsObj);
-  }
-
-  @Override
-  public boolean updatePartitionColumnStatistics(ColumnStatistics statsObj,
-      List<String> partVals)
-      throws NoSuchObjectException, MetaException, InvalidObjectException,
-      InvalidInputException {
-    return objectStore.updatePartitionColumnStatistics(statsObj, partVals);
-  }
-
-  @Override
-  public boolean addToken(String tokenIdentifier, String delegationToken) {
-    return false;
-  }
-
-  @Override
-  public boolean removeToken(String tokenIdentifier) {
-    return false;
-  }
-
-  @Override
-  public String getToken(String tokenIdentifier) {
-    return "";
-  }
-
-  @Override
-  public List<String> getAllTokenIdentifiers() {
-    return new ArrayList<String>();
-  }
-
-  @Override
-  public int addMasterKey(String key) throws MetaException {
-    return -1;
-  }
-
-  @Override
-  public void updateMasterKey(Integer seqNo, String key)
-    throws NoSuchObjectException, MetaException {}
-
-  @Override
-  public boolean removeMasterKey(Integer keySeq) {
-    return false;
-  }
-
-  @Override
-  public String[] getMasterKeys() {
-    return new String[0];
-  }
-
-  @Override
-  public void verifySchema() throws MetaException {
-  }
-
-  @Override
-  public String getMetaStoreSchemaVersion() throws MetaException {
-    return objectStore.getMetaStoreSchemaVersion();
-  }
-
-  @Override
-  public void setMetaStoreSchemaVersion(String schemaVersion, String comment) throws MetaException {
-    objectStore.setMetaStoreSchemaVersion(schemaVersion, comment);
-
-  }
-
-  @Override
-  public List<ColumnStatistics> getPartitionColumnStatistics(String dbName,
-      String tblName, List<String> colNames, List<String> partNames)
-      throws MetaException, NoSuchObjectException {
-    return objectStore.getPartitionColumnStatistics(dbName, tblName  , colNames, partNames);
-  }
-
-  @Override
-  public boolean doesPartitionExist(String dbName, String tableName,
-      List<String> partVals) throws MetaException, NoSuchObjectException {
-    return objectStore.doesPartitionExist(dbName, tableName, partVals);
-  }
-
-  @Override
-  public boolean addPartitions(String dbName, String tblName, List<Partition> parts)
-      throws InvalidObjectException, MetaException {
-    return objectStore.addPartitions(dbName, tblName, parts);
-  }
-
-  @Override
-  public boolean addPartitions(String dbName, String tblName, PartitionSpecProxy partitionSpec, boolean ifNotExists) throws InvalidObjectException, MetaException {
-    return false;
-  }
-
-  @Override
-  public void dropPartitions(String dbName, String tblName, List<String> partNames)
-      throws MetaException, NoSuchObjectException {
-    objectStore.dropPartitions(dbName, tblName, partNames);
-  }
-
-  @Override
-  public void createFunction(Function func) throws InvalidObjectException,
-      MetaException {
-    objectStore.createFunction(func);
-  }
-
-  @Override
-  public void alterFunction(String dbName, String funcName, Function newFunction)
-      throws InvalidObjectException, MetaException {
-    objectStore.alterFunction(dbName, funcName, newFunction);
-  }
-
-  @Override
-  public void dropFunction(String dbName, String funcName)
-      throws MetaException, NoSuchObjectException, InvalidObjectException,
-      InvalidInputException {
-    objectStore.dropFunction(dbName, funcName);
-  }
-
-  @Override
-  public Function getFunction(String dbName, String funcName)
-      throws MetaException {
-    return objectStore.getFunction(dbName, funcName);
-  }
-
-  @Override
-  public List<Function> getAllFunctions()
-          throws MetaException {
-    return Collections.emptyList();
-  }
-
-  @Override
-  public List<String> getFunctions(String dbName, String pattern)
-      throws MetaException {
-    return objectStore.getFunctions(dbName, pattern);
-  }
-
-  @Override
-  public AggrStats get_aggr_stats_for(String dbName,
-      String tblName, List<String> partNames, List<String> colNames)
-      throws MetaException {
-    return null;
-  }
-
-  @Override
-  public NotificationEventResponse getNextNotification(NotificationEventRequest rqst) {
-    return objectStore.getNextNotification(rqst);
-  }
-
-  @Override
-  public void addNotificationEvent(NotificationEvent event) {
-    objectStore.addNotificationEvent(event);
-  }
-
-  @Override
-  public void cleanNotificationEvents(int olderThan) {
-    objectStore.cleanNotificationEvents(olderThan);
-  }
-
-  @Override
-  public CurrentNotificationEventId getCurrentNotificationEventId() {
-    return objectStore.getCurrentNotificationEventId();
-  }
-
-  @Override
-  public NotificationEventsCountResponse getNotificationEventsCount(NotificationEventsCountRequest rqst) {
-    return  objectStore.getNotificationEventsCount(rqst);
-  }
-
-  @Override
-  public void flushCache() {
-    objectStore.flushCache();
-  }
-
-  @Override
-  public ByteBuffer[] getFileMetadata(List<Long> fileIds) {
-    return null;
-  }
-
-  @Override
-  public void putFileMetadata(
-      List<Long> fileIds, List<ByteBuffer> metadata, FileMetadataExprType type) {
-  }
-
-  @Override
-  public boolean isFileMetadataSupported() {
-    return false;
-  }
-
-
-  @Override
-  public void getFileMetadataByExpr(List<Long> fileIds, FileMetadataExprType type, byte[] expr,
-      ByteBuffer[] metadatas, ByteBuffer[] stripeBitsets, boolean[] eliminated) {
-  }
-
-  @Override
-  public int getTableCount() throws MetaException {
-    return objectStore.getTableCount();
-  }
-
-  @Override
-  public int getPartitionCount() throws MetaException {
-    return objectStore.getPartitionCount();
-  }
-
-  @Override
-  public int getDatabaseCount() throws MetaException {
-    return objectStore.getDatabaseCount();
-  }
-
-  @Override
-  public FileMetadataHandler getFileMetadataHandler(FileMetadataExprType type) {
-    return null;
-  }
-
-  @Override
-  public List<SQLPrimaryKey> getPrimaryKeys(String db_name, String tbl_name)
-    throws MetaException {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public List<SQLForeignKey> getForeignKeys(String parent_db_name,
-    String parent_tbl_name, String foreign_db_name, String foreign_tbl_name)
-    throws MetaException {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public List<SQLUniqueConstraint> getUniqueConstraints(String db_name, String tbl_name)
-    throws MetaException {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public List<SQLNotNullConstraint> getNotNullConstraints(String db_name, String tbl_name)
-    throws MetaException {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public List<String> createTableWithConstraints(Table tbl,
-    List<SQLPrimaryKey> primaryKeys, List<SQLForeignKey> foreignKeys,
-    List<SQLUniqueConstraint> uniqueConstraints,
-    List<SQLNotNullConstraint> notNullConstraints)
-    throws InvalidObjectException, MetaException {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public void dropConstraint(String dbName, String tableName,
-   String constraintName) throws NoSuchObjectException {
-   // TODO Auto-generated method stub
-  }
-
-  @Override
-  public List<String> addPrimaryKeys(List<SQLPrimaryKey> pks)
-    throws InvalidObjectException, MetaException {
-    return null;
-  }
-
-  @Override
-  public List<String> addForeignKeys(List<SQLForeignKey> fks)
-    throws InvalidObjectException, MetaException {
-    return null;
-  }
-
-  @Override
-  public List<String> addUniqueConstraints(List<SQLUniqueConstraint> uks)
-    throws InvalidObjectException, MetaException {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public List<String> addNotNullConstraints(List<SQLNotNullConstraint> nns)
-    throws InvalidObjectException, MetaException {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public Map<String, List<ColumnStatisticsObj>> getColStatsForTablePartitions(String dbName,
-      String tableName) throws MetaException, NoSuchObjectException {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public String getMetastoreDbUuid() throws MetaException {
-    throw new MetaException("Get metastore uuid is not implemented");
-  }
-
-  @Override
-  public void createResourcePlan(WMResourcePlan resourcePlan, int defaultPoolSize)
-      throws AlreadyExistsException, MetaException {
-    objectStore.createResourcePlan(resourcePlan, defaultPoolSize);
-  }
-
-  @Override
-  public WMResourcePlan getResourcePlan(String name) throws NoSuchObjectException {
-    return objectStore.getResourcePlan(name);
-  }
-
-  @Override
-  public List<WMResourcePlan> getAllResourcePlans() throws MetaException {
-    return objectStore.getAllResourcePlans();
-  }
-
-  @Override
-  public WMFullResourcePlan alterResourcePlan(String name, WMResourcePlan resourcePlan,
-      boolean canActivateDisabled)
-      throws AlreadyExistsException, NoSuchObjectException, InvalidOperationException,
-          MetaException {
-    return objectStore.alterResourcePlan(name, resourcePlan, canActivateDisabled);
-  }
-
-  @Override
-  public WMFullResourcePlan getActiveResourcePlan() throws MetaException {
-    return objectStore.getActiveResourcePlan();
-  }
-
-  @Override
-  public boolean validateResourcePlan(String name)
-      throws NoSuchObjectException, InvalidObjectException, MetaException {
-    return objectStore.validateResourcePlan(name);
-  }
-
-  @Override
-  public void dropResourcePlan(String name) throws NoSuchObjectException, MetaException {
-    objectStore.dropResourcePlan(name);
-  }
-
-  @Override
-  public void createWMTrigger(WMTrigger trigger)
-      throws AlreadyExistsException, MetaException, NoSuchObjectException,
-          InvalidOperationException {
-    objectStore.createWMTrigger(trigger);
-  }
-
-  @Override
-  public void alterWMTrigger(WMTrigger trigger)
-      throws NoSuchObjectException, InvalidOperationException, MetaException {
-    objectStore.alterWMTrigger(trigger);
-  }
-
-  @Override
-  public void dropWMTrigger(String resourcePlanName, String triggerName)
-      throws NoSuchObjectException, InvalidOperationException, MetaException {
-    objectStore.dropWMTrigger(resourcePlanName, triggerName);
-  }
-
-  @Override
-  public List<WMTrigger> getTriggersForResourcePlan(String resourcePlanName)
-      throws NoSuchObjectException, MetaException {
-    return objectStore.getTriggersForResourcePlan(resourcePlanName);
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/test/org/apache/hadoop/hive/metastore/InjectableBehaviourObjectStore.java
----------------------------------------------------------------------
diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/InjectableBehaviourObjectStore.java b/metastore/src/test/org/apache/hadoop/hive/metastore/InjectableBehaviourObjectStore.java
deleted file mode 100644
index d89c54c..0000000
--- a/metastore/src/test/org/apache/hadoop/hive/metastore/InjectableBehaviourObjectStore.java
+++ /dev/null
@@ -1,104 +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;
-
-import java.util.List;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-import org.apache.hadoop.hive.metastore.api.NotificationEventRequest;
-import org.apache.hadoop.hive.metastore.api.NotificationEventResponse;
-import org.apache.hadoop.hive.metastore.api.Table;
-
-import static org.junit.Assert.assertEquals;
-
-
-/**
- * A wrapper around {@link ObjectStore} that allows us to inject custom behaviour
- * on to some of the methods for testing.
- */
-public class InjectableBehaviourObjectStore extends ObjectStore {
-  public InjectableBehaviourObjectStore() {
-    super();
-  }
-
-  /**
-   * A utility class that allows people injecting behaviour to determine if their injections occurred.
-   */
-  public static abstract class BehaviourInjection<T,F>
-      implements com.google.common.base.Function<T,F>{
-    protected boolean injectionPathCalled = false;
-    protected boolean nonInjectedPathCalled = false;
-
-    public void assertInjectionsPerformed(
-        boolean expectedInjectionCalled, boolean expectedNonInjectedPathCalled){
-      assertEquals(expectedInjectionCalled, injectionPathCalled);
-      assertEquals(expectedNonInjectedPathCalled, nonInjectedPathCalled);
-    }
-  };
-
-  private static com.google.common.base.Function<Table,Table> getTableModifier =
-      com.google.common.base.Functions.identity();
-  private static com.google.common.base.Function<List<String>, List<String>> listPartitionNamesModifier =
-          com.google.common.base.Functions.identity();
-  private static com.google.common.base.Function<NotificationEventResponse, NotificationEventResponse>
-          getNextNotificationModifier = com.google.common.base.Functions.identity();
-
-  // Methods to set/reset getTable modifier
-  public static void setGetTableBehaviour(com.google.common.base.Function<Table,Table> modifier){
-    getTableModifier = (modifier == null)? com.google.common.base.Functions.identity() : modifier;
-  }
-
-  public static void resetGetTableBehaviour(){
-    setGetTableBehaviour(null);
-  }
-
-  // Methods to set/reset listPartitionNames modifier
-  public static void setListPartitionNamesBehaviour(com.google.common.base.Function<List<String>, List<String>> modifier){
-    listPartitionNamesModifier = (modifier == null)? com.google.common.base.Functions.identity() : modifier;
-  }
-
-  public static void resetListPartitionNamesBehaviour(){
-    setListPartitionNamesBehaviour(null);
-  }
-
-  // Methods to set/reset getNextNotification modifier
-  public static void setGetNextNotificationBehaviour(
-          com.google.common.base.Function<NotificationEventResponse,NotificationEventResponse> modifier){
-    getNextNotificationModifier = (modifier == null)? com.google.common.base.Functions.identity() : modifier;
-  }
-
-  public static void resetGetNextNotificationBehaviour(){
-    setGetNextNotificationBehaviour(null);
-  }
-
-  // ObjectStore methods to be overridden with injected behavior
-  @Override
-  public Table getTable(String dbName, String tableName) throws MetaException {
-    return getTableModifier.apply(super.getTable(dbName, tableName));
-  }
-
-  @Override
-  public List<String> listPartitionNames(String dbName, String tableName, short max) throws MetaException {
-    return listPartitionNamesModifier.apply(super.listPartitionNames(dbName, tableName, max));
-  }
-
-  @Override
-  public NotificationEventResponse getNextNotification(NotificationEventRequest rqst) {
-    return getNextNotificationModifier.apply(super.getNextNotification(rqst));
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/test/org/apache/hadoop/hive/metastore/IpAddressListener.java
----------------------------------------------------------------------
diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/IpAddressListener.java b/metastore/src/test/org/apache/hadoop/hive/metastore/IpAddressListener.java
deleted file mode 100644
index e40edca..0000000
--- a/metastore/src/test/org/apache/hadoop/hive/metastore/IpAddressListener.java
+++ /dev/null
@@ -1,103 +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;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-import junit.framework.Assert;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.metastore.HiveMetaStore.HMSHandler;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
-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.DropPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.DropTableEvent;
-import org.apache.hadoop.hive.metastore.events.LoadPartitionDoneEvent;
-
-/** An implementation for MetaStoreEventListener which checks that the IP Address stored in
- * HMSHandler matches that of local host, for testing purposes.
- */
-public class IpAddressListener extends MetaStoreEventListener{
-
-  private static final String LOCAL_HOST = "localhost";
-
-  public IpAddressListener(Configuration config) {
-    super(config);
-  }
-
-  private void checkIpAddress() {
-    try {
-      String localhostIp = InetAddress.getByName(LOCAL_HOST).getHostAddress();
-      Assert.assertEquals(localhostIp, HMSHandler.getThreadLocalIpAddress());
-    } catch (UnknownHostException e) {
-      Assert.assertTrue("InetAddress.getLocalHost threw an exception: " + e.getMessage(), false);
-    }
-  }
-
-  @Override
-  public void onAddPartition(AddPartitionEvent partition) throws MetaException {
-    checkIpAddress();
-  }
-
-  @Override
-  public void onCreateDatabase(CreateDatabaseEvent db) throws MetaException {
-    checkIpAddress();
-  }
-
-  @Override
-  public void onCreateTable(CreateTableEvent table) throws MetaException {
-    checkIpAddress();
-  }
-
-  @Override
-  public void onDropDatabase(DropDatabaseEvent db) throws MetaException {
-    checkIpAddress();
-  }
-
-  @Override
-  public void onDropPartition(DropPartitionEvent partition) throws MetaException {
-    checkIpAddress();
-  }
-
-  @Override
-  public void onDropTable(DropTableEvent table) throws MetaException {
-    checkIpAddress();
-  }
-
-  @Override
-  public void onAlterTable(AlterTableEvent event) throws MetaException {
-    checkIpAddress();
-  }
-
-  @Override
-  public void onAlterPartition(AlterPartitionEvent event) throws MetaException {
-    checkIpAddress();
-  }
-
-  @Override
-  public void onLoadPartitionDone(LoadPartitionDoneEvent partEvent) throws MetaException {
-    checkIpAddress();
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/test/org/apache/hadoop/hive/metastore/MetaStoreTestUtils.java
----------------------------------------------------------------------
diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/MetaStoreTestUtils.java b/metastore/src/test/org/apache/hadoop/hive/metastore/MetaStoreTestUtils.java
deleted file mode 100644
index 28353c3..0000000
--- a/metastore/src/test/org/apache/hadoop/hive/metastore/MetaStoreTestUtils.java
+++ /dev/null
@@ -1,167 +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;
-
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.util.Map;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.metastore.HiveMetaStore.HMSHandler;
-import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
-import org.apache.hadoop.hive.metastore.events.EventCleanerTask;
-import org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class MetaStoreTestUtils {
-
-  private static final Logger LOG = LoggerFactory.getLogger("hive.log");
-
-  public static int startMetaStore() throws Exception {
-    return MetaStoreTestUtils.startMetaStore(HadoopThriftAuthBridge.getBridge(), null);
-  }
-
-  public static int startMetaStore(final HadoopThriftAuthBridge bridge, HiveConf conf) throws Exception {
-    int port = MetaStoreTestUtils.findFreePort();
-    MetaStoreTestUtils.startMetaStore(port, bridge, conf);
-    return port;
-  }
-
-  public static int startMetaStore(HiveConf conf) throws Exception {
-    return startMetaStore(HadoopThriftAuthBridge.getBridge(), conf);
-  }
-
-  public static void startMetaStore(final int port, final HadoopThriftAuthBridge bridge) throws Exception {
-    MetaStoreTestUtils.startMetaStore(port, bridge, null);
-  }
-
-  public static void startMetaStore(final int port,
-      final HadoopThriftAuthBridge bridge, HiveConf hiveConf)
-      throws Exception{
-    if (hiveConf == null) {
-      hiveConf = new HiveConf(HMSHandler.class);
-    }
-    final HiveConf finalHiveConf = hiveConf;
-    Thread thread = new Thread(new Runnable() {
-      @Override
-      public void run() {
-        try {
-          HiveMetaStore.startMetaStore(port, bridge, finalHiveConf);
-        } catch (Throwable e) {
-          LOG.error("Metastore Thrift Server threw an exception...", e);
-        }
-      }
-    });
-    thread.setDaemon(true);
-    thread.start();
-    MetaStoreTestUtils.loopUntilHMSReady(port);
-  }
-
-  /**
-   * A simple connect test to make sure that the metastore is up
-   * @throws Exception
-   */
-  public static void loopUntilHMSReady(int port) throws Exception {
-    int retries = 0;
-    Exception exc = null;
-    while (true) {
-      try {
-        Socket socket = new Socket();
-        socket.connect(new InetSocketAddress(port), 5000);
-        socket.close();
-        return;
-      } catch (Exception e) {
-        if (retries++ > 60) { //give up
-          exc = e;
-          break;
-        }
-        Thread.sleep(1000);
-      }
-    }
-    // something is preventing metastore from starting
-    // print the stack from all threads for debugging purposes
-    LOG.error("Unable to connect to metastore server: " + exc.getMessage());
-    LOG.info("Printing all thread stack traces for debugging before throwing exception.");
-    LOG.info(MetaStoreTestUtils.getAllThreadStacksAsString());
-    throw exc;
-  }
-
-  public static String getAllThreadStacksAsString() {
-    Map<Thread, StackTraceElement[]> threadStacks = Thread.getAllStackTraces();
-    StringBuilder sb = new StringBuilder();
-    for (Map.Entry<Thread, StackTraceElement[]> entry : threadStacks.entrySet()) {
-      Thread t = entry.getKey();
-      sb.append(System.lineSeparator());
-      sb.append("Name: ").append(t.getName()).append(" State: ").append(t.getState());
-      MetaStoreTestUtils.addStackString(entry.getValue(), sb);
-    }
-    return sb.toString();
-  }
-
-  public static void addStackString(StackTraceElement[] stackElems, StringBuilder sb) {
-    sb.append(System.lineSeparator());
-    for (StackTraceElement stackElem : stackElems) {
-      sb.append(stackElem).append(System.lineSeparator());
-    }
-  }
-
-  /**
-   * Finds a free port on the machine.
-   *
-   * @return
-   * @throws IOException
-   */
-  public static int findFreePort() throws IOException {
-    ServerSocket socket= new ServerSocket(0);
-    int port = socket.getLocalPort();
-    socket.close();
-    return port;
-  }
-
-  /**
-   * Finds a free port on the machine, but allow the
-   * ability to specify a port number to not use, no matter what.
-   */
-  public static int findFreePortExcepting(int portToExclude) throws IOException {
-    ServerSocket socket1 = null;
-    ServerSocket socket2 = null;
-    try {
-      socket1 = new ServerSocket(0);
-      socket2 = new ServerSocket(0);
-      if (socket1.getLocalPort() != portToExclude) {
-        return socket1.getLocalPort();
-      }
-      // If we're here, then socket1.getLocalPort was the port to exclude
-      // Since both sockets were open together at a point in time, we're
-      // guaranteed that socket2.getLocalPort() is not the same.
-      return socket2.getLocalPort();
-    } finally {
-      if (socket1 != null){
-        socket1.close();
-      }
-      if (socket2 != null){
-        socket2.close();
-      }
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/824d701f/metastore/src/test/org/apache/hadoop/hive/metastore/MockPartitionExpressionForMetastore.java
----------------------------------------------------------------------
diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/MockPartitionExpressionForMetastore.java b/metastore/src/test/org/apache/hadoop/hive/metastore/MockPartitionExpressionForMetastore.java
deleted file mode 100644
index 12a862d..0000000
--- a/metastore/src/test/org/apache/hadoop/hive/metastore/MockPartitionExpressionForMetastore.java
+++ /dev/null
@@ -1,59 +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;
-
-import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.FileMetadataExprType;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-import org.apache.hadoop.hive.ql.io.sarg.SearchArgument;
-import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
-
-import java.util.List;
-
-/**
- * Test Mock-out for PartitionExpressionForMetastore.
- */
-public class MockPartitionExpressionForMetastore implements PartitionExpressionProxy {
-  @Override
-  public String convertExprToFilter(byte[] expr) throws MetaException {
-    return null;
-  }
-
-  @Override
-  public boolean filterPartitionsByExpr(List<FieldSchema> partColumns,
-      byte[] expr, String defaultPartitionName,
-      List<String> partitionNames) throws MetaException {
-    return false;
-  }
-
-  @Override
-  public FileMetadataExprType getMetadataType(String inputFormat) {
-    return null;
-  }
-
-  @Override
-  public SearchArgument createSarg(byte[] expr) {
-    return null;
-  }
-
-  @Override
-  public FileFormatProxy getFileFormatProxy(FileMetadataExprType type) {
-    return null;
-  }
-}