You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by al...@apache.org on 2017/06/22 21:19:58 UTC

[3/4] kudu git commit: [java] Replace interface-annotations with Apache Yetus annotations

[java] Replace interface-annotations with Apache Yetus annotations

Apache Yetus, like our interface-annotations module, was forked
from Hadoop's audience annotations. It does everything
interface-annotations does, using the same vocabulary, and
possibly more, so let's use it instead.

Projects with dependencies on kudu-client or kudu-spark won't
need to change anything in their poms.

This is a binary incompatible change since a jar built after
this change can't be swapped in for a jar built before it-- this
would also require swapping the interface-annotations jar on the
classpath with the appropriate Yetus jar.

I also manually checked that the generated javadocs for the
client look the same as before.

Change-Id: I860e59f497d96f507d5a2b0ea517f9f8d0794dac
Reviewed-on: http://gerrit.cloudera.org:8080/7235
Reviewed-by: Dan Burkert <da...@apache.org>
Reviewed-by: Adar Dembo <ad...@cloudera.com>
Tested-by: Kudu Jenkins


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

Branch: refs/heads/master
Commit: c2577858c62afa24469b0ba6f47071506bf790ad
Parents: a5b7ece
Author: Will Berkeley <wd...@apache.org>
Authored: Tue Jun 20 15:16:40 2017 -0700
Committer: Will Berkeley <wd...@gmail.com>
Committed: Thu Jun 22 20:33:38 2017 +0000

