You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by en...@apache.org on 2017/09/15 21:20:33 UTC

[16/25] hbase git commit: HBASE-18725 [C++] Install header files as well as library

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/core/time-range-test.cc
----------------------------------------------------------------------
diff --git a/hbase-native-client/core/time-range-test.cc b/hbase-native-client/core/time-range-test.cc
deleted file mode 100644
index 136ab54..0000000
--- a/hbase-native-client/core/time-range-test.cc
+++ /dev/null
@@ -1,48 +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.
- *
- */
-
-#include "core/time-range.h"
-
-#include <glog/logging.h>
-#include <gtest/gtest.h>
-
-using namespace hbase;
-
-TEST(TimeRange, DefaultObject) {
-  TimeRange *timerange_def = nullptr;
-  ASSERT_NO_THROW(timerange_def = new TimeRange());
-
-  EXPECT_EQ(0, timerange_def->MinTimeStamp());
-  EXPECT_EQ(std::numeric_limits<int64_t>::max(), timerange_def->MaxTimeStamp());
-  EXPECT_NE(1000, timerange_def->MinTimeStamp());
-  EXPECT_NE(2000, timerange_def->MaxTimeStamp());
-  delete timerange_def;
-  timerange_def = nullptr;
-}
-
-TEST(TimeRange, Exception) {
-  // Negative Min TS
-  ASSERT_THROW(TimeRange(-1000, 2000), std::runtime_error);
-
-  // Negative Max TS
-  ASSERT_THROW(TimeRange(1000, -2000), std::runtime_error);
-
-  // Min TS > Max TS
-  ASSERT_THROW(TimeRange(10000, 2000), std::runtime_error);
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/core/time-range.cc
----------------------------------------------------------------------
diff --git a/hbase-native-client/core/time-range.cc b/hbase-native-client/core/time-range.cc
deleted file mode 100644
index e6b789b..0000000
--- a/hbase-native-client/core/time-range.cc
+++ /dev/null
@@ -1,73 +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.
- *
- */
-
-#include "core/time-range.h"
-#include <limits>
-#include <stdexcept>
-#include <string>
-
-namespace hbase {
-
-TimeRange::TimeRange()
-    : min_timestamp_(0L), max_timestamp_(std::numeric_limits<int64_t>::max()), all_time_(true) {}
-
-TimeRange::TimeRange(const TimeRange &tr) {
-  this->all_time_ = tr.all_time_;
-  this->max_timestamp_ = tr.max_timestamp_;
-  this->min_timestamp_ = tr.min_timestamp_;
-}
-
-TimeRange &TimeRange::operator=(const TimeRange &tr) {
-  this->all_time_ = tr.all_time_;
-  this->max_timestamp_ = tr.max_timestamp_;
-  this->min_timestamp_ = tr.min_timestamp_;
-  return *this;
-}
-
-TimeRange::~TimeRange() {}
-
-TimeRange::TimeRange(int64_t min_timestamp) {
-  this->min_timestamp_ = min_timestamp;
-  this->max_timestamp_ = std::numeric_limits<int64_t>::max();
-  this->all_time_ = false;
-}
-
-TimeRange::TimeRange(int64_t min_timestamp, int64_t max_timestamp) {
-  if (min_timestamp < 0 || max_timestamp < 0) {
-    throw std::runtime_error("Timestamp cannot be negative. min_timestamp: " +
-                             std::to_string(min_timestamp) + ", max_timestamp:" +
-                             std::to_string(max_timestamp));
-  }
-  if (max_timestamp < min_timestamp) {
-    throw std::runtime_error("max_timestamp [" + std::to_string(max_timestamp) +
-                             "] should be greater than min_timestamp [" +
-                             std::to_string(min_timestamp) + "]");
-  }
-
-  this->min_timestamp_ = min_timestamp;
-  this->max_timestamp_ = max_timestamp;
-  this->all_time_ = false;
-}
-
-int64_t TimeRange::MinTimeStamp() const { return this->min_timestamp_; }
-
-int64_t TimeRange::MaxTimeStamp() const { return this->max_timestamp_; }
-
-bool TimeRange::IsAllTime() const { return this->all_time_; }
-}  // namespace hbase

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/core/time-range.h
----------------------------------------------------------------------
diff --git a/hbase-native-client/core/time-range.h b/hbase-native-client/core/time-range.h
deleted file mode 100644
index d645ecd..0000000
--- a/hbase-native-client/core/time-range.h
+++ /dev/null
@@ -1,58 +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.
- *
- */
-
-#pragma once
-
-#include <cstdint>
-
-namespace hbase {
-class TimeRange {
- public:
-  /**
-   * @brief  Default constructor. Represents interval [0,
-   * std::numeric_limits<int64_t>::max())
-   * (allTime)
-   */
-  TimeRange();
-  TimeRange(const TimeRange &tr);
-  TimeRange &operator=(const TimeRange &tr);
-  /**
-   * @brief Represents interval [minStamp, std::numeric_limits<int64_t>::max())
-   * @param minStamp the minimum timestamp value, inclusive
-   */
-  explicit TimeRange(int64_t min_timestamp);
-  /**
-   * @brief Represents interval [minStamp, maxStamp)
-   * @param minStamp the minimum timestamp, inclusive
-   * @param maxStamp the maximum timestamp, exclusive
-   * @throws std::runtime_error if min_timestamp < 0 or max_timestamp < 0 or
-   * max_timestamp < min_timestamp
-   */
-  TimeRange(int64_t min_timestamp, int64_t max_timestamp);
-  int64_t MinTimeStamp() const;
-  int64_t MaxTimeStamp() const;
-  bool IsAllTime() const;
-  ~TimeRange();
-
- private:
-  int64_t min_timestamp_;
-  int64_t max_timestamp_;
-  bool all_time_;
-};
-}  // namespace hbase

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/core/zk-util-test.cc
----------------------------------------------------------------------
diff --git a/hbase-native-client/core/zk-util-test.cc b/hbase-native-client/core/zk-util-test.cc
deleted file mode 100644
index b0cefdc..0000000
--- a/hbase-native-client/core/zk-util-test.cc
+++ /dev/null
@@ -1,50 +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.
- *
- */
-#include <gtest/gtest.h>
-
-#include "core/zk-util.h"
-
-using hbase::Configuration;
-using hbase::ZKUtil;
-
-TEST(ZKUtilTest, ParseZooKeeperQuorum) {
-  Configuration conf{};
-  conf.Set(ZKUtil::kHBaseZookeeperQuorum_, "s1");
-  conf.SetInt(ZKUtil::kHBaseZookeeperClientPort_, 100);
-
-  ASSERT_EQ("s1:100", ZKUtil::ParseZooKeeperQuorum(conf));
-
-  conf.Set(ZKUtil::kHBaseZookeeperQuorum_, "s1:42");
-
-  ASSERT_EQ("s1:42", ZKUtil::ParseZooKeeperQuorum(conf));
-
-  conf.Set(ZKUtil::kHBaseZookeeperQuorum_, "s1,s2,s3");
-  ASSERT_EQ("s1:100,s2:100,s3:100", ZKUtil::ParseZooKeeperQuorum(conf));
-
-  conf.Set(ZKUtil::kHBaseZookeeperQuorum_, "s1:42,s2:42,s3:42");
-  ASSERT_EQ("s1:42,s2:42,s3:42", ZKUtil::ParseZooKeeperQuorum(conf));
-}
-
-TEST(ZKUtilTest, MetaZNode) {
-  Configuration conf{};
-  ASSERT_EQ("/hbase/meta-region-server", ZKUtil::MetaZNode(conf));
-
-  conf.Set(ZKUtil::kHBaseZnodeParent_, "/hbase-secure");
-  ASSERT_EQ("/hbase-secure/meta-region-server", ZKUtil::MetaZNode(conf));
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/core/zk-util.cc
----------------------------------------------------------------------
diff --git a/hbase-native-client/core/zk-util.cc b/hbase-native-client/core/zk-util.cc
deleted file mode 100644
index d29c8c3..0000000
--- a/hbase-native-client/core/zk-util.cc
+++ /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.
- *
- */
-
-#include "core/zk-util.h"
-
-#include <folly/Conv.h>
-#include <boost/algorithm/string.hpp>
-
-#include <vector>
-
-namespace hbase {
-
-/**
- * Returns a "proper" zookeeper quorum string, from hbase's broken quorum string formats. In
- * hbase.zookeeper.quorum, the ports are not listed explicitly per server (eg. s1,s2,s3),
- * however ZooKeeper expects the string of the format s1:2181,s2:2181,s3:2181. This code
- * appends the "clientPort" to each node in the quorum string if not there.
- */
-std::string ZKUtil::ParseZooKeeperQuorum(const hbase::Configuration& conf) {
-  auto zk_quorum = conf.Get(kHBaseZookeeperQuorum_, kDefHBaseZookeeperQuorum_);
-  auto zk_port = conf.GetInt(kHBaseZookeeperClientPort_, kDefHBaseZookeeperClientPort_);
-
-  std::vector<std::string> zk_quorum_parts;
-  boost::split(zk_quorum_parts, zk_quorum, boost::is_any_of(","), boost::token_compress_on);
-  std::vector<std::string> servers;
-  for (auto server : zk_quorum_parts) {
-    if (boost::contains(server, ":")) {
-      servers.push_back(server);
-    } else {
-      servers.push_back(server + ":" + folly::to<std::string>(zk_port));
-    }
-  }
-  return boost::join(servers, ",");
-}
-
-std::string ZKUtil::MetaZNode(const hbase::Configuration& conf) {
-  std::string zk_node = conf.Get(kHBaseZnodeParent_, kDefHBaseZnodeParent_) + "/";
-  zk_node += kHBaseMetaRegionServer_;
-  return zk_node;
-}
-
-int32_t ZKUtil::SessionTimeout(const hbase::Configuration& conf) {
-  return conf.GetInt(kHBaseZookeeperSessionTimeout_, kDefHBaseZookeeperSessionTimeout_);
-}
-
-}  // namespace hbase

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/core/zk-util.h
----------------------------------------------------------------------
diff --git a/hbase-native-client/core/zk-util.h b/hbase-native-client/core/zk-util.h
deleted file mode 100644
index 403fbe4..0000000
--- a/hbase-native-client/core/zk-util.h
+++ /dev/null
@@ -1,46 +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.
- *
- */
-#pragma once
-
-#include <cstdlib>
-#include <string>
-#include "core/configuration.h"
-
-namespace hbase {
-
-class ZKUtil {
- public:
-  static constexpr const char* kHBaseZookeeperQuorum_ = "hbase.zookeeper.quorum";
-  static constexpr const char* kDefHBaseZookeeperQuorum_ = "localhost:2181";
-  static constexpr const char* kHBaseZookeeperClientPort_ = "hbase.zookeeper.property.clientPort";
-  static constexpr const int32_t kDefHBaseZookeeperClientPort_ = 2181;
-  static constexpr const char* kHBaseZnodeParent_ = "zookeeper.znode.parent";
-  static constexpr const char* kDefHBaseZnodeParent_ = "/hbase";
-  static constexpr const char* kHBaseMetaRegionServer_ = "meta-region-server";
-
-  static constexpr const char* kHBaseZookeeperSessionTimeout_ = "zookeeper.session.timeout";
-  static constexpr const int32_t kDefHBaseZookeeperSessionTimeout_ = 90000;
-
-  static std::string ParseZooKeeperQuorum(const hbase::Configuration& conf);
-
-  static std::string MetaZNode(const hbase::Configuration& conf);
-
-  static int32_t SessionTimeout(const hbase::Configuration& conf);
-};
-}  // namespace hbase

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/exceptions/BUCK
----------------------------------------------------------------------
diff --git a/hbase-native-client/exceptions/BUCK b/hbase-native-client/exceptions/BUCK
deleted file mode 100644
index 3d66d72..0000000
--- a/hbase-native-client/exceptions/BUCK
+++ /dev/null
@@ -1,39 +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.
-
-cxx_library(
-    name="exceptions",
-    exported_headers=[
-        "exception.h",
-    ],
-    srcs=[
-        "exception.cc",
-    ],
-    deps=[
-        "//third-party:folly",
-    ],
-    compiler_flags=['-Weffc++'],
-    visibility=['//core/...', '//connection/...'],)
-cxx_test(
-    name="exception-test",
-    srcs=[
-        "exception-test.cc",
-    ],
-    deps=[
-        ":exceptions",
-    ],
-    run_test_separately=True,)

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/exceptions/exception-test.cc
----------------------------------------------------------------------
diff --git a/hbase-native-client/exceptions/exception-test.cc b/hbase-native-client/exceptions/exception-test.cc
deleted file mode 100644
index 583240e..0000000
--- a/hbase-native-client/exceptions/exception-test.cc
+++ /dev/null
@@ -1,64 +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.
- *
- */
-#include <gtest/gtest.h>
-
-#include "exceptions/exception.h"
-
-#include "folly/ExceptionWrapper.h"
-
-using hbase::ExceptionUtil;
-using hbase::IOException;
-using hbase::RemoteException;
-
-TEST(ExceptionUtilTest, IOExceptionShouldRetry) {
-  IOException ex{};
-  EXPECT_TRUE(ExceptionUtil::ShouldRetry(ex));
-
-  ex.set_do_not_retry(true);
-  EXPECT_FALSE(ExceptionUtil::ShouldRetry(ex));
-
-  ex.set_do_not_retry(false);
-  EXPECT_TRUE(ExceptionUtil::ShouldRetry(ex));
-
-  IOException ex2{"description", true};
-  EXPECT_FALSE(ExceptionUtil::ShouldRetry(ex2));
-
-  IOException ex3{"description", std::runtime_error("ex"), true};
-  EXPECT_FALSE(ExceptionUtil::ShouldRetry(ex3));
-}
-
-TEST(ExceptionUtilTest, RemoteExceptionShouldRetry) {
-  RemoteException ex{};
-  EXPECT_TRUE(ExceptionUtil::ShouldRetry(ex));
-
-  ex.set_do_not_retry(true);
-  EXPECT_FALSE(ExceptionUtil::ShouldRetry(ex));
-
-  ex.set_do_not_retry(false);
-  EXPECT_TRUE(ExceptionUtil::ShouldRetry(ex));
-
-  ex.set_exception_class_name("org.apache.hadoop.hbase.FooException");
-  EXPECT_TRUE(ExceptionUtil::ShouldRetry(ex));
-
-  ex.set_exception_class_name("org.apache.hadoop.hbase.NotServingRegionException");
-  EXPECT_TRUE(ExceptionUtil::ShouldRetry(ex));
-
-  ex.set_exception_class_name("org.apache.hadoop.hbase.UnknownRegionException");
-  EXPECT_FALSE(ExceptionUtil::ShouldRetry(ex));
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/exceptions/exception.cc
----------------------------------------------------------------------
diff --git a/hbase-native-client/exceptions/exception.cc b/hbase-native-client/exceptions/exception.cc
deleted file mode 100644
index c25acb4..0000000
--- a/hbase-native-client/exceptions/exception.cc
+++ /dev/null
@@ -1,128 +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.
- *
- */
-#include "exceptions/exception.h"
-
-namespace hbase {
-const std::vector<const char*> ExceptionUtil::kAllDoNotRetryIOExceptions = {
-    kDoNotRetryIOException,
-    kTableNotFoundException,
-    kTableNotEnabledException,
-    kCoprocessorException,
-    kBypassCoprocessorException,
-    kInvalidFamilyOperationException,
-    kServerTooBusyException,
-    kFailedSanityCheckException,
-    kCorruptHFileException,
-    kLabelAlreadyExistsException,
-    kFatalConnectionException,
-    kUnsupportedCryptoException,
-    kUnsupportedCellCodecException,
-    kEmptyServiceNameException,
-    kUnknownServiceException,
-    kWrongVersionException,
-    kBadAuthException,
-    kUnsupportedCompressionCodecException,
-    kDoNotRetryRegionException,
-    kRowTooBigException,
-    kRowTooBigExceptionDeprecated,
-    kUnknownRegionException,
-    kMergeRegionException,
-    kNoServerForRegionException,
-    kQuotaExceededException,
-    kSpaceLimitingException,
-    kThrottlingException,
-    kAccessDeniedException,
-    kUnknownProtocolException,
-    kRequestTooBigException,
-    kNotAllMetaRegionsOnlineException,
-    kConstraintException,
-    kNoSuchColumnFamilyException,
-    kLeaseException,
-    kInvalidLabelException,
-    kUnknownScannerException,
-    kScannerResetException,
-    kOutOfOrderScannerNextException};
-
-bool ExceptionUtil::ShouldRetry(const folly::exception_wrapper& error) {
-  bool do_not_retry = false;
-  error.with_exception(
-      [&](const IOException& ioe) { do_not_retry = do_not_retry || ioe.do_not_retry(); });
-  error.with_exception([&](const RemoteException& remote_ex) {
-    do_not_retry = do_not_retry || IsJavaDoNotRetryException(remote_ex.exception_class_name());
-  });
-  return !do_not_retry;
-}
-
-/**
- * Returns whether the java exception class extends DoNotRetryException.
- * In the java side, we just have a hierarchy of Exception classes that we use
- * both client side and server side. On the client side, we rethrow the server
- * side exception by un-wrapping the exception from a RemoteException or a ServiceException
- * (see ConnectionUtils.translateException() in Java).
- * Since this object-hierarchy info is not available in C++ side, we are doing a
- * very fragile catch-all list of all exception types in Java that extend the
- * DoNotRetryException class type.
- */
-bool ExceptionUtil::IsJavaDoNotRetryException(const std::string& java_class_name) {
-  for (auto exception : kAllDoNotRetryIOExceptions) {
-    if (java_class_name == exception) {
-      return true;
-    }
-  }
-  return false;
-}
-
-/**
- * Returns whether the scanner is closed when the client received the
- * remote exception.
- * Since the object-hierarchy info is not available in C++ side, we are doing a
- * very fragile catch-all list of all exception types in Java that extend these
- * three base classes: UnknownScannerException, NotServingRegionException,
- * RegionServerStoppedException
- */
-bool ExceptionUtil::IsScannerClosed(const folly::exception_wrapper& exception) {
-  bool scanner_closed = false;
-  exception.with_exception([&](const RemoteException& remote_ex) {
-    auto java_class = remote_ex.exception_class_name();
-    if (java_class == kUnknownScannerException || java_class == kNotServingRegionException ||
-        java_class == kRegionInRecoveryException || java_class == kRegionOpeningException ||
-        java_class == kRegionMovedException || java_class == kRegionServerStoppedException ||
-        java_class == kRegionServerAbortedException) {
-      scanner_closed = true;
-    }
-  });
-  return scanner_closed;
-}
-
-/**
- * Returns whether the wrapped exception is a java exception of type OutOfOrderScannerNextException
- * or ScannerResetException. These two exception types are thrown from the server side when the
- * scanner on the server side is closed.
- */
-bool ExceptionUtil::IsScannerOutOfOrder(const folly::exception_wrapper& exception) {
-  bool scanner_out_of_order = false;
-  exception.with_exception([&](const RemoteException& remote_ex) {
-    auto java_class = remote_ex.exception_class_name();
-    if (java_class == kOutOfOrderScannerNextException || java_class == kScannerResetException) {
-      scanner_out_of_order = true;
-    }
-  });
-  return scanner_out_of_order;
-}
-}  // namespace hbase

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/exceptions/exception.h
----------------------------------------------------------------------
diff --git a/hbase-native-client/exceptions/exception.h b/hbase-native-client/exceptions/exception.h
deleted file mode 100644
index bc3b291..0000000
--- a/hbase-native-client/exceptions/exception.h
+++ /dev/null
@@ -1,328 +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.
- *
- */
-#pragma once
-
-#include <folly/ExceptionWrapper.h>
-#include <folly/io/IOBuf.h>
-#include <exception>
-#include <memory>
-#include <string>
-#include <vector>
-
-namespace hbase {
-
-class ThrowableWithExtraContext {
- public:
-  ThrowableWithExtraContext(folly::exception_wrapper cause, const int64_t& when)
-      : cause_(cause), when_(when), extras_("") {}
-
-  ThrowableWithExtraContext(folly::exception_wrapper cause, const int64_t& when,
-                            const std::string& extras)
-      : cause_(cause), when_(when), extras_(extras) {}
-
-  virtual std::string ToString() {
-    // TODO:
-    // return new Date(this.when).toString() + ", " + extras + ", " + t.toString();
-    return extras_ + ", " + cause_.what().toStdString();
-  }
-
-  virtual folly::exception_wrapper cause() { return cause_; }
-
- private:
-  folly::exception_wrapper cause_;
-  int64_t when_;
-  std::string extras_;
-};
-
-class IOException : public std::logic_error {
- public:
-  IOException() : logic_error(""), do_not_retry_(false) {}
-
-  explicit IOException(const std::string& what) : logic_error(what), do_not_retry_(false) {}
-
-  IOException(const std::string& what, bool do_not_retry)
-      : logic_error(what), do_not_retry_(do_not_retry) {}
-
-  IOException(const std::string& what, const folly::exception_wrapper& cause)
-      : logic_error(what), cause_(cause), do_not_retry_(false) {}
-
-  IOException(const std::string& what, folly::exception_wrapper cause, bool do_not_retry)
-      : logic_error(what), cause_(cause), do_not_retry_(do_not_retry) {}
-
-  virtual ~IOException() = default;
-
-  virtual folly::exception_wrapper cause() const { return cause_; }
-
-  bool do_not_retry() const { return do_not_retry_; }
-
-  IOException* set_do_not_retry(bool value) {
-    do_not_retry_ = value;
-    return this;
-  }
-
- private:
-  folly::exception_wrapper cause_;
-  // In case the exception is a RemoteException, do_not_retry information can come from
-  // the PB field in the RPC response, or it can be deduced from the Java-exception
-  // hierarchy in ExceptionUtil::ShouldRetry(). In case this is a client-side exception
-  // raised from the C++ internals, set this field so that the retrying callers can
-  // re-throw the exception without retrying.
-  bool do_not_retry_;
-};
-
-class RetriesExhaustedException : public IOException {
- public:
-  RetriesExhaustedException(const int& num_retries,
-                            std::shared_ptr<std::vector<ThrowableWithExtraContext>> exceptions)
-      : IOException(GetMessage(num_retries, exceptions),
-                    exceptions->empty() ? folly::exception_wrapper{}
-                                        : (*exceptions)[exceptions->size() - 1].cause()),
-        num_retries_(num_retries) {}
-  virtual ~RetriesExhaustedException() = default;
-
-  int32_t num_retries() const { return num_retries_; }
-
- private:
-  std::string GetMessage(const int& num_retries,
-                         std::shared_ptr<std::vector<ThrowableWithExtraContext>> exceptions) {
-    std::string buffer("Failed after attempts=");
-    buffer.append(std::to_string(num_retries + 1));
-    buffer.append(", exceptions:\n");
-    for (auto it = exceptions->begin(); it != exceptions->end(); it++) {
-      buffer.append(it->ToString());
-      buffer.append("\n");
-    }
-    return buffer;
-  }
-
- private:
-  int32_t num_retries_;
-};
-
-class ConnectionException : public IOException {
- public:
-  ConnectionException() {}
-
-  ConnectionException(const std::string& what) : IOException(what) {}
-
-  ConnectionException(const folly::exception_wrapper& cause) : IOException("", cause) {}
-
-  ConnectionException(const std::string& what, const folly::exception_wrapper& cause)
-      : IOException(what, cause) {}
-};
-
-class RemoteException : public IOException {
- public:
-  RemoteException() : IOException(), port_(0) {}
-
-  explicit RemoteException(const std::string& what) : IOException(what), port_(0) {}
-
-  RemoteException(const std::string& what, folly::exception_wrapper cause)
-      : IOException(what, cause), port_(0) {}
-
-  virtual ~RemoteException() = default;
-
-  std::string exception_class_name() const { return exception_class_name_; }
-
-  RemoteException* set_exception_class_name(const std::string& value) {
-    exception_class_name_ = value;
-    return this;
-  }
-
-  std::string stack_trace() const { return stack_trace_; }
-
-  RemoteException* set_stack_trace(const std::string& value) {
-    stack_trace_ = value;
-    return this;
-  }
-
-  std::string hostname() const { return hostname_; }
-
-  RemoteException* set_hostname(const std::string& value) {
-    hostname_ = value;
-    return this;
-  }
-
-  int port() const { return port_; }
-
-  RemoteException* set_port(int value) {
-    port_ = value;
-    return this;
-  }
-
- private:
-  std::string exception_class_name_;
-  std::string stack_trace_;
-  std::string hostname_;
-  int port_;
-};
-
-/**
- * Raised from the client side if we cannot find the table (does not have anything to
- * do with the Java exception of the same name).
- */
-class TableNotFoundException : public IOException {
- public:
-  explicit TableNotFoundException(const std::string& table_name)
-      : IOException("Table cannot be found:" + table_name, true) {}
-
-  virtual ~TableNotFoundException() = default;
-};
-
-/**
- * List of known exceptions from Java side, and Java-specific exception logic
- */
-class ExceptionUtil {
- private:
-  // unknown scanner and sub-classes
-  static constexpr const char* kUnknownScannerException =
-      "org.apache.hadoop.hbase.UnknownScannerException";
-
-  // not serving region and sub-classes
-  static constexpr const char* kNotServingRegionException =
-      "org.apache.hadoop.hbase.NotServingRegionException";
-  static constexpr const char* kRegionInRecoveryException =
-      "org.apache.hadoop.hbase.exceptions.RegionInRecoveryException";
-  static constexpr const char* kRegionOpeningException =
-      "org.apache.hadoop.hbase.exceptions.RegionOpeningException";
-  static constexpr const char* kRegionMovedException =
-      "org.apache.hadoop.hbase.exceptions.RegionMovedException";
-
-  // Region server stopped and sub-classes
-  static constexpr const char* kRegionServerStoppedException =
-      "org.apache.hadoop.hbase.regionserver.RegionServerStoppedException";
-  static constexpr const char* kRegionServerAbortedException =
-      "org.apache.hadoop.hbase.regionserver.RegionServerAbortedException";
-
-  // other scanner related exceptions
-  static constexpr const char* kOutOfOrderScannerNextException =
-      "org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException";
-  static constexpr const char* kScannerResetException =
-      "org.apache.hadoop.hbase.exceptions.ScannerResetException";
-
-  // All other DoNotRetryIOExceptions
-  static constexpr const char* kDoNotRetryIOException =
-      "org.apache.hadoop.hbase.DoNotRetryIOException";
-  static constexpr const char* kTableNotFoundException =
-      "org.apache.hadoop.hbase.TableNotFoundException";
-  static constexpr const char* kTableNotEnabledException =
-      "org.apache.hadoop.hbase.TableNotEnabledException";
-  static constexpr const char* kCoprocessorException =
-      "org.apache.hadoop.hbase.coprocessor.CoprocessorException";
-  static constexpr const char* kBypassCoprocessorException =
-      "org.apache.hadoop.hbase.coprocessor.BypassCoprocessorException";
-  static constexpr const char* kInvalidFamilyOperationException =
-      "org.apache.hadoop.hbase.InvalidFamilyOperationException";
-  static constexpr const char* kServerTooBusyException =
-      "org.apache.hadoop.hbase.ipc.ServerTooBusyException";  // This should NOT be DNRIOE?
-  static constexpr const char* kFailedSanityCheckException =
-      "org.apache.hadoop.hbase.exceptions.FailedSanityCheckException";
-  static constexpr const char* kCorruptHFileException =
-      "org.apache.hadoop.hbase.io.hfile.CorruptHFileException";
-  static constexpr const char* kLabelAlreadyExistsException =
-      "org.apache.hadoop.hbase.security.visibility.LabelAlreadyExistsException";
-  static constexpr const char* kFatalConnectionException =
-      "org.apache.hadoop.hbase.ipc.FatalConnectionException";
-  static constexpr const char* kUnsupportedCryptoException =
-      "org.apache.hadoop.hbase.ipc.UnsupportedCryptoException";
-  static constexpr const char* kUnsupportedCellCodecException =
-      "org.apache.hadoop.hbase.ipc.UnsupportedCellCodecException";
-  static constexpr const char* kEmptyServiceNameException =
-      "org.apache.hadoop.hbase.ipc.EmptyServiceNameException";
-  static constexpr const char* kUnknownServiceException =
-      "org.apache.hadoop.hbase.ipc.UnknownServiceException";
-  static constexpr const char* kWrongVersionException =
-      "org.apache.hadoop.hbase.ipc.WrongVersionException";
-  static constexpr const char* kBadAuthException = "org.apache.hadoop.hbase.ipc.BadAuthException";
-  static constexpr const char* kUnsupportedCompressionCodecException =
-      "org.apache.hadoop.hbase.ipc.UnsupportedCompressionCodecException";
-  static constexpr const char* kDoNotRetryRegionException =
-      "org.apache.hadoop.hbase.client.DoNotRetryRegionException";
-  static constexpr const char* kRowTooBigException =
-      "org.apache.hadoop.hbase.client.RowTooBigException";
-  static constexpr const char* kRowTooBigExceptionDeprecated =
-      "org.apache.hadoop.hbase.regionserver.RowTooBigException";
-  static constexpr const char* kUnknownRegionException =
-      "org.apache.hadoop.hbase.UnknownRegionException";
-  static constexpr const char* kMergeRegionException =
-      "org.apache.hadoop.hbase.exceptions.MergeRegionException";
-  static constexpr const char* kNoServerForRegionException =
-      "org.apache.hadoop.hbase.client.NoServerForRegionException";
-  static constexpr const char* kQuotaExceededException =
-      "org.apache.hadoop.hbase.quotas.QuotaExceededException";
-  static constexpr const char* kSpaceLimitingException =
-      "org.apache.hadoop.hbase.quotas.SpaceLimitingException";
-  static constexpr const char* kThrottlingException =
-      "org.apache.hadoop.hbase.quotas.ThrottlingException";
-  static constexpr const char* kAccessDeniedException =
-      "org.apache.hadoop.hbase.security.AccessDeniedException";
-  static constexpr const char* kUnknownProtocolException =
-      "org.apache.hadoop.hbase.exceptions.UnknownProtocolException";
-  static constexpr const char* kRequestTooBigException =
-      "org.apache.hadoop.hbase.exceptions.RequestTooBigException";
-  static constexpr const char* kNotAllMetaRegionsOnlineException =
-      "org.apache.hadoop.hbase.NotAllMetaRegionsOnlineException";
-  static constexpr const char* kConstraintException =
-      "org.apache.hadoop.hbase.constraint.ConstraintException";
-  static constexpr const char* kNoSuchColumnFamilyException =
-      "org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException";
-  static constexpr const char* kLeaseException =
-      "org.apache.hadoop.hbase.regionserver.LeaseException";
-  static constexpr const char* kInvalidLabelException =
-      "org.apache.hadoop.hbase.security.visibility.InvalidLabelException";
-
-  // TODO:
-  // These exceptions are not thrown in the regular read / write paths, although they are
-  // DoNotRetryIOExceptions. Add these to the list below in case we start doing Admin/DDL ops
-  // ReplicationPeerNotFoundException, XXXSnapshotException, NamespaceExistException,
-  // NamespaceNotFoundException, TableExistsException, TableNotDisabledException,
-  static const std::vector<const char*> kAllDoNotRetryIOExceptions;
-
- public:
-  /**
-   * Returns whether or not the exception should be retried by looking at the
-   * client-side IOException, or RemoteException coming from server side.
-   */
-  static bool ShouldRetry(const folly::exception_wrapper& error);
-
-  /**
-   * Returns whether the java exception class extends DoNotRetryException.
-   * In the java side, we just have a hierarchy of Exception classes that we use
-   * both client side and server side. On the client side, we rethrow the server
-   * side exception by un-wrapping the exception from a RemoteException or a ServiceException
-   * (see ConnectionUtils.translateException() in Java).
-   * Since this object-hierarchy info is not available in C++ side, we are doing a
-   * very fragile catch-all list of all exception types in Java that extend the
-   * DoNotRetryException class type.
-   */
-  static bool IsJavaDoNotRetryException(const std::string& java_class_name);
-
-  /**
-   * Returns whether the scanner is closed when the client received the
-   * remote exception.
-   * Since the object-hierarchy info is not available in C++ side, we are doing a
-   * very fragile catch-all list of all exception types in Java that extend these
-   * three base classes: UnknownScannerException, NotServingRegionException,
-   * RegionServerStoppedException
-   */
-  static bool IsScannerClosed(const folly::exception_wrapper& exception);
-
-  static bool IsScannerOutOfOrder(const folly::exception_wrapper& exception);
-};
-}  // namespace hbase

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/if/AccessControl.proto
----------------------------------------------------------------------
diff --git a/hbase-native-client/if/AccessControl.proto b/hbase-native-client/if/AccessControl.proto
deleted file mode 100644
index e67540b..0000000
--- a/hbase-native-client/if/AccessControl.proto
+++ /dev/null
@@ -1,123 +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 hbase.pb;
-
-option java_package = "org.apache.hadoop.hbase.protobuf.generated";
-option java_outer_classname = "AccessControlProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-option optimize_for = SPEED;
-
-import "HBase.proto";
-
-message Permission {
-    enum Action {
-        READ = 0;
-        WRITE = 1;
-        EXEC = 2;
-        CREATE = 3;
-        ADMIN = 4;
-    }
-    enum Type {
-        Global = 1;
-        Namespace = 2;
-        Table = 3;
-    }
-    required Type type = 1;
-    optional GlobalPermission global_permission = 2;
-    optional NamespacePermission namespace_permission = 3;
-    optional TablePermission table_permission = 4;
-}
-
-message TablePermission {
-    optional TableName table_name = 1;
-    optional bytes family = 2;
-    optional bytes qualifier = 3;
-    repeated Permission.Action action = 4;
-}
-
-message NamespacePermission {
-    optional bytes namespace_name = 1;
-    repeated Permission.Action action = 2;
-}
-
-message GlobalPermission {
-    repeated Permission.Action action = 1;
-}
-
-message UserPermission {
-    required bytes user = 1;
-    required Permission permission = 3;
-}
-
-/**
- * Content of the /hbase/acl/<table or namespace> znode.
- */
-message UsersAndPermissions {
-  message UserPermissions {
-    required bytes user = 1;
-    repeated Permission permissions = 2;
-  }
-
-  repeated UserPermissions user_permissions = 1;
-}
-
-message GrantRequest {
-  required UserPermission user_permission = 1;
-}
-
-message GrantResponse {
-}
-
-message RevokeRequest {
-  required UserPermission user_permission = 1;
-}
-
-message RevokeResponse {
-}
-
-message GetUserPermissionsRequest {
-  optional Permission.Type type = 1;
-  optional TableName table_name = 2;
-  optional bytes namespace_name = 3;
-}
-
-message GetUserPermissionsResponse {
-  repeated UserPermission user_permission = 1;
-}
-
-message CheckPermissionsRequest {
-  repeated Permission permission = 1;
-}
-
-message CheckPermissionsResponse {
-}
-
-service AccessControlService {
-    rpc Grant(GrantRequest)
-      returns (GrantResponse);
-
-    rpc Revoke(RevokeRequest)
-      returns (RevokeResponse);
-
-    rpc GetUserPermissions(GetUserPermissionsRequest)
-      returns (GetUserPermissionsResponse);
-
-    rpc CheckPermissions(CheckPermissionsRequest)
-      returns (CheckPermissionsResponse);
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/if/Admin.proto
----------------------------------------------------------------------
diff --git a/hbase-native-client/if/Admin.proto b/hbase-native-client/if/Admin.proto
deleted file mode 100644
index a1905a4..0000000
--- a/hbase-native-client/if/Admin.proto
+++ /dev/null
@@ -1,310 +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.
- */
-
-// This file contains protocol buffers that are used for Admin service.
-package hbase.pb;
-
-option java_package = "org.apache.hadoop.hbase.protobuf.generated";
-option java_outer_classname = "AdminProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-option optimize_for = SPEED;
-
-import "Client.proto";
-import "HBase.proto";
-import "WAL.proto";
-
-message GetRegionInfoRequest {
-  required RegionSpecifier region = 1;
-  optional bool compaction_state = 2;
-}
-
-message GetRegionInfoResponse {
-  required RegionInfo region_info = 1;
-  optional CompactionState compaction_state = 2;
-  optional bool isRecovering = 3;
-
-  enum CompactionState {
-    NONE = 0;
-    MINOR = 1;
-    MAJOR = 2;
-    MAJOR_AND_MINOR = 3;
-  }
-}
-
-/**
- * Get a list of store files for a set of column families in a particular region.
- * If no column family is specified, get the store files for all column families.
- */
-message GetStoreFileRequest {
-  required RegionSpecifier region = 1;
-  repeated bytes family = 2;
-}
-
-message GetStoreFileResponse {
-  repeated string store_file = 1;
-}
-
-message GetOnlineRegionRequest {
-}
-
-message GetOnlineRegionResponse {
-  repeated RegionInfo region_info = 1;
-}
-
-message OpenRegionRequest {
-  repeated RegionOpenInfo open_info = 1;
-  // the intended server for this RPC.
-  optional uint64 serverStartCode = 2;
-  // wall clock time from master
-  optional uint64 master_system_time = 5;
-
-  message RegionOpenInfo {
-    required RegionInfo region = 1;
-    optional uint32 version_of_offline_node = 2;
-    repeated ServerName favored_nodes = 3;
-    // open region for distributedLogReplay
-    optional bool openForDistributedLogReplay = 4;
-  }
-}
-
-message OpenRegionResponse {
-  repeated RegionOpeningState opening_state = 1;
-
-  enum RegionOpeningState {
-    OPENED = 0;
-    ALREADY_OPENED = 1;
-    FAILED_OPENING = 2;
-  }
-}
-
-message WarmupRegionRequest {
-
-    required RegionInfo regionInfo = 1;
-}
-
-message WarmupRegionResponse {
-}
-
-/**
- * Closes the specified region and will use or not use ZK during the close
- * according to the specified flag.
- */
-message CloseRegionRequest {
-  required RegionSpecifier region = 1;
-  optional uint32 version_of_closing_node = 2;
-  optional bool transition_in_ZK = 3 [default = true];
-  optional ServerName destination_server = 4;
-  // the intended server for this RPC.
-  optional uint64 serverStartCode = 5;
-}
-
-message CloseRegionResponse {
-  required bool closed = 1;
-}
-
-/**
- * Flushes the MemStore of the specified region.
- * <p>
- * This method is synchronous.
- */
-message FlushRegionRequest {
-  required RegionSpecifier region = 1;
-  optional uint64 if_older_than_ts = 2;
-  optional bool write_flush_wal_marker = 3; // whether to write a marker to WAL even if not flushed
-}
-
-message FlushRegionResponse {
-  required uint64 last_flush_time = 1;
-  optional bool flushed = 2;
-  optional bool wrote_flush_wal_marker = 3;
-}
-
-/**
- * Splits the specified region.
- * <p>
- * This method currently flushes the region and then forces a compaction which
- * will then trigger a split.  The flush is done synchronously but the
- * compaction is asynchronous.
- */
-message SplitRegionRequest {
-  required RegionSpecifier region = 1;
-  optional bytes split_point = 2;
-}
-
-message SplitRegionResponse {
-}
-
-/**
- * Compacts the specified region.  Performs a major compaction if specified.
- * <p>
- * This method is asynchronous.
- */
-message CompactRegionRequest {
-  required RegionSpecifier region = 1;
-  optional bool major = 2;
-  optional bytes family = 3;
-}
-
-message CompactRegionResponse {
-}
-
-message UpdateFavoredNodesRequest {
-  repeated RegionUpdateInfo update_info = 1;
-
-  message RegionUpdateInfo {
-    required RegionInfo region = 1;
-    repeated ServerName favored_nodes = 2;
-  }
-}
-
-message UpdateFavoredNodesResponse {
-  optional uint32 response = 1;
-}
-
-/**
- * Merges the specified regions.
- * <p>
- * This method currently closes the regions and then merges them
- */
-message MergeRegionsRequest {
-  required RegionSpecifier region_a = 1;
-  required RegionSpecifier region_b = 2;
-  optional bool forcible = 3 [default = false];
-  // wall clock time from master
-  optional uint64 master_system_time = 4;
-}
-
-message MergeRegionsResponse {
-}
-
-// Protocol buffer version of WAL for replication
-message WALEntry {
-  required WALKey key = 1;
-  // Following may be null if the KVs/Cells are carried along the side in a cellblock (See
-  // RPC for more on cellblocks). If Cells/KVs are in a cellblock, this next field is null
-  // and associated_cell_count has count of Cells associated w/ this WALEntry
-  repeated bytes key_value_bytes = 2;
-  // If Cell data is carried alongside in a cellblock, this is count of Cells in the cellblock.
-  optional int32 associated_cell_count = 3;
-}
-
-/**
- * Replicates the given entries. The guarantee is that the given entries
- * will be durable on the slave cluster if this method returns without
- * any exception.  hbase.replication has to be set to true for this to work.
- */
-message ReplicateWALEntryRequest {
-  repeated WALEntry entry = 1;
-  optional string replicationClusterId = 2;
-  optional string sourceBaseNamespaceDirPath = 3;
-  optional string sourceHFileArchiveDirPath = 4;
-}
-
-message ReplicateWALEntryResponse {
-}
-
-message RollWALWriterRequest {
-}
-
-/*
- * Roll request responses no longer include regions to flush
- * this list will always be empty when talking to a 1.0 server
- */
-message RollWALWriterResponse {
-  // A list of encoded name of regions to flush
-  repeated bytes region_to_flush = 1;
-}
-
-message StopServerRequest {
-  required string reason = 1;
-}
-
-message StopServerResponse {
-}
-
-message GetServerInfoRequest {
-}
-
-message ServerInfo {
-  required ServerName server_name = 1;
-  optional uint32 webui_port = 2;
-}
-
-message GetServerInfoResponse {
-  required ServerInfo server_info = 1;
-}
-
-message UpdateConfigurationRequest {
-}
-
-message UpdateConfigurationResponse {
-}
-
-service AdminService {
-  rpc GetRegionInfo(GetRegionInfoRequest)
-    returns(GetRegionInfoResponse);
-
-  rpc GetStoreFile(GetStoreFileRequest)
-    returns(GetStoreFileResponse);
-
-  rpc GetOnlineRegion(GetOnlineRegionRequest)
-    returns(GetOnlineRegionResponse);
-
-  rpc OpenRegion(OpenRegionRequest)
-    returns(OpenRegionResponse);
-
-  rpc WarmupRegion(WarmupRegionRequest)
-    returns(WarmupRegionResponse);
-
-  rpc CloseRegion(CloseRegionRequest)
-    returns(CloseRegionResponse);
-
-  rpc FlushRegion(FlushRegionRequest)
-    returns(FlushRegionResponse);
-
-  rpc SplitRegion(SplitRegionRequest)
-    returns(SplitRegionResponse);
-
-  rpc CompactRegion(CompactRegionRequest)
-    returns(CompactRegionResponse);
-
-  rpc MergeRegions(MergeRegionsRequest)
-    returns(MergeRegionsResponse);
-
-  rpc ReplicateWALEntry(ReplicateWALEntryRequest)
-    returns(ReplicateWALEntryResponse);
-
-  rpc Replay(ReplicateWALEntryRequest)
-    returns(ReplicateWALEntryResponse);
-
-  rpc RollWALWriter(RollWALWriterRequest)
-    returns(RollWALWriterResponse);
-
-  rpc GetServerInfo(GetServerInfoRequest)
-    returns(GetServerInfoResponse);
-
-  rpc StopServer(StopServerRequest)
-    returns(StopServerResponse);
-
-  rpc UpdateFavoredNodes(UpdateFavoredNodesRequest)
-    returns(UpdateFavoredNodesResponse);
-
-  rpc UpdateConfiguration(UpdateConfigurationRequest)
-    returns(UpdateConfigurationResponse);
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/if/Aggregate.proto
----------------------------------------------------------------------
diff --git a/hbase-native-client/if/Aggregate.proto b/hbase-native-client/if/Aggregate.proto
deleted file mode 100644
index 4d32e70..0000000
--- a/hbase-native-client/if/Aggregate.proto
+++ /dev/null
@@ -1,63 +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 hbase.pb;
-
-option java_package = "org.apache.hadoop.hbase.protobuf.generated";
-option java_outer_classname = "AggregateProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-option optimize_for = SPEED;
-
-import "Client.proto";
-
-message AggregateRequest {
-  /** The request passed to the AggregateService consists of three parts
-   *  (1) the (canonical) classname of the ColumnInterpreter implementation
-   *  (2) the Scan query
-   *  (3) any bytes required to construct the ColumnInterpreter object
-   *      properly
-   */
-  required string interpreter_class_name = 1;
-  required Scan scan = 2;
-  optional bytes  interpreter_specific_bytes = 3;
-}
-
-message AggregateResponse {
-  /**
-   * The AggregateService methods all have a response that either is a Pair
-   * or a simple object. When it is a Pair both first_part and second_part
-   * have defined values (and the second_part is not present in the response
-   * when the response is not a pair). Refer to the AggregateImplementation 
-   * class for an overview of the AggregateResponse object constructions. 
-   */ 
-  repeated bytes first_part = 1;
-  optional bytes second_part = 2;
-}
-
-/** Refer to the AggregateImplementation class for an overview of the 
- *  AggregateService method implementations and their functionality.
- */
-service AggregateService {
-  rpc GetMax (AggregateRequest) returns (AggregateResponse);
-  rpc GetMin (AggregateRequest) returns (AggregateResponse);
-  rpc GetSum (AggregateRequest) returns (AggregateResponse);
-  rpc GetRowNum (AggregateRequest) returns (AggregateResponse);
-  rpc GetAvg (AggregateRequest) returns (AggregateResponse);
-  rpc GetStd (AggregateRequest) returns (AggregateResponse);
-  rpc GetMedian (AggregateRequest) returns (AggregateResponse);
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/if/Authentication.proto
----------------------------------------------------------------------
diff --git a/hbase-native-client/if/Authentication.proto b/hbase-native-client/if/Authentication.proto
deleted file mode 100644
index 2f64799..0000000
--- a/hbase-native-client/if/Authentication.proto
+++ /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 hbase.pb;
-
-option java_package = "org.apache.hadoop.hbase.protobuf.generated";
-option java_outer_classname = "AuthenticationProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-option optimize_for = SPEED;
-
-message AuthenticationKey {
-    required int32 id = 1;
-    required int64 expiration_date = 2;
-    required bytes key = 3;
-}
-
-
-message TokenIdentifier {
-    enum Kind {
-        HBASE_AUTH_TOKEN = 0;
-    }
-    required Kind kind = 1;
-    required bytes username = 2;
-    required int32 key_id = 3;
-    optional int64 issue_date = 4;
-    optional int64 expiration_date = 5;
-    optional int64 sequence_number = 6;
-}
-
-
-// Serialization of the org.apache.hadoop.security.token.Token class
-// Note that this is a Hadoop class, so fields may change!
-message Token {
-    // the TokenIdentifier in serialized form
-    // Note: we can't use the protobuf directly because the Hadoop Token class
-    // only stores the serialized bytes
-    optional bytes identifier = 1;
-    optional bytes password = 2;
-    optional bytes service = 3;
-}
-
-
-// RPC request & response messages
-message GetAuthenticationTokenRequest {
-}
-
-message GetAuthenticationTokenResponse {
-    optional Token token = 1;
-}
-
-message WhoAmIRequest {
-}
-
-message WhoAmIResponse {
-    optional string username = 1;
-    optional string auth_method = 2;
-}
-
-
-// RPC service
-service AuthenticationService {
-    rpc GetAuthenticationToken(GetAuthenticationTokenRequest)
-        returns (GetAuthenticationTokenResponse);
-
-    rpc WhoAmI(WhoAmIRequest)
-        returns (WhoAmIResponse);
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/if/BUCK
----------------------------------------------------------------------
diff --git a/hbase-native-client/if/BUCK b/hbase-native-client/if/BUCK
deleted file mode 100644
index 1a9721d..0000000
--- a/hbase-native-client/if/BUCK
+++ /dev/null
@@ -1,48 +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.
-
-PROTO_SRCS = glob(['*.proto'])
-HEADER_FILENAMES = [x.replace('.proto', '.pb.h') for x in PROTO_SRCS]
-CC_FILENAMES = [x.replace('.proto', '.pb.cc') for x in PROTO_SRCS]
-
-genrule(
-    name='generate-proto-sources',
-    srcs=PROTO_SRCS,
-    cmd='mkdir -p $OUT && pwd && protoc --proto_path=. --cpp_out=$OUT *.proto',
-    out='output', )
-
-for header_filename in HEADER_FILENAMES:
-    genrule(name=header_filename,
-            cmd='mkdir -p `dirname $OUT` '
-            ' && cp $(location :generate-proto-sources)/{} $OUT'.format(
-                header_filename),
-            out=header_filename, )
-for cc_filename in CC_FILENAMES:
-    genrule(
-        name=cc_filename,
-        cmd='mkdir -p `dirname $OUT` '
-        ' && cp $(location :generate-proto-sources)/*.cc `dirname $OUT` '
-        ' && cp $(location :generate-proto-sources)/*.h `dirname $OUT`'.format(
-            cc_filename),
-        out=cc_filename, )
-
-cxx_library(name='if',
-            exported_headers=[':' + x for x in HEADER_FILENAMES],
-            srcs=[':' + x for x in CC_FILENAMES],
-            deps=['//third-party:protobuf'],
-            visibility=['PUBLIC', ],
-            exported_deps=['//third-party:protobuf'])

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/if/Cell.proto
----------------------------------------------------------------------
diff --git a/hbase-native-client/if/Cell.proto b/hbase-native-client/if/Cell.proto
deleted file mode 100644
index 2c61035..0000000
--- a/hbase-native-client/if/Cell.proto
+++ /dev/null
@@ -1,67 +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.
- */
-
-// Cell and KeyValue protos
-package hbase.pb;
-
-option java_package = "org.apache.hadoop.hbase.protobuf.generated";
-option java_outer_classname = "CellProtos";
-option java_generate_equals_and_hash = true;
-option optimize_for = SPEED;
-
-/**
- * The type of the key in a Cell
- */
-enum CellType {
-    MINIMUM = 0;
-    PUT = 4;
-
-    DELETE = 8;
-    DELETE_COLUMN = 12;
-    DELETE_FAMILY = 14;
-
-    // MAXIMUM is used when searching; you look from maximum on down.
-    MAXIMUM = 255;
-}
-
-/**
- * Protocol buffer version of Cell.
- */
-message Cell {
-  optional bytes row = 1;
-  optional bytes family = 2;
-  optional bytes qualifier = 3;
-  optional uint64 timestamp = 4;
-  optional CellType cell_type = 5;
-  optional bytes value = 6;
-  optional bytes tags = 7;
-}
-
-/**
- * Protocol buffer version of KeyValue.
- * It doesn't have those transient parameters
- */
-message KeyValue {
-  required bytes row = 1;
-  required bytes family = 2;
-  required bytes qualifier = 3;
-  optional uint64 timestamp = 4;
-  optional CellType key_type = 5;
-  optional bytes value = 6;
-  optional bytes tags = 7;
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/if/Client.proto
----------------------------------------------------------------------
diff --git a/hbase-native-client/if/Client.proto b/hbase-native-client/if/Client.proto
deleted file mode 100644
index 8a4d459..0000000
--- a/hbase-native-client/if/Client.proto
+++ /dev/null
@@ -1,478 +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.
- */
-
-// This file contains protocol buffers that are used for Client service.
-package hbase.pb;
-
-option java_package = "org.apache.hadoop.hbase.protobuf.generated";
-option java_outer_classname = "ClientProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-option optimize_for = SPEED;
-
-import "HBase.proto";
-import "Filter.proto";
-import "Cell.proto";
-import "Comparator.proto";
-import "MapReduce.proto";
-
-/**
- * The protocol buffer version of Authorizations.
- */
-message Authorizations {
-  repeated string label = 1;
-}
-
-/**
- * The protocol buffer version of CellVisibility.
- */
-message CellVisibility {
-  required string expression = 1;
-}
-
-/**
- * Container for a list of column qualifier names of a family.
- */
-message Column {
-  required bytes family = 1;
-  repeated bytes qualifier = 2;
-}
-
-/**
- * Consistency defines the expected consistency level for an operation.
- */
-enum Consistency {
-  STRONG   = 0;
-  TIMELINE = 1;
-}
-
-/**
- * The protocol buffer version of Get.
- * Unless existence_only is specified, return all the requested data
- * for the row that matches exactly.
- */
-message Get {
-  required bytes row = 1;
-  repeated Column column = 2;
-  repeated NameBytesPair attribute = 3;
-  optional Filter filter = 4;
-  optional TimeRange time_range = 5;
-  optional uint32 max_versions = 6 [default = 1];
-  optional bool cache_blocks = 7 [default = true];
-  optional uint32 store_limit = 8;
-  optional uint32 store_offset = 9;
-
-  // The result isn't asked for, just check for
-  // the existence.
-  optional bool existence_only = 10 [default = false];
-
-  optional Consistency consistency = 12 [default = STRONG];
-  repeated ColumnFamilyTimeRange cf_time_range = 13;
-}
-
-message Result {
-  // Result includes the Cells or else it just has a count of Cells
-  // that are carried otherwise.
-  repeated Cell cell = 1;
-  // The below count is set when the associated cells are
-  // not part of this protobuf message; they are passed alongside
-  // and then this Message is just a placeholder with metadata.
-  // The count is needed to know how many to peel off the block of Cells as
-  // ours.  NOTE: This is different from the pb managed cell_count of the
-  // 'cell' field above which is non-null when the cells are pb'd.
-  optional int32 associated_cell_count = 2;
-
-  // used for Get to check existence only. Not set if existence_only was not set to true
-  //  in the query.
-  optional bool exists = 3;
-
-  // Whether or not the results are coming from possibly stale data 
-  optional bool stale = 4 [default = false];
-
-  // Whether or not the entire result could be returned. Results will be split when
-  // the RPC chunk size limit is reached. Partial results contain only a subset of the
-  // cells for a row and must be combined with a result containing the remaining cells
-  // to form a complete result
-  optional bool partial = 5 [default = false];
-}
-
-/**
- * The get request. Perform a single Get operation.
- */
-message GetRequest {
-  required RegionSpecifier region = 1;
-  required Get get = 2;
-}
-
-message GetResponse {
-  optional Result result = 1;
-}
-
-/**
- * Condition to check if the value of a given cell (row,
- * family, qualifier) matches a value via a given comparator.
- *
- * Condition is used in check and mutate operations.
- */
-message Condition {
-  required bytes row = 1;
-  required bytes family = 2;
-  required bytes qualifier = 3;
-  required CompareType compare_type = 4;
-  required Comparator comparator = 5;
-}
-
-
-/**
- * A specific mutation inside a mutate request.
- * It can be an append, increment, put or delete based
- * on the mutation type.  It can be fully filled in or
- * only metadata present because data is being carried
- * elsewhere outside of pb.
- */
-message MutationProto {
-  optional bytes row = 1;
-  optional MutationType mutate_type = 2;
-  repeated ColumnValue column_value = 3;
-  optional uint64 timestamp = 4;
-  repeated NameBytesPair attribute = 5;
-  optional Durability durability = 6 [default = USE_DEFAULT];
-
-  // For some mutations, a result may be returned, in which case,
-  // time range can be specified for potential performance gain
-  optional TimeRange time_range = 7;
-  // The below count is set when the associated cells are NOT
-  // part of this protobuf message; they are passed alongside
-  // and then this Message is a placeholder with metadata.  The
-  // count is needed to know how many to peel off the block of Cells as
-  // ours.  NOTE: This is different from the pb managed cell_count of the
-  // 'cell' field above which is non-null when the cells are pb'd.
-  optional int32 associated_cell_count = 8;
-
-  optional uint64 nonce = 9;
-
-  enum Durability {
-    USE_DEFAULT  = 0;
-    SKIP_WAL     = 1;
-    ASYNC_WAL    = 2;
-    SYNC_WAL     = 3;
-    FSYNC_WAL    = 4;
-  }
-
-  enum MutationType {
-    APPEND = 0;
-    INCREMENT = 1;
-    PUT = 2;
-    DELETE = 3;
-  }
-
-  enum DeleteType {
-    DELETE_ONE_VERSION = 0;
-    DELETE_MULTIPLE_VERSIONS = 1;
-    DELETE_FAMILY = 2;
-    DELETE_FAMILY_VERSION = 3;
-  }
-
-  message ColumnValue {
-    required bytes family = 1;
-    repeated QualifierValue qualifier_value = 2;
-
-    message QualifierValue {
-      optional bytes qualifier = 1;
-      optional bytes value = 2;
-      optional uint64 timestamp = 3;
-      optional DeleteType delete_type = 4;
-      optional bytes tags = 5;
-    }
-  }
-}
-
-/**
- * The mutate request. Perform a single Mutate operation.
- *
- * Optionally, you can specify a condition. The mutate
- * will take place only if the condition is met.  Otherwise,
- * the mutate will be ignored.  In the response result,
- * parameter processed is used to indicate if the mutate
- * actually happened.
- */
-message MutateRequest {
-  required RegionSpecifier region = 1;
-  required MutationProto mutation = 2;
-  optional Condition condition = 3;
-  optional uint64 nonce_group = 4;
-}
-
-message MutateResponse {
-  optional Result result = 1;
-
-  // used for mutate to indicate processed only
-  optional bool processed = 2;
-}
-
-/**
- * Instead of get from a table, you can scan it with optional filters.
- * You can specify the row key range, time range, the columns/families
- * to scan and so on.
- *
- * This scan is used the first time in a scan request. The response of
- * the initial scan will return a scanner id, which should be used to
- * fetch result batches later on before it is closed.
- */
-message Scan {
-  repeated Column column = 1;
-  repeated NameBytesPair attribute = 2;
-  optional bytes start_row = 3;
-  optional bytes stop_row = 4;
-  optional Filter filter = 5;
-  optional TimeRange time_range = 6;
-  optional uint32 max_versions = 7 [default = 1];
-  optional bool cache_blocks = 8 [default = true];
-  optional uint32 batch_size = 9;
-  optional uint64 max_result_size = 10;
-  optional uint32 store_limit = 11;
-  optional uint32 store_offset = 12;
-  optional bool load_column_families_on_demand = 13; /* DO NOT add defaults to load_column_families_on_demand. */
-  optional bool small = 14;
-  optional bool reversed = 15 [default = false];
-  optional Consistency consistency = 16 [default = STRONG];
-  optional uint32 caching = 17;
-  optional bool allow_partial_results = 18;
-  repeated ColumnFamilyTimeRange cf_time_range = 19;
-}
-
-/**
- * A scan request. Initially, it should specify a scan. Later on, you
- * can use the scanner id returned to fetch result batches with a different
- * scan request.
- *
- * The scanner will remain open if there are more results, and it's not
- * asked to be closed explicitly.
- *
- * You can fetch the results and ask the scanner to be closed to save
- * a trip if you are not interested in remaining results.
- */
-message ScanRequest {
-  optional RegionSpecifier region = 1;
-  optional Scan scan = 2;
-  optional uint64 scanner_id = 3;
-  optional uint32 number_of_rows = 4;
-  optional bool close_scanner = 5;
-  optional uint64 next_call_seq = 6;
-  optional bool client_handles_partials = 7;
-  optional bool client_handles_heartbeats = 8;
-  optional bool track_scan_metrics = 9;
-  optional bool renew = 10 [default = false];
-}
-
-/**
- * The scan response. If there are no more results, more_results will
- * be false.  If it is not specified, it means there are more.
- */
-message ScanResponse {
-  // This field is filled in if we are doing cellblocks.  A cellblock is made up
-  // of all Cells serialized out as one cellblock BUT responses from a server
-  // have their Cells grouped by Result.  So we can reconstitute the
-  // Results on the client-side, this field is a list of counts of Cells
-  // in each Result that makes up the response.  For example, if this field
-  // has 3, 3, 3 in it, then we know that on the client, we are to make
-  // three Results each of three Cells each.
-  repeated uint32 cells_per_result = 1;
-
-  optional uint64 scanner_id = 2;
-  optional bool more_results = 3;
-  optional uint32 ttl = 4;
-  // If cells are not carried in an accompanying cellblock, then they are pb'd here.
-  // This field is mutually exclusive with cells_per_result (since the Cells will
-  // be inside the pb'd Result)
-  repeated Result results = 5;
-  optional bool stale = 6;
-
-  // This field is filled in if we are doing cellblocks. In the event that a row
-  // could not fit all of its cells into a single RPC chunk, the results will be
-  // returned as partials, and reconstructed into a complete result on the client
-  // side. This field is a list of flags indicating whether or not the result
-  // that the cells belong to is a partial result. For example, if this field
-  // has false, false, true in it, then we know that on the client side, we need to
-  // make another RPC request since the last result was only a partial.
-  repeated bool partial_flag_per_result = 7;
-
-  // A server may choose to limit the number of results returned to the client for
-  // reasons such as the size in bytes or quantity of results accumulated. This field
-  // will true when more results exist in the current region.
-  optional bool more_results_in_region = 8;
-  
-  // This field is filled in if the server is sending back a heartbeat message.
-  // Heartbeat messages are sent back to the client to prevent the scanner from
-  // timing out. Seeing a heartbeat message communicates to the Client that the
-  // server would have continued to scan had the time limit not been reached.
-  optional bool heartbeat_message = 9;
-  
-  // This field is filled in if the client has requested that scan metrics be tracked.
-  // The metrics tracked here are sent back to the client to be tracked together with 
-  // the existing client side metrics.
-  optional ScanMetrics scan_metrics = 10;
-}
-
-/**
- * Atomically bulk load multiple HFiles (say from different column families)
- * into an open region.
- */
-message BulkLoadHFileRequest {
-  required RegionSpecifier region = 1;
-  repeated FamilyPath family_path = 2;
-  optional bool assign_seq_num = 3;
-
-  message FamilyPath {
-    required bytes family = 1;
-    required string path = 2;
-  }
-}
-
-message BulkLoadHFileResponse {
-  required bool loaded = 1;
-}
-
-message CoprocessorServiceCall {
-  required bytes row = 1;
-  required string service_name = 2;
-  required string method_name = 3;
-  required bytes request = 4;
-}
-
-message CoprocessorServiceResult {
-  optional NameBytesPair value = 1;
-}
-
-message CoprocessorServiceRequest {
-  required RegionSpecifier region = 1;
-  required CoprocessorServiceCall call = 2;
-}
-
-message CoprocessorServiceResponse {
-  required RegionSpecifier region = 1;
-  required NameBytesPair value = 2;
-}
-
-// Either a Get or a Mutation
-message Action {
-  // If part of a multi action, useful aligning
-  // result with what was originally submitted.
-  optional uint32 index = 1;
-  optional MutationProto mutation = 2;
-  optional Get get = 3;
-  optional CoprocessorServiceCall service_call = 4;
-}
-
-/**
- * Actions to run against a Region.
- */
-message RegionAction {
-  required RegionSpecifier region = 1;
-  // When set, run mutations as atomic unit.
-  optional bool atomic = 2;
-  repeated Action action = 3;
-}
-
-/*
-* Statistics about the current load on the region
-*/
-message RegionLoadStats {
-  // Percent load on the memstore. Guaranteed to be positive, between 0 and 100.
-  optional int32 memstoreLoad = 1 [default = 0];
-  // Percent JVM heap occupancy. Guaranteed to be positive, between 0 and 100.
-  // We can move this to "ServerLoadStats" should we develop them.
-  optional int32 heapOccupancy = 2 [default = 0];
-  // Compaction pressure. Guaranteed to be positive, between 0 and 100.
-  optional int32 compactionPressure = 3 [default = 0];
-}
-
-message MultiRegionLoadStats{
-  repeated RegionSpecifier region = 1;
-  repeated RegionLoadStats stat = 2;
-}
-
-/**
- * Either a Result or an Exception NameBytesPair (keyed by
- * exception name whose value is the exception stringified)
- * or maybe empty if no result and no exception.
- */
-message ResultOrException {
-  // If part of a multi call, save original index of the list of all
-  // passed so can align this response w/ original request.
-  optional uint32 index = 1;
-  optional Result result = 2;
-  optional NameBytesPair exception = 3;
-  // result if this was a coprocessor service call
-  optional CoprocessorServiceResult service_result = 4;
-  // current load on the region
-  optional RegionLoadStats loadStats = 5 [deprecated=true];
-}
-
-/**
- * The result of a RegionAction.
- */
-message RegionActionResult {
-  repeated ResultOrException resultOrException = 1;
-  // If the operation failed globally for this region, this exception is set
-  optional NameBytesPair exception = 2;
-}
-
-/**
- * Execute a list of actions on a given region in order.
- * Nothing prevents a request to contains a set of RegionAction on the same region.
- * For this reason, the matching between the MultiRequest and the MultiResponse is not
- *  done by the region specifier but by keeping the order of the RegionActionResult vs.
- *  the order of the RegionAction.
- */
-message MultiRequest {
-  repeated RegionAction regionAction = 1;
-  optional uint64 nonceGroup = 2;
-  optional Condition condition = 3;
-}
-
-message MultiResponse {
-  repeated RegionActionResult regionActionResult = 1;
-  // used for mutate to indicate processed only
-  optional bool processed = 2;
-  optional MultiRegionLoadStats regionStatistics = 3;
-}
-
-
-service ClientService {
-  rpc Get(GetRequest)
-    returns(GetResponse);
-
-  rpc Mutate(MutateRequest)
-    returns(MutateResponse);
-
-  rpc Scan(ScanRequest)
-    returns(ScanResponse);
-
-  rpc BulkLoadHFile(BulkLoadHFileRequest)
-    returns(BulkLoadHFileResponse);
-
-  rpc ExecService(CoprocessorServiceRequest)
-    returns(CoprocessorServiceResponse);
-    
-  rpc ExecRegionServerService(CoprocessorServiceRequest)
-    returns(CoprocessorServiceResponse);
-
-  rpc Multi(MultiRequest)
-    returns(MultiResponse);
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/if/ClusterId.proto
----------------------------------------------------------------------
diff --git a/hbase-native-client/if/ClusterId.proto b/hbase-native-client/if/ClusterId.proto
deleted file mode 100644
index aed8cfc..0000000
--- a/hbase-native-client/if/ClusterId.proto
+++ /dev/null
@@ -1,34 +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.
- */
-
-// This file contains protocol buffers that are shared throughout HBase
-package hbase.pb;
-
-option java_package = "org.apache.hadoop.hbase.protobuf.generated";
-option java_outer_classname = "ClusterIdProtos";
-option java_generate_equals_and_hash = true;
-option optimize_for = SPEED;
-
-/**
- * Content of the '/hbase/hbaseid', cluster id, znode.
- * Also cluster of the ${HBASE_ROOTDIR}/hbase.id file.
- */
-message ClusterId {
-  // This is the cluster id, a uuid as a String
-  required string cluster_id = 1;
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/128fc306/hbase-native-client/if/ClusterStatus.proto
----------------------------------------------------------------------
diff --git a/hbase-native-client/if/ClusterStatus.proto b/hbase-native-client/if/ClusterStatus.proto
deleted file mode 100644
index 54bc0c3..0000000
--- a/hbase-native-client/if/ClusterStatus.proto
+++ /dev/null
@@ -1,227 +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.
- */
-
-// This file contains protocol buffers that are used for ClustStatus
-package hbase.pb;
-
-option java_package = "org.apache.hadoop.hbase.protobuf.generated";
-option java_outer_classname = "ClusterStatusProtos";
-option java_generate_equals_and_hash = true;
-option optimize_for = SPEED;
-
-import "HBase.proto";
-import "ClusterId.proto";
-import "FS.proto";
-
-message RegionState {
-  required RegionInfo region_info = 1;
-  required State state = 2;
-  optional uint64 stamp = 3;
-  enum State {
-    OFFLINE = 0;       // region is in an offline state
-    PENDING_OPEN = 1;  // sent rpc to server to open but has not begun
-    OPENING = 2;       // server has begun to open but not yet done
-    OPEN = 3;          // server opened region and updated meta
-    PENDING_CLOSE = 4; // sent rpc to server to close but has not begun
-    CLOSING = 5;       // server has begun to close but not yet done
-    CLOSED = 6;        // server closed region and updated meta
-    SPLITTING = 7;     // server started split of a region
-    SPLIT = 8;         // server completed split of a region
-    FAILED_OPEN = 9;   // failed to open, and won't retry any more
-    FAILED_CLOSE = 10; // failed to close, and won't retry any more
-    MERGING = 11;      // server started merge a region
-    MERGED = 12;       // server completed merge of a region
-    SPLITTING_NEW = 13;  // new region to be created when RS splits a parent
-                       // region but hasn't be created yet, or master doesn't
-                       // know it's already created
-    MERGING_NEW = 14;  // new region to be created when RS merges two
-                       // daughter regions but hasn't be created yet, or
-                       // master doesn't know it's already created
-  }
-}
-
-message RegionInTransition {
-  required RegionSpecifier spec = 1;
-  required RegionState region_state = 2;
-}
-
-/**
- * sequence Id of a store
- */
-message StoreSequenceId {
-  required bytes family_name = 1;
-  required uint64 sequence_id = 2;
-}
-
-/**
- * contains a sequence id of a region which should be the minimum of its store sequence ids and
- * list of sequence ids of the region's stores
- */
-message RegionStoreSequenceIds {
-  required uint64 last_flushed_sequence_id = 1;
-  repeated StoreSequenceId store_sequence_id = 2;
-}
-
-message RegionLoad {
-  /** the region specifier */
-  required RegionSpecifier region_specifier = 1;
-
-  /** the number of stores for the region */
-  optional uint32 stores = 2;
-
-  /** the number of storefiles for the region */
-  optional uint32 storefiles = 3;
-
-  /** the total size of the store files for the region, uncompressed, in MB */
-  optional uint32 store_uncompressed_size_MB = 4;
-
-  /** the current total size of the store files for the region, in MB */
-  optional uint32 storefile_size_MB = 5;
-
-  /** the current size of the memstore for the region, in MB */
-  optional uint32 memstore_size_MB = 6;
-
-  /**
-   * The current total size of root-level store file indexes for the region,
-   * in MB. The same as {@link #rootIndexSizeKB} but in MB.
-   */
-  optional uint32 storefile_index_size_MB = 7;
-
-  /** the current total read requests made to region */
-  optional uint64 read_requests_count = 8;
-
-  /** the current total write requests made to region */
-  optional uint64 write_requests_count = 9;
-
-  /** the total compacting key values in currently running compaction */
-  optional uint64 total_compacting_KVs = 10;
-
-  /** the completed count of key values in currently running compaction */
-  optional uint64 current_compacted_KVs = 11;
-
-   /** The current total size of root-level indexes for the region, in KB. */
-  optional uint32 root_index_size_KB = 12;
-
-  /** The total size of all index blocks, not just the root level, in KB. */
-  optional uint32 total_static_index_size_KB = 13;
-
-  /**
-   * The total size of all Bloom filter blocks, not just loaded into the
-   * block cache, in KB.
-   */
-  optional uint32 total_static_bloom_size_KB = 14;
-
-  /** the most recent sequence Id from cache flush */
-  optional uint64 complete_sequence_id = 15;
-
-  /** The current data locality for region in the regionserver */
-  optional float data_locality = 16;
-
-  optional uint64 last_major_compaction_ts = 17 [default = 0];
-
-  /** the most recent sequence Id of store from cache flush */
-  repeated StoreSequenceId store_complete_sequence_id = 18;
-
-  /** the current total filtered read requests made to region */
-  optional uint64 filtered_read_requests_count = 19;
-}
-
-/* Server-level protobufs */
-
-message ReplicationLoadSink {
-  required uint64 ageOfLastAppliedOp = 1;
-  required uint64 timeStampsOfLastAppliedOp = 2;
-}
-
-message ReplicationLoadSource {
-  required string peerID = 1;
-  required uint64 ageOfLastShippedOp = 2;
-  required uint32 sizeOfLogQueue = 3;
-  required uint64 timeStampOfLastShippedOp = 4;
-  required uint64 replicationLag = 5;
-}
-
-message ServerLoad {
-  /** Number of requests since last report. */
-  optional uint64 number_of_requests = 1;
-
-  /** Total Number of requests from the start of the region server. */
-  optional uint64 total_number_of_requests = 2;
-
-  /** the amount of used heap, in MB. */
-  optional uint32 used_heap_MB = 3;
-
-  /** the maximum allowable size of the heap, in MB. */
-  optional uint32 max_heap_MB = 4;
-
-  /** Information on the load of individual regions. */
-  repeated RegionLoad region_loads = 5;
-
-  /**
-   * Regionserver-level coprocessors, e.g., WALObserver implementations.
-   * Region-level coprocessors, on the other hand, are stored inside RegionLoad
-   * objects.
-   */
-  repeated Coprocessor coprocessors = 6;
-
-  /**
-   * Time when incremental (non-total) counts began being calculated (e.g. number_of_requests)
-   * time is measured as the difference, measured in milliseconds, between the current time
-   * and midnight, January 1, 1970 UTC.
-   */
-  optional uint64 report_start_time = 7;
-
-  /**
-   * Time when report was generated.
-   * time is measured as the difference, measured in milliseconds, between the current time
-   * and midnight, January 1, 1970 UTC.
-   */
-  optional uint64 report_end_time = 8;
-
-  /**
-   * The port number that this region server is hosing an info server on.
-   */
-  optional uint32 info_server_port = 9;
-
-  /**
-   * The replicationLoadSource for the replication Source status of this region server.
-   */
-  repeated ReplicationLoadSource replLoadSource = 10;
-
-  /**
-   * The replicationLoadSink for the replication Sink status of this region server.
-   */
-  optional ReplicationLoadSink replLoadSink = 11;
-}
-
-message LiveServerInfo {
-  required ServerName server = 1;
-  required ServerLoad server_load = 2;
-}
-
-message ClusterStatus {
-  optional HBaseVersionFileContent hbase_version = 1;
-  repeated LiveServerInfo live_servers = 2;
-  repeated ServerName dead_servers = 3;
-  repeated RegionInTransition regions_in_transition = 4;
-  optional ClusterId cluster_id = 5;
-  repeated Coprocessor master_coprocessors = 6;
-  optional ServerName master = 7;
-  repeated ServerName backup_masters = 8;
-  optional bool balancer_on = 9;
-}