----------------------------------------------------------------------
 java/interface-annotations/pom.xml              |  72 ------
 .../kudu/annotations/InterfaceAudience.java     |  75 ------
 .../kudu/annotations/InterfaceStability.java    |  67 -----
 .../ExcludePrivateAnnotationsJDiffDoclet.java   |  62 -----
 ...ExcludePrivateAnnotationsStandardDoclet.java |  62 -----
 .../IncludePublicAnnotationsStandardDoclet.java |  67 -----
 .../annotations/tools/RootDocProcessor.java     | 248 -------------------
 .../annotations/tools/StabilityOptions.java     |  74 ------
 .../kudu/annotations/tools/package-info.java    |  23 --
 .../mapreduce/tools/BigLinkedListCommon.java    |   4 +-
 .../apache/kudu/mapreduce/tools/CsvParser.java  |   4 +-
 .../apache/kudu/mapreduce/tools/ImportCsv.java  |   4 +-
 .../kudu/mapreduce/tools/ImportCsvMapper.java   |   4 +-
 .../tools/IntegrationTestBigLinkedList.java     |   4 +-
 .../apache/kudu/mapreduce/tools/RowCounter.java |   4 +-
 java/kudu-client/pom.xml                        |   6 +-
 .../main/java/org/apache/kudu/ColumnSchema.java |   5 +-
 .../src/main/java/org/apache/kudu/Schema.java   |   4 +-
 .../src/main/java/org/apache/kudu/Type.java     |   5 +-
 .../kudu/client/AbstractKuduScannerBuilder.java |   5 +-
 .../apache/kudu/client/AlterTableOptions.java   |   4 +-
 .../apache/kudu/client/AlterTableRequest.java   |   2 +-
 .../apache/kudu/client/AlterTableResponse.java  |   4 +-
 .../org/apache/kudu/client/AsyncKuduClient.java |   6 +-
 .../apache/kudu/client/AsyncKuduScanner.java    |   4 +-
 .../apache/kudu/client/AsyncKuduSession.java    |   4 +-
 .../main/java/org/apache/kudu/client/Batch.java |   2 +-
 .../org/apache/kudu/client/BatchResponse.java   |   2 +-
 .../main/java/org/apache/kudu/client/Bytes.java |   2 +-
 .../org/apache/kudu/client/CallResponse.java    |   2 +-
 .../kudu/client/ColumnRangePredicate.java       |   2 +-
 .../apache/kudu/client/ConnectToCluster.java    |   2 +-
 .../kudu/client/ConnectToMasterRequest.java     |   2 +-
 .../org/apache/kudu/client/ConnectionCache.java |   6 +-
 .../apache/kudu/client/CreateTableOptions.java  |   4 +-
 .../apache/kudu/client/CreateTableRequest.java  |   2 +-
 .../apache/kudu/client/CreateTableResponse.java |   2 +-
 .../java/org/apache/kudu/client/Delete.java     |   4 +-
 .../apache/kudu/client/DeleteTableRequest.java  |   2 +-
 .../apache/kudu/client/DeleteTableResponse.java |   4 +-
 .../org/apache/kudu/client/ErrorCollector.java  |   5 +-
 .../kudu/client/ExternalConsistencyMode.java    |   5 +-
 .../kudu/client/GetTableLocationsRequest.java   |   2 +-
 .../kudu/client/GetTableSchemaRequest.java      |   2 +-
 .../kudu/client/GetTableSchemaResponse.java     |   3 +-
 .../kudu/client/HasFailedRpcException.java      |   4 +-
 .../java/org/apache/kudu/client/IPCUtil.java    |   3 +-
 .../java/org/apache/kudu/client/Insert.java     |   4 +-
 .../kudu/client/IsAlterTableDoneRequest.java    |   2 +-
 .../kudu/client/IsAlterTableDoneResponse.java   |   4 +-
 .../kudu/client/IsCreateTableDoneRequest.java   |   2 +-
 .../java/org/apache/kudu/client/KeyEncoder.java |   2 +-
 .../java/org/apache/kudu/client/KuduClient.java |   4 +-
 .../org/apache/kudu/client/KuduException.java   |   5 +-
 .../org/apache/kudu/client/KuduPredicate.java   |   4 +-
 .../java/org/apache/kudu/client/KuduRpc.java    |   2 +-
 .../org/apache/kudu/client/KuduRpcResponse.java |   2 +-
 .../org/apache/kudu/client/KuduScanToken.java   |   4 +-
 .../org/apache/kudu/client/KuduScanner.java     |   4 +-
 .../org/apache/kudu/client/KuduSession.java     |   5 +-
 .../java/org/apache/kudu/client/KuduTable.java  |   4 +-
 .../apache/kudu/client/ListTablesRequest.java   |   2 +-
 .../apache/kudu/client/ListTablesResponse.java  |   4 +-
 .../kudu/client/ListTabletServersRequest.java   |   2 +-
 .../kudu/client/ListTabletServersResponse.java  |   4 +-
 .../apache/kudu/client/ListTabletsRequest.java  |   2 +-
 .../apache/kudu/client/ListTabletsResponse.java |   2 +-
 .../org/apache/kudu/client/LocatedTablet.java   |   5 +-
 .../java/org/apache/kudu/client/Negotiator.java |   4 +-
 .../kudu/client/NoLeaderFoundException.java     |   4 +-
 .../kudu/client/NonCoveredRangeException.java   |   2 +-
 .../kudu/client/NonRecoverableException.java    |   4 +-
 .../java/org/apache/kudu/client/Operation.java  |   4 +-
 .../apache/kudu/client/OperationResponse.java   |   5 +-
 .../java/org/apache/kudu/client/PartialRow.java |   4 +-
 .../java/org/apache/kudu/client/Partition.java  |   4 +-
 .../org/apache/kudu/client/PartitionPruner.java |   3 +-
 .../org/apache/kudu/client/PartitionSchema.java |   5 +-
 .../org/apache/kudu/client/PingRequest.java     |   4 +-
 .../org/apache/kudu/client/PingResponse.java    |   4 +-
 .../kudu/client/PleaseThrottleException.java    |   5 +-
 .../org/apache/kudu/client/ProtobufHelper.java  |   2 +-
 .../apache/kudu/client/RangePartitionBound.java |   4 +-
 .../kudu/client/RecoverableException.java       |   4 +-
 .../org/apache/kudu/client/RemoteTablet.java    |   4 +-
 .../apache/kudu/client/ReplicaSelection.java    |   4 +-
 .../org/apache/kudu/client/RequestTracker.java  |   2 +-
 .../java/org/apache/kudu/client/RowError.java   |   5 +-
 .../kudu/client/RowErrorsAndOverflowStatus.java |   4 +-
 .../java/org/apache/kudu/client/RowResult.java  |   5 +-
 .../apache/kudu/client/RowResultIterator.java   |   5 +-
 .../apache/kudu/client/RpcOutboundMessage.java  |   1 -
 .../apache/kudu/client/RpcRemoteException.java  |   3 +-
 .../org/apache/kudu/client/RpcTraceFrame.java   |   3 +-
 .../kudu/client/ScannerExpiredException.java    |   4 +-
 .../org/apache/kudu/client/SecurityContext.java |   1 -
 .../java/org/apache/kudu/client/ServerInfo.java |   2 +-
 .../kudu/client/SessionConfiguration.java       |   4 +-
 .../java/org/apache/kudu/client/Statistics.java |   4 +-
 .../java/org/apache/kudu/client/Status.java     |   4 +-
 .../apache/kudu/client/TableLocationsCache.java |   3 +-
 .../org/apache/kudu/client/TabletClient.java    |   4 +-
 .../java/org/apache/kudu/client/Update.java     |   4 +-
 .../java/org/apache/kudu/client/Upsert.java     |   4 +-
 .../java/org/apache/kudu/util/AsyncUtil.java    |   3 +-
 .../main/java/org/apache/kudu/util/ByteVec.java |   3 +-
 .../org/apache/kudu/util/HybridTimeUtil.java    |   2 +-
 .../main/java/org/apache/kudu/util/NetUtil.java |   3 +-
 .../main/java/org/apache/kudu/util/Pair.java    |   3 +-
 .../java/org/apache/kudu/util/SecurityUtil.java |   5 +-
 .../main/java/org/apache/kudu/util/Slice.java   |   3 +-
 .../main/java/org/apache/kudu/util/Slices.java  |   3 +-
 .../java/org/apache/kudu/util/StringUtil.java   |   2 +-
 .../java/org/apache/kudu/client/FakeDNS.java    |   2 -
 .../org/apache/kudu/client/ITClientStress.java  |   7 +-
 .../kudu/client/ITNonFaultTolerantScanner.java  |   4 +-
 .../java/org/apache/kudu/client/MiniKdc.java    |   4 +-
 .../org/apache/kudu/client/MiniKuduCluster.java |   2 +-
 .../apache/kudu/client/TestAsyncKuduClient.java |   4 +-
 .../apache/kudu/client/TestConnectionCache.java |   3 +-
 .../apache/kudu/client/TestHandleTooBusy.java   |   3 +-
 .../org/apache/kudu/client/TestKuduClient.java  |  10 +-
 .../org/apache/kudu/client/TestMiniKdc.java     |   9 +-
 .../apache/kudu/client/TestMiniKuduCluster.java |   4 +-
 .../org/apache/kudu/client/TestNegotiator.java  |  38 +--
 .../org/apache/kudu/client/TestPartialRow.java  |   6 +-
 .../org/apache/kudu/client/TestServerInfo.java  |   4 +-
 .../java/org/apache/kudu/client/TestStatus.java |   4 +-
 .../apache/kudu/util/CapturingLogAppender.java  |   3 +-
 .../org/apache/kudu/util/TestStringUtil.java    |   4 +-
 .../flume/sink/AvroKuduOperationsProducer.java  |   4 +-
 .../kudu/flume/sink/KuduOperationsProducer.java |   4 +-
 .../org/apache/kudu/flume/sink/KuduSink.java    |   4 +-
 .../sink/KuduSinkConfigurationConstants.java    |   4 +-
 .../sink/RegexpKuduOperationsProducer.java      |   4 +-
 .../sink/SimpleKeyedKuduOperationsProducer.java |   4 +-
 .../sink/SimpleKuduOperationsProducer.java      |   4 +-
 java/kudu-jepsen/pom.xml                        |   6 +-
 .../kudu/mapreduce/CommandLineParser.java       |   4 +-
 .../kudu/mapreduce/KuduTableInputFormat.java    |   4 +-
 .../kudu/mapreduce/KuduTableMapReduceUtil.java  |   4 +-
 .../mapreduce/KuduTableOutputCommitter.java     |   5 +-
 .../kudu/mapreduce/KuduTableOutputFormat.java   |   4 +-
 .../org/apache/kudu/mapreduce/TableReducer.java |   4 +-
 java/kudu-spark/pom.xml                         |   6 +-
 .../apache/kudu/spark/kudu/DefaultSource.scala  |   4 +-
 .../apache/kudu/spark/kudu/KuduContext.scala    |  12 +-
 .../org/apache/kudu/spark/kudu/KuduRDD.scala    |   5 +-
 .../kudu/spark/kudu/DefaultSourceTest.scala     |   9 +-
 .../kudu/spark/kudu/KuduContextTest.scala       |   3 +-
 .../apache/kudu/spark/kudu/KuduRDDTest.scala    |   2 +-
 java/pom.xml                                    |  16 +-
 152 files changed, 287 insertions(+), 1053 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/interface-annotations/pom.xml
----------------------------------------------------------------------
diff --git a/java/interface-annotations/pom.xml b/java/interface-annotations/pom.xml
deleted file mode 100644
index 63b6f0a..0000000
--- a/java/interface-annotations/pom.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed 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. See accompanying LICENSE file.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.kudu</groupId>
-    <artifactId>kudu-parent</artifactId>
-    <version>1.5.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>interface-annotations</artifactId>
-  <name>Kudu Annotations</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>jdiff</groupId>
-      <artifactId>jdiff</artifactId>
-      <version>1.0.9</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>jdk1.7</id>
-      <activation>
-        <jdk>1.7</jdk>
-      </activation>
-      <dependencies>
-        <dependency>
-          <groupId>jdk.tools</groupId>
-          <artifactId>jdk.tools</artifactId>
-          <version>1.7</version>
-          <scope>system</scope>
-          <systemPath>${java.home}/../lib/tools.jar</systemPath>
-        </dependency>
-      </dependencies>
-    </profile>
-    <profile>
-      <id>jdk1.8</id>
-      <activation>
-        <jdk>1.8</jdk>
-      </activation>
-      <dependencies>
-        <dependency>
-          <groupId>jdk.tools</groupId>
-          <artifactId>jdk.tools</artifactId>
-          <version>1.8</version>
-          <scope>system</scope>
-          <systemPath>${java.home}/../lib/tools.jar</systemPath>
-        </dependency>
-      </dependencies>
-    </profile>
-  </profiles>
-
-</project>

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/interface-annotations/src/main/java/org/apache/kudu/annotations/InterfaceAudience.java
----------------------------------------------------------------------
diff --git a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/InterfaceAudience.java b/java/interface-annotations/src/main/java/org/apache/kudu/annotations/InterfaceAudience.java
deleted file mode 100644
index 6afbd2a..0000000
--- a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/InterfaceAudience.java
+++ /dev/null
@@ -1,75 +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.kudu.annotations;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Annotation to inform users of a package, class or method's intended audience.
- * Currently the audience can be {@link Public}, {@link LimitedPrivate} or
- * {@link Private}. <br>
- * All public classes must have InterfaceAudience annotation. <br>
- * <ul>
- * <li>Public classes that are not marked with this annotation must be
- * considered by default as {@link Private}.</li>
- *
- * <li>External applications must only use classes that are marked
- * {@link Public}. Avoid using non public classes as these classes
- * could be removed or change in incompatible ways.</li>
- *
- * <li>Hadoop projects must only use classes that are marked
- * {@link LimitedPrivate} or {@link Public}</li>
- *
- * <li> Methods may have a different annotation that it is more restrictive
- * compared to the audience classification of the class. Example: A class
- * might be {@link Public}, but a method may be {@link LimitedPrivate}
- * </li></ul>
- */
-@InterfaceAudience.Public
-@InterfaceStability.Evolving
-public class InterfaceAudience {
-  /**
-   * Intended for use by any project or application.
-   */
-  @Documented
-  @Retention(RetentionPolicy.RUNTIME)
-  public @interface Public {};
-
-  /**
-   * Intended only for the project(s) specified in the annotation.
-   * For example, "Common", "HDFS", "MapReduce", "ZooKeeper", "HBase".
-   */
-  @Documented
-  @Retention(RetentionPolicy.RUNTIME)
-  public @interface LimitedPrivate {
-    String[] value();
-  };
-
-  /**
-   * Intended for use only within Kudu itself.
-   */
-  @Documented
-  @Retention(RetentionPolicy.RUNTIME)
-  public @interface Private {};
-
-  private InterfaceAudience() {} // Audience can't exist on its own
-}

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/interface-annotations/src/main/java/org/apache/kudu/annotations/InterfaceStability.java
----------------------------------------------------------------------
diff --git a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/InterfaceStability.java b/java/interface-annotations/src/main/java/org/apache/kudu/annotations/InterfaceStability.java
deleted file mode 100644
index cba19d9..0000000
--- a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/InterfaceStability.java
+++ /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.
- */
-
-package org.apache.kudu.annotations;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import org.apache.kudu.annotations.InterfaceAudience.LimitedPrivate;
-import org.apache.kudu.annotations.InterfaceAudience.Private;
-import org.apache.kudu.annotations.InterfaceAudience.Public;
-
-/**
- * Annotation to inform users of how much to rely on a particular package,
- * class or method not changing over time. Currently the stability can be
- * {@link Stable}, {@link Evolving} or {@link Unstable}. <br>
- *
- * <ul><li>All classes that are annotated with {@link Public} or
- * {@link LimitedPrivate} must have InterfaceStability annotation. </li>
- * <li>Classes that are {@link Private} are to be considered unstable unless
- * a different InterfaceStability annotation states otherwise.</li>
- * <li>Incompatible changes must not be made to classes marked as stable.</li>
- * </ul>
- */
-@Public
-@InterfaceStability.Evolving
-public class InterfaceStability {
-  /**
-   * Can evolve while retaining compatibility for minor release boundaries.;
-   * can break compatibility only at major release (ie. at m.0).
-   */
-  @Documented
-  @Retention(RetentionPolicy.RUNTIME)
-  public @interface Stable {};
-
-  /**
-   * Evolving, but can break compatibility at minor release (i.e. m.x)
-   */
-  @Documented
-  @Retention(RetentionPolicy.RUNTIME)
-  public @interface Evolving {};
-
-  /**
-   * No guarantee is provided as to reliability or stability across any
-   * level of release granularity.
-   */
-  @Documented
-  @Retention(RetentionPolicy.RUNTIME)
-  public @interface Unstable {};
-}

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/ExcludePrivateAnnotationsJDiffDoclet.java
----------------------------------------------------------------------
diff --git a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/ExcludePrivateAnnotationsJDiffDoclet.java b/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/ExcludePrivateAnnotationsJDiffDoclet.java
deleted file mode 100644
index 0d5c6e2..0000000
--- a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/ExcludePrivateAnnotationsJDiffDoclet.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.kudu.annotations.tools;
-
-import com.sun.javadoc.DocErrorReporter;
-import com.sun.javadoc.LanguageVersion;
-import com.sun.javadoc.RootDoc;
-import jdiff.JDiff;
-
-import org.apache.kudu.annotations.InterfaceAudience;
-
-/**
- * A <a href="http://java.sun.com/javase/6/docs/jdk/api/javadoc/doclet/">Doclet</a>
- * for excluding elements that are annotated with
- * {@link InterfaceAudience.Private} or
- * {@link InterfaceAudience.LimitedPrivate}.
- * It delegates to the JDiff Doclet, and takes the same options.
- */
-public class ExcludePrivateAnnotationsJDiffDoclet {
-
-  public static LanguageVersion languageVersion() {
-    return LanguageVersion.JAVA_1_5;
-  }
-
-  public static boolean start(RootDoc root) {
-    System.out.println(
-        ExcludePrivateAnnotationsJDiffDoclet.class.getSimpleName());
-    return JDiff.start(RootDocProcessor.process(root));
-  }
-
-  public static int optionLength(String option) {
-    Integer length = StabilityOptions.optionLength(option);
-    if (length != null) {
-      return length;
-    }
-    return JDiff.optionLength(option);
-  }
-
-  public static boolean validOptions(String[][] options,
-      DocErrorReporter reporter) {
-    StabilityOptions.validOptions(options, reporter);
-    String[][] filteredOptions = StabilityOptions.filterOptions(options);
-    return JDiff.validOptions(filteredOptions, reporter);
-  }
-}

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/ExcludePrivateAnnotationsStandardDoclet.java
----------------------------------------------------------------------
diff --git a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/ExcludePrivateAnnotationsStandardDoclet.java b/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/ExcludePrivateAnnotationsStandardDoclet.java
deleted file mode 100644
index ecfd7e9..0000000
--- a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/ExcludePrivateAnnotationsStandardDoclet.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.kudu.annotations.tools;
-
-import com.sun.javadoc.DocErrorReporter;
-import com.sun.javadoc.LanguageVersion;
-import com.sun.javadoc.RootDoc;
-import com.sun.tools.doclets.standard.Standard;
-
-import org.apache.kudu.annotations.InterfaceAudience;
-
-/**
- * A <a href="http://java.sun.com/javase/6/docs/jdk/api/javadoc/doclet/">Doclet</a>
- * for excluding elements that are annotated with
- * {@link InterfaceAudience.Private} or
- * {@link InterfaceAudience.LimitedPrivate}.
- * It delegates to the Standard Doclet, and takes the same options.
- */
-public class ExcludePrivateAnnotationsStandardDoclet {
-
-  public static LanguageVersion languageVersion() {
-    return LanguageVersion.JAVA_1_5;
-  }
-
-  public static boolean start(RootDoc root) {
-    System.out.println(
-        ExcludePrivateAnnotationsStandardDoclet.class.getSimpleName());
-    return Standard.start(RootDocProcessor.process(root));
-  }
-
-  public static int optionLength(String option) {
-    Integer length = StabilityOptions.optionLength(option);
-    if (length != null) {
-      return length;
-    }
-    return Standard.optionLength(option);
-  }
-
-  public static boolean validOptions(String[][] options,
-      DocErrorReporter reporter) {
-    StabilityOptions.validOptions(options, reporter);
-    String[][] filteredOptions = StabilityOptions.filterOptions(options);
-    return Standard.validOptions(filteredOptions, reporter);
-  }
-}

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/IncludePublicAnnotationsStandardDoclet.java
----------------------------------------------------------------------
diff --git a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/IncludePublicAnnotationsStandardDoclet.java b/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/IncludePublicAnnotationsStandardDoclet.java
deleted file mode 100644
index 7c004fb..0000000
--- a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/IncludePublicAnnotationsStandardDoclet.java
+++ /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.
- */
-
-package org.apache.kudu.annotations.tools;
-
-import com.sun.javadoc.DocErrorReporter;
-import com.sun.javadoc.LanguageVersion;
-import com.sun.javadoc.RootDoc;
-import com.sun.tools.doclets.standard.Standard;
-
-import org.apache.kudu.annotations.InterfaceAudience;
-
-/**
- * A <a href="http://java.sun.com/javase/6/docs/jdk/api/javadoc/doclet/">Doclet</a>
- * that only includes class-level elements that are annotated with
- * {@link InterfaceAudience.Public}.
- * Class-level elements with no annotation are excluded.
- * In addition, all elements that are annotated with
- * {@link InterfaceAudience.Private} or
- * {@link InterfaceAudience.LimitedPrivate}
- * are also excluded.
- * It delegates to the Standard Doclet, and takes the same options.
- */
-public class IncludePublicAnnotationsStandardDoclet {
-
-  public static LanguageVersion languageVersion() {
-    return LanguageVersion.JAVA_1_5;
-  }
-
-  public static boolean start(RootDoc root) {
-    System.out.println(
-        IncludePublicAnnotationsStandardDoclet.class.getSimpleName());
-    RootDocProcessor.treatUnannotatedClassesAsPrivate = true;
-    return Standard.start(RootDocProcessor.process(root));
-  }
-
-  public static int optionLength(String option) {
-    Integer length = StabilityOptions.optionLength(option);
-    if (length != null) {
-      return length;
-    }
-    return Standard.optionLength(option);
-  }
-
-  public static boolean validOptions(String[][] options,
-      DocErrorReporter reporter) {
-    StabilityOptions.validOptions(options, reporter);
-    String[][] filteredOptions = StabilityOptions.filterOptions(options);
-    return Standard.validOptions(filteredOptions, reporter);
-  }
-}

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/RootDocProcessor.java
----------------------------------------------------------------------
diff --git a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/RootDocProcessor.java b/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/RootDocProcessor.java
deleted file mode 100644
index 2a2c12a..0000000
--- a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/RootDocProcessor.java
+++ /dev/null
@@ -1,248 +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.kudu.annotations.tools;
-
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.WeakHashMap;
-
-import com.sun.javadoc.AnnotationDesc;
-import com.sun.javadoc.AnnotationTypeDoc;
-import com.sun.javadoc.ClassDoc;
-import com.sun.javadoc.ConstructorDoc;
-import com.sun.javadoc.Doc;
-import com.sun.javadoc.FieldDoc;
-import com.sun.javadoc.MethodDoc;
-import com.sun.javadoc.PackageDoc;
-import com.sun.javadoc.ProgramElementDoc;
-import com.sun.javadoc.RootDoc;
-
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
-
-/**
- * Process the {@link RootDoc} by substituting with (nested) proxy objects that
- * exclude elements with Private or LimitedPrivate annotations.
- * <p>
- * Based on code from http://www.sixlegs.com/blog/java/exclude-javadoc-tag.html.
- */
-class RootDocProcessor {
-
-  static String stability = StabilityOptions.UNSTABLE_OPTION;
-  static boolean treatUnannotatedClassesAsPrivate = false;
-
-  public static RootDoc process(RootDoc root) {
-    return (RootDoc) process(root, RootDoc.class);
-  }
-
-  private static Object process(Object obj, Class<?> type) {
-    if (obj == null) {
-      return null;
-    }
-    Class<?> cls = obj.getClass();
-    if (cls.getName().startsWith("com.sun.")) {
-      return getProxy(obj);
-    } else if (obj instanceof Object[]) {
-      Class<?> componentType = type.isArray() ? type.getComponentType()
-          : cls.getComponentType();
-      Object[] array = (Object[]) obj;
-      Object[] newArray = (Object[]) Array.newInstance(componentType,
-          array.length);
-      for (int i = 0; i < array.length; ++i) {
-        newArray[i] = process(array[i], componentType);
-      }
-      return newArray;
-    }
-    return obj;
-  }
-
-  private static Map<Object, Object> proxies = new WeakHashMap<Object, Object>();
-
-  private static Object getProxy(Object obj) {
-    Object proxy = proxies.get(obj);
-    if (proxy == null) {
-      proxy = Proxy.newProxyInstance(obj.getClass().getClassLoader(),
-        obj.getClass().getInterfaces(), new ExcludeHandler(obj));
-      proxies.put(obj, proxy);
-    }
-    return proxy;
-  }
-
-  private static class ExcludeHandler implements InvocationHandler {
-    private Object target;
-
-    public ExcludeHandler(Object target) {
-      this.target = target;
-    }
-
-    @Override
-    public Object invoke(Object proxy, Method method, Object[] args)
-        throws Throwable {
-      String methodName = method.getName();
-      if (target instanceof Doc) {
-        if (methodName.equals("isIncluded")) {
-          Doc doc = (Doc) target;
-          return !exclude(doc) && doc.isIncluded();
-        }
-        if (target instanceof RootDoc) {
-          if (methodName.equals("classes")) {
-            return filter(((RootDoc) target).classes(), ClassDoc.class);
-          } else if (methodName.equals("specifiedClasses")) {
-            return filter(((RootDoc) target).specifiedClasses(), ClassDoc.class);
-          } else if (methodName.equals("specifiedPackages")) {
-            return filter(((RootDoc) target).specifiedPackages(), PackageDoc.class);
-          }
-        } else if (target instanceof ClassDoc) {
-          if (isFiltered(args)) {
-            if (methodName.equals("methods")) {
-              return filter(((ClassDoc) target).methods(true), MethodDoc.class);
-            } else if (methodName.equals("fields")) {
-              return filter(((ClassDoc) target).fields(true), FieldDoc.class);
-            } else if (methodName.equals("innerClasses")) {
-              return filter(((ClassDoc) target).innerClasses(true),
-                  ClassDoc.class);
-            } else if (methodName.equals("constructors")) {
-              return filter(((ClassDoc) target).constructors(true),
-                  ConstructorDoc.class);
-            }
-          }
-        } else if (target instanceof PackageDoc) {
-          if (methodName.equals("allClasses")) {
-            if (isFiltered(args)) {
-              return filter(((PackageDoc) target).allClasses(true),
-                  ClassDoc.class);
-            } else {
-              return filter(((PackageDoc) target).allClasses(), ClassDoc.class);
-            }
-          } else if (methodName.equals("annotationTypes")) {
-            return filter(((PackageDoc) target).annotationTypes(),
-                AnnotationTypeDoc.class);
-          } else if (methodName.equals("enums")) {
-            return filter(((PackageDoc) target).enums(),
-                ClassDoc.class);
-          } else if (methodName.equals("errors")) {
-            return filter(((PackageDoc) target).errors(),
-                ClassDoc.class);
-          } else if (methodName.equals("exceptions")) {
-            return filter(((PackageDoc) target).exceptions(),
-                ClassDoc.class);
-          } else if (methodName.equals("interfaces")) {
-            return filter(((PackageDoc) target).interfaces(),
-                ClassDoc.class);
-          } else if (methodName.equals("ordinaryClasses")) {
-            return filter(((PackageDoc) target).ordinaryClasses(),
-                ClassDoc.class);
-          }
-        }
-      }
-
-      if (args != null) {
-        if (methodName.equals("compareTo") || methodName.equals("equals") ||
-            methodName.equals("overrides") || methodName.equals("subclassOf")) {
-          args[0] = unwrap(args[0]);
-        }
-      }
-      try {
-        return process(method.invoke(target, args), method.getReturnType());
-      } catch (InvocationTargetException e) {
-        throw e.getTargetException();
-      }
-    }
-
-    private static boolean exclude(Doc doc) {
-      AnnotationDesc[] annotations = null;
-      if (doc instanceof ProgramElementDoc) {
-        annotations = ((ProgramElementDoc) doc).annotations();
-      } else if (doc instanceof PackageDoc) {
-        annotations = ((PackageDoc) doc).annotations();
-      }
-      if (annotations != null) {
-        for (AnnotationDesc annotation : annotations) {
-          String qualifiedTypeName = annotation.annotationType().qualifiedTypeName();
-          if (qualifiedTypeName.equals(
-              InterfaceAudience.Private.class.getCanonicalName()) ||
-              qualifiedTypeName.equals(
-                  InterfaceAudience.LimitedPrivate.class.getCanonicalName())) {
-            return true;
-          }
-          if (stability.equals(StabilityOptions.EVOLVING_OPTION)) {
-            if (qualifiedTypeName.equals(
-                InterfaceStability.Unstable.class.getCanonicalName())) {
-              return true;
-            }
-          }
-          if (stability.equals(StabilityOptions.STABLE_OPTION)) {
-            if (qualifiedTypeName.equals(
-                InterfaceStability.Unstable.class.getCanonicalName()) ||
-                qualifiedTypeName.equals(
-                InterfaceStability.Evolving.class.getCanonicalName())) {
-              return true;
-            }
-          }
-        }
-        for (AnnotationDesc annotation : annotations) {
-          String qualifiedTypeName =
-              annotation.annotationType().qualifiedTypeName();
-          if (qualifiedTypeName.equals(
-              InterfaceAudience.Public.class.getCanonicalName())) {
-            return false;
-          }
-        }
-      }
-      if (treatUnannotatedClassesAsPrivate) {
-        return doc.isClass() || doc.isInterface() || doc.isAnnotationType();
-      }
-      return false;
-    }
-
-    private static Object[] filter(Doc[] array, Class<?> componentType) {
-      if (array == null || array.length == 0) {
-        return array;
-      }
-      List<Object> list = new ArrayList<Object>(array.length);
-      for (Doc entry : array) {
-        if (!exclude(entry)) {
-          list.add(process(entry, componentType));
-        }
-      }
-      return list.toArray((Object[]) Array.newInstance(componentType, list
-          .size()));
-    }
-
-    private Object unwrap(Object proxy) {
-      if (proxy instanceof Proxy) {
-        return ((ExcludeHandler) Proxy.getInvocationHandler(proxy)).target;
-      }
-      return proxy;
-    }
-
-    private boolean isFiltered(Object[] args) {
-      return args != null && Boolean.TRUE.equals(args[0]);
-    }
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/StabilityOptions.java
----------------------------------------------------------------------
diff --git a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/StabilityOptions.java b/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/StabilityOptions.java
deleted file mode 100644
index c74f033..0000000
--- a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/StabilityOptions.java
+++ /dev/null
@@ -1,74 +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.kudu.annotations.tools;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-
-import com.sun.javadoc.DocErrorReporter;
-
-class StabilityOptions {
-  public static final String STABLE_OPTION = "-stable";
-  public static final String EVOLVING_OPTION = "-evolving";
-  public static final String UNSTABLE_OPTION = "-unstable";
-
-  public static Integer optionLength(String option) {
-    String opt = option.toLowerCase(Locale.ENGLISH);
-    if (opt.equals(UNSTABLE_OPTION) ||
-        opt.equals(EVOLVING_OPTION) ||
-        opt.equals(STABLE_OPTION)) {
-      return 1;
-    }
-    return null;
-  }
-
-  public static void validOptions(String[][] options,
-      DocErrorReporter reporter) {
-    for (int i = 0; i < options.length; i++) {
-      String opt = options[i][0].toLowerCase(Locale.ENGLISH);
-      if (opt.equals(UNSTABLE_OPTION)) {
-        RootDocProcessor.stability = UNSTABLE_OPTION;
-      } else if (opt.equals(EVOLVING_OPTION)) {
-        RootDocProcessor.stability = EVOLVING_OPTION;
-      } else if (opt.equals(STABLE_OPTION)) {
-        RootDocProcessor.stability = STABLE_OPTION;
-      }
-    }
-  }
-
-  public static String[][] filterOptions(String[][] options) {
-    List<String[]> optionsList = new ArrayList<String[]>();
-    for (int i = 0; i < options.length; i++) {
-      if (!options[i][0].equalsIgnoreCase(UNSTABLE_OPTION) &&
-          !options[i][0].equalsIgnoreCase(EVOLVING_OPTION) &&
-          !options[i][0].equalsIgnoreCase(STABLE_OPTION)) {
-        optionsList.add(options[i]);
-      }
-    }
-    String[][] filteredOptions = new String[optionsList.size()][];
-    int i = 0;
-    for (String[] option : optionsList) {
-      filteredOptions[i++] = option;
-    }
-    return filteredOptions;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/package-info.java
----------------------------------------------------------------------
diff --git a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/package-info.java b/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/package-info.java
deleted file mode 100644
index 7675154..0000000
--- a/java/interface-annotations/src/main/java/org/apache/kudu/annotations/tools/package-info.java
+++ /dev/null
@@ -1,23 +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.
- */
-@InterfaceAudience.Private
-
-package org.apache.kudu.annotations.tools;
-
-import org.apache.kudu.annotations.InterfaceAudience;

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/BigLinkedListCommon.java
----------------------------------------------------------------------
diff --git a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/BigLinkedListCommon.java b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/BigLinkedListCommon.java
index 9e13984..c7bb5d6 100644
--- a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/BigLinkedListCommon.java
+++ b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/BigLinkedListCommon.java
@@ -20,12 +20,12 @@ import java.util.Collections;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 import org.apache.kudu.ColumnSchema;
 import org.apache.kudu.Schema;
 import org.apache.kudu.Type;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.client.CreateTableOptions;
 import org.apache.kudu.client.PartialRow;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/CsvParser.java
----------------------------------------------------------------------
diff --git a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/CsvParser.java b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/CsvParser.java
index 94f7707..1ed7dd3 100644
--- a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/CsvParser.java
+++ b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/CsvParser.java
@@ -21,9 +21,9 @@ import java.util.List;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Splitter;
 import com.google.common.collect.Lists;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.client.Bytes;
 
 /**

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsv.java
----------------------------------------------------------------------
diff --git a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsv.java b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsv.java
index 55d1254..f3e4d7b 100644
--- a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsv.java
+++ b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsv.java
@@ -25,9 +25,9 @@ import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
 import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.mapreduce.CommandLineParser;
 import org.apache.kudu.mapreduce.KuduTableMapReduceUtil;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsvMapper.java
----------------------------------------------------------------------
diff --git a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsvMapper.java b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsvMapper.java
index 365fddb..0c2e806 100644
--- a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsvMapper.java
+++ b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsvMapper.java
@@ -23,11 +23,11 @@ import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.mapreduce.Counter;
 import org.apache.hadoop.mapreduce.Mapper;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 import org.apache.kudu.ColumnSchema;
 import org.apache.kudu.Schema;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.client.Bytes;
 import org.apache.kudu.client.Insert;
 import org.apache.kudu.client.KuduTable;

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/IntegrationTestBigLinkedList.java
----------------------------------------------------------------------
diff --git a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/IntegrationTestBigLinkedList.java b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/IntegrationTestBigLinkedList.java
index b16a2d1..a15471e 100644
--- a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/IntegrationTestBigLinkedList.java
+++ b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/IntegrationTestBigLinkedList.java
@@ -75,12 +75,12 @@ import org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat;
 import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.kudu.Schema;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.client.AbstractKuduScannerBuilder;
 import org.apache.kudu.client.Bytes;
 import org.apache.kudu.client.CreateTableOptions;

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/RowCounter.java
----------------------------------------------------------------------
diff --git a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/RowCounter.java b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/RowCounter.java
index e256acb..84bcb9a 100644
--- a/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/RowCounter.java
+++ b/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/RowCounter.java
@@ -27,9 +27,9 @@ import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mapreduce.lib.output.NullOutputFormat;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.client.RowResult;
 import org.apache.kudu.mapreduce.CommandLineParser;
 import org.apache.kudu.mapreduce.KuduTableMapReduceUtil;

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/pom.xml
----------------------------------------------------------------------
diff --git a/java/kudu-client/pom.xml b/java/kudu-client/pom.xml
index 57102b1..4949e21 100644
--- a/java/kudu-client/pom.xml
+++ b/java/kudu-client/pom.xml
@@ -31,9 +31,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.kudu</groupId>
-            <artifactId>interface-annotations</artifactId>
-            <version>${project.version}</version>
+            <groupId>org.apache.yetus</groupId>
+            <artifactId>audience-annotations</artifactId>
+            <version>${yetus.version}</version>
         </dependency>
         <dependency>
             <groupId>com.google.protobuf</groupId>

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/ColumnSchema.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/ColumnSchema.java b/java/kudu-client/src/main/java/org/apache/kudu/ColumnSchema.java
index 0861d22..5645e5e 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/ColumnSchema.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/ColumnSchema.java
@@ -17,10 +17,11 @@
 
 package org.apache.kudu;
 
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
+
 import org.apache.kudu.Common.EncodingType;
 import org.apache.kudu.Compression.CompressionType;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 
 /**
  * Represents a Kudu Table column. Use {@link ColumnSchema.ColumnSchemaBuilder} in order to

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/Schema.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/Schema.java b/java/kudu-client/src/main/java/org/apache/kudu/Schema.java
index dd7695f..f38bcfb 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/Schema.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/Schema.java
@@ -23,9 +23,9 @@ import java.util.List;
 import java.util.Map;
 
 import com.google.common.collect.ImmutableList;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.client.Bytes;
 import org.apache.kudu.client.PartialRow;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/Type.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/Type.java b/java/kudu-client/src/main/java/org/apache/kudu/Type.java
index 133baaf..123c577 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/Type.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/Type.java
@@ -22,9 +22,8 @@ import static org.apache.kudu.Common.DataType;
 import com.google.common.primitives.Ints;
 import com.google.common.primitives.Longs;
 import com.google.common.primitives.Shorts;
-
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 /**
  * Describes all the types available to build table schemas.

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java
index f364565..fe1ed57 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java
@@ -22,10 +22,9 @@ import java.util.List;
 import java.util.Map;
 
 import com.google.common.collect.ImmutableList;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
-import org.apache.kudu.Common;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.tserver.Tserver;
 import org.apache.kudu.util.HybridTimeUtil;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
index a096ea53..9f1af06 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
@@ -23,12 +23,12 @@ import static org.apache.kudu.master.Master.AlterTableRequestPB;
 
 import com.google.common.base.Preconditions;
 import com.google.protobuf.ByteString;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 import org.apache.kudu.ColumnSchema;
 import org.apache.kudu.Common;
 import org.apache.kudu.Type;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 
 /**
  * This builder must be used to alter a table. At least one change must be specified.

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableRequest.java
index 15c8943..b6d8cf7 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableRequest.java
@@ -27,8 +27,8 @@ import java.util.List;
 
 import com.google.common.collect.ImmutableList;
 import com.google.protobuf.Message;
+import org.apache.yetus.audience.InterfaceAudience;
 
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.util.Pair;
 
 /**

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableResponse.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableResponse.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableResponse.java
index 4d3b131..27b3213 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableResponse.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableResponse.java
@@ -17,8 +17,8 @@
 
 package org.apache.kudu.client;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 @InterfaceAudience.Public
 @InterfaceStability.Evolving

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
index a178292..3a83c59 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
@@ -43,7 +43,6 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Semaphore;
-
 import javax.annotation.concurrent.GuardedBy;
 import javax.security.auth.Subject;
 
@@ -57,7 +56,8 @@ import com.google.protobuf.ByteString;
 import com.google.protobuf.Message;
 import com.stumbleupon.async.Callback;
 import com.stumbleupon.async.Deferred;
-
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 import org.jboss.netty.channel.socket.ClientSocketChannelFactory;
 import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory;
 import org.jboss.netty.channel.socket.nio.NioWorkerPool;
@@ -68,8 +68,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.kudu.Schema;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.master.Master;
 import org.apache.kudu.master.Master.GetTableLocationsResponsePB;
 import org.apache.kudu.util.AsyncUtil;

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
index 0e7fb7a..8d42de7 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
@@ -42,14 +42,14 @@ import com.google.protobuf.Message;
 import com.google.protobuf.UnsafeByteOperations;
 import com.stumbleupon.async.Callback;
 import com.stumbleupon.async.Deferred;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.kudu.ColumnSchema;
 import org.apache.kudu.Common;
 import org.apache.kudu.Schema;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.tserver.Tserver;
 import org.apache.kudu.util.Pair;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
index f8a2115..551faf6 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
@@ -38,13 +38,13 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Range;
 import com.stumbleupon.async.Callback;
 import com.stumbleupon.async.Deferred;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 import org.jboss.netty.util.Timeout;
 import org.jboss.netty.util.TimerTask;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.util.AsyncUtil;
 import org.apache.kudu.util.Slice;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java b/java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java
index 94645ee..ff49137 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java
@@ -25,9 +25,9 @@ import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.MoreObjects;
 import com.google.protobuf.Message;
 import com.google.protobuf.UnsafeByteOperations;
+import org.apache.yetus.audience.InterfaceAudience;
 
 import org.apache.kudu.WireProtocol;
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.client.Statistics.Statistic;
 import org.apache.kudu.client.Statistics.TabletStatistics;
 import org.apache.kudu.tserver.Tserver;

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/BatchResponse.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/BatchResponse.java b/java/kudu-client/src/main/java/org/apache/kudu/client/BatchResponse.java
index 55cb29f..d32793f 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/BatchResponse.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/BatchResponse.java
@@ -22,8 +22,8 @@ import java.util.Collections;
 import java.util.List;
 
 import com.google.common.collect.ImmutableList;
+import org.apache.yetus.audience.InterfaceAudience;
 
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.tserver.Tserver;
 
 /**

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/Bytes.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/Bytes.java b/java/kudu-client/src/main/java/org/apache/kudu/client/Bytes.java
index 5df55cc..d5a5889 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/Bytes.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/Bytes.java
@@ -39,10 +39,10 @@ import java.util.BitSet;
 import java.util.Comparator;
 
 import com.google.common.io.BaseEncoding;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.jboss.netty.buffer.ChannelBuffer;
 import org.jboss.netty.util.CharsetUtil;
 
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.util.Slice;
 
 /**

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/CallResponse.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/CallResponse.java b/java/kudu-client/src/main/java/org/apache/kudu/client/CallResponse.java
index cad01a4..a042622 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/CallResponse.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/CallResponse.java
@@ -19,12 +19,12 @@ package org.apache.kudu.client;
 
 import java.util.List;
 
+import org.apache.yetus.audience.InterfaceAudience;
 import org.jboss.netty.buffer.ChannelBuffer;
 import org.jboss.netty.channel.Channel;
 import org.jboss.netty.channel.ChannelHandlerContext;
 import org.jboss.netty.handler.codec.oneone.OneToOneDecoder;
 
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.rpc.RpcHeader;
 import org.apache.kudu.util.Slice;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/ColumnRangePredicate.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ColumnRangePredicate.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ColumnRangePredicate.java
index e6c7223..b2fa774 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ColumnRangePredicate.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ColumnRangePredicate.java
@@ -23,10 +23,10 @@ import java.util.List;
 
 import com.google.protobuf.InvalidProtocolBufferException;
 import com.google.protobuf.UnsafeByteOperations;
+import org.apache.yetus.audience.InterfaceAudience;
 
 import org.apache.kudu.ColumnSchema;
 import org.apache.kudu.Type;
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.tserver.Tserver;
 
 /**

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToCluster.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToCluster.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToCluster.java
index ca4b270..22b31f0 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToCluster.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToCluster.java
@@ -30,10 +30,10 @@ import com.google.common.collect.Lists;
 import com.google.common.net.HostAndPort;
 import com.stumbleupon.async.Callback;
 import com.stumbleupon.async.Deferred;
+import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.consensus.Metadata.RaftPeerPB.Role;
 import org.apache.kudu.master.Master.ConnectToMasterResponsePB;
 import org.apache.kudu.rpc.RpcHeader.ErrorStatusPB.RpcErrorCodePB;

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToMasterRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToMasterRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToMasterRequest.java
index 0a74ce9..d555ba3 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToMasterRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectToMasterRequest.java
@@ -24,8 +24,8 @@ import java.util.Collection;
 import java.util.Collections;
 
 import com.google.protobuf.Message;
+import org.apache.yetus.audience.InterfaceAudience;
 
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.master.Master.ConnectToMasterResponsePB;
 import org.apache.kudu.master.Master.MasterFeatures;
 import org.apache.kudu.util.Pair;

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectionCache.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectionCache.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectionCache.java
index 3a6d7b4..df7a2d3 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectionCache.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ConnectionCache.java
@@ -27,14 +27,14 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
-
 import javax.annotation.concurrent.GuardedBy;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableList;
 import com.google.common.net.HostAndPort;
 import com.stumbleupon.async.Deferred;
-
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 import org.jboss.netty.channel.DefaultChannelPipeline;
 import org.jboss.netty.channel.socket.SocketChannel;
 import org.jboss.netty.channel.socket.SocketChannelConfig;
@@ -44,8 +44,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.kudu.Common;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.master.Master;
 import org.apache.kudu.util.NetUtil;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java b/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
index cfa4dca..7983a57 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
@@ -21,10 +21,10 @@ import java.util.List;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 import org.apache.kudu.Common;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 import org.apache.kudu.master.Master;
 
 /**

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java
index b647904..5a63ab1 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java
@@ -21,9 +21,9 @@ import java.util.Collection;
 import java.util.List;
 
 import com.google.protobuf.Message;
+import org.apache.yetus.audience.InterfaceAudience;
 
 import org.apache.kudu.Schema;
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.master.Master;
 import org.apache.kudu.util.Pair;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableResponse.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableResponse.java b/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableResponse.java
index b579721..6c5ad48 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableResponse.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableResponse.java
@@ -17,7 +17,7 @@
 
 package org.apache.kudu.client;
 
-import org.apache.kudu.annotations.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceAudience;
 
 @InterfaceAudience.Private
 public class CreateTableResponse extends KuduRpcResponse {

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/Delete.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/Delete.java b/java/kudu-client/src/main/java/org/apache/kudu/client/Delete.java
index 4fe5bf9..654f7b0 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/Delete.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/Delete.java
@@ -17,8 +17,8 @@
 
 package org.apache.kudu.client;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 /**
  * Class of Operation for whole row removals.

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableRequest.java
index 542d803..b7e9441 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableRequest.java
@@ -18,8 +18,8 @@
 package org.apache.kudu.client;
 
 import com.google.protobuf.Message;
+import org.apache.yetus.audience.InterfaceAudience;
 
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.master.Master;
 import org.apache.kudu.util.Pair;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableResponse.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableResponse.java b/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableResponse.java
index 957b3ea..a99d68a 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableResponse.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableResponse.java
@@ -17,8 +17,8 @@
 
 package org.apache.kudu.client;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 @InterfaceAudience.Public
 @InterfaceStability.Evolving

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/ErrorCollector.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ErrorCollector.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ErrorCollector.java
index a81bc0b..9ddaf56 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ErrorCollector.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ErrorCollector.java
@@ -21,9 +21,8 @@ import java.util.ArrayDeque;
 import java.util.Queue;
 
 import com.google.common.base.Preconditions;
-
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 /**
  * Class that helps tracking row errors. All methods are thread-safe.

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/ExternalConsistencyMode.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ExternalConsistencyMode.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ExternalConsistencyMode.java
index a37595b..fc2e669 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ExternalConsistencyMode.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ExternalConsistencyMode.java
@@ -17,9 +17,10 @@
 
 package org.apache.kudu.client;
 
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
+
 import org.apache.kudu.Common;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 
 /**
  * The possible external consistency modes on which Kudu operates.

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableLocationsRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableLocationsRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableLocationsRequest.java
index aed4008..796c3db 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableLocationsRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableLocationsRequest.java
@@ -20,8 +20,8 @@ package org.apache.kudu.client;
 import com.google.protobuf.ByteString;
 import com.google.protobuf.Message;
 import com.google.protobuf.UnsafeByteOperations;
+import org.apache.yetus.audience.InterfaceAudience;
 
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.master.Master;
 import org.apache.kudu.util.Pair;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
index 62ff262..27578d7 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
@@ -22,9 +22,9 @@ import static org.apache.kudu.master.Master.GetTableSchemaResponsePB;
 import static org.apache.kudu.master.Master.TableIdentifierPB;
 
 import com.google.protobuf.Message;
+import org.apache.yetus.audience.InterfaceAudience;
 
 import org.apache.kudu.Schema;
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.util.Pair;
 
 /**

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaResponse.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaResponse.java b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaResponse.java
index dc76a4f..309e0f6 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaResponse.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaResponse.java
@@ -17,8 +17,9 @@
 
 package org.apache.kudu.client;
 
+import org.apache.yetus.audience.InterfaceAudience;
+
 import org.apache.kudu.Schema;
-import org.apache.kudu.annotations.InterfaceAudience;
 
 @InterfaceAudience.Private
 public class GetTableSchemaResponse extends KuduRpcResponse {

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/HasFailedRpcException.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/HasFailedRpcException.java b/java/kudu-client/src/main/java/org/apache/kudu/client/HasFailedRpcException.java
index c11c8c7..e05e2f2 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/HasFailedRpcException.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/HasFailedRpcException.java
@@ -26,8 +26,8 @@
 
 package org.apache.kudu.client;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 /**
  * Interface implemented by {@link KuduException}s that can tell you which

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/IPCUtil.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/IPCUtil.java b/java/kudu-client/src/main/java/org/apache/kudu/client/IPCUtil.java
index 1770f2b..f14a1d0 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/IPCUtil.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/IPCUtil.java
@@ -24,8 +24,7 @@ import java.io.OutputStream;
 
 import com.google.protobuf.CodedOutputStream;
 import com.google.protobuf.Message;
-
-import org.apache.kudu.annotations.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceAudience;
 
 /**
  * Helper methods for RPCs.

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/Insert.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/Insert.java b/java/kudu-client/src/main/java/org/apache/kudu/client/Insert.java
index 0512dab..33491d0 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/Insert.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/Insert.java
@@ -17,8 +17,8 @@
 
 package org.apache.kudu.client;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 /**
  * Represents a single row insert. Instances of this class should not be reused.

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneRequest.java
index 810e589..e6b553f 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneRequest.java
@@ -22,8 +22,8 @@ import static org.apache.kudu.master.Master.IsAlterTableDoneResponsePB;
 import static org.apache.kudu.master.Master.TableIdentifierPB;
 
 import com.google.protobuf.Message;
+import org.apache.yetus.audience.InterfaceAudience;
 
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.util.Pair;
 
 /**

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneResponse.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneResponse.java b/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneResponse.java
index ed35ba7..d1fac03 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneResponse.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneResponse.java
@@ -17,8 +17,8 @@
 
 package org.apache.kudu.client;
 
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 /**
  * Response to a isAlterTableDone command to use to know if an alter table is currently running on

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java
index 46ac392..e545b96 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java
@@ -19,8 +19,8 @@ package org.apache.kudu.client;
 
 import com.google.protobuf.ByteString;
 import com.google.protobuf.Message;
+import org.apache.yetus.audience.InterfaceAudience;
 
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.master.Master;
 import org.apache.kudu.util.Pair;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java b/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java
index 08fd9a2..e58876e 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java
@@ -27,11 +27,11 @@ import java.util.List;
 import com.google.common.primitives.Ints;
 import com.google.common.primitives.UnsignedLongs;
 import com.sangupta.murmur.Murmur2;
+import org.apache.yetus.audience.InterfaceAudience;
 
 import org.apache.kudu.ColumnSchema;
 import org.apache.kudu.Schema;
 import org.apache.kudu.Type;
-import org.apache.kudu.annotations.InterfaceAudience;
 import org.apache.kudu.client.PartitionSchema.HashBucketSchema;
 import org.apache.kudu.util.ByteVec;
 import org.apache.kudu.util.Pair;

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
index 89252bb..e35fbf1 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
@@ -23,12 +23,12 @@ import java.util.concurrent.Executor;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.stumbleupon.async.Deferred;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.kudu.Schema;
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
 
 /**
  * A synchronous and thread-safe client for Kudu.

http://git-wip-us.apache.org/repos/asf/kudu/blob/c2577858/java/kudu-client/src/main/java/org/apache/kudu/client/KuduException.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduException.java b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduException.java
index 21d47c3..0f1ea97 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduException.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduException.java
@@ -30,9 +30,8 @@ import java.io.IOException;
 
 import com.stumbleupon.async.DeferredGroupException;
 import com.stumbleupon.async.TimeoutException;
-
-import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.annotations.InterfaceStability;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 /**
  * The parent class of all exceptions sent by the Kudu client. This is the only exception you will