You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by to...@apache.org on 2010/06/11 23:35:05 UTC

svn commit: r953881 [5/5] - in /hadoop/common/trunk: ./ src/java/org/apache/hadoop/ src/java/org/apache/hadoop/classification/ src/java/org/apache/hadoop/conf/ src/java/org/apache/hadoop/fs/ src/java/org/apache/hadoop/fs/ftp/ src/java/org/apache/hadoop...

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/SaslRpcServer.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/SaslRpcServer.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/SaslRpcServer.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/SaslRpcServer.java Fri Jun 11 21:34:56 2010
@@ -23,8 +23,8 @@ import java.io.DataInput;
 import java.io.DataInputStream;
 import java.io.DataOutput;
 import java.io.IOException;
-import java.util.TreeMap;
 import java.util.Map;
+import java.util.TreeMap;
 
 import javax.security.auth.callback.Callback;
 import javax.security.auth.callback.CallbackHandler;
@@ -38,16 +38,20 @@ import javax.security.sasl.Sasl;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.ipc.Server;
+import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;
 import org.apache.hadoop.security.token.SecretManager;
 import org.apache.hadoop.security.token.TokenIdentifier;
-import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;
 import org.apache.hadoop.security.token.SecretManager.InvalidToken;
 
 /**
  * A utility class for dealing with SASL on RPC server
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class SaslRpcServer {
   public static final Log LOG = LogFactory.getLog(SaslRpcServer.class);
   public static final String SASL_DEFAULT_REALM = "default";
@@ -119,6 +123,7 @@ public class SaslRpcServer {
     return fullName.split("[/@]");
   }
 
+  @InterfaceStability.Evolving
   public enum SaslStatus {
     SUCCESS (0),
     ERROR (1);
@@ -130,6 +135,7 @@ public class SaslRpcServer {
   }
   
   /** Authentication method */
+  @InterfaceStability.Evolving
   public static enum AuthMethod {
     SIMPLE((byte) 80, "", AuthenticationMethod.SIMPLE),
     KERBEROS((byte) 81, "GSSAPI", AuthenticationMethod.KERBEROS),
@@ -172,6 +178,7 @@ public class SaslRpcServer {
   };
 
   /** CallbackHandler for SASL DIGEST-MD5 mechanism */
+  @InterfaceStability.Evolving
   public static class SaslDigestCallbackHandler implements CallbackHandler {
     private SecretManager<TokenIdentifier> secretManager;
     private Server.Connection connection; 
@@ -243,6 +250,7 @@ public class SaslRpcServer {
   }
 
   /** CallbackHandler for SASL GSSAPI Kerberos mechanism */
+  @InterfaceStability.Evolving
   public static class SaslGssCallbackHandler implements CallbackHandler {
 
     /** {@inheritDoc} */

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/SecurityUtil.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/SecurityUtil.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/SecurityUtil.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/SecurityUtil.java Fri Jun 11 21:34:56 2010
@@ -26,12 +26,16 @@ import javax.security.auth.kerberos.Kerb
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.security.UserGroupInformation;
 
 import sun.security.jgss.krb5.Krb5Util;
 import sun.security.krb5.Credentials;
 import sun.security.krb5.PrincipalName;
 
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class SecurityUtil {
   private static final Log LOG = LogFactory.getLog(SecurityUtil.class);
 

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/ShellBasedUnixGroupsMapping.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/ShellBasedUnixGroupsMapping.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/ShellBasedUnixGroupsMapping.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/ShellBasedUnixGroupsMapping.java Fri Jun 11 21:34:56 2010
@@ -26,6 +26,8 @@ import java.util.concurrent.ConcurrentHa
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.util.Shell;
 import org.apache.hadoop.util.Shell.ExitCodeException;
 
@@ -34,6 +36,8 @@ import org.apache.hadoop.util.Shell.Exit
  * that exec's the <code>groups</code> shell command to fetch the group
  * memberships of a given user.
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class ShellBasedUnixGroupsMapping implements GroupMappingServiceProvider {
   Map<String, List<String>> userGroups = 
     new ConcurrentHashMap<String, List<String>>();

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/TokenStorage.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/TokenStorage.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/TokenStorage.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/TokenStorage.java Fri Jun 11 21:34:56 2010
@@ -34,6 +34,7 @@ import org.apache.hadoop.io.WritableUtil
 import org.apache.hadoop.security.token.Token;
 import org.apache.hadoop.security.token.TokenIdentifier;
 import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 
 /**
@@ -41,6 +42,7 @@ import org.apache.hadoop.conf.Configurat
  * secret keys and Tokens.
  */
 @InterfaceAudience.LimitedPrivate({"MapReduce"})
+@InterfaceStability.Evolving
 public class TokenStorage implements Writable {
 
   private  Map<Text, byte[]> secretKeysMap = new HashMap<Text, byte[]>();

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/User.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/User.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/User.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/User.java Fri Jun 11 21:34:56 2010
@@ -22,12 +22,16 @@ import java.security.Principal;
 
 import javax.security.auth.login.LoginContext;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;
 
 /**
  * Save the full and short name of the user as a principal. This allows us to
  * have a single type that we always look for when picking up user names.
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 class User implements Principal {
   private final String fullName;
   private final String shortName;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/UserGroupInformation.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/UserGroupInformation.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/UserGroupInformation.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/UserGroupInformation.java Fri Jun 11 21:34:56 2010
@@ -48,6 +48,7 @@ import javax.security.auth.spi.LoginModu
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.SaslRpcServer.AuthMethod;
 import org.apache.hadoop.security.token.Token;
@@ -63,6 +64,8 @@ import com.sun.security.auth.module.Krb5
  * user's username and groups. It supports both the Windows, Unix and Kerberos 
  * login modules.
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class UserGroupInformation {
   private static final Log LOG =  LogFactory.getLog(UserGroupInformation.class);
   
@@ -502,6 +505,7 @@ public class UserGroupInformation {
     return new UserGroupInformation(subject);
   }
 
+  @InterfaceStability.Evolving
   public static enum AuthenticationMethod {
     SIMPLE,
     KERBEROS,

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/AccessControlList.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/AccessControlList.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/AccessControlList.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/AccessControlList.java Fri Jun 11 21:34:56 2010
@@ -21,11 +21,15 @@ import java.util.Iterator;
 import java.util.Set;
 import java.util.TreeSet;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.security.UserGroupInformation;
 
 /**
  * Class representing a configured access control list.
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class AccessControlList {
   
   // Indicates an ACL string that represents access to all users

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/AuthorizationException.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/AuthorizationException.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/AuthorizationException.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/AuthorizationException.java Fri Jun 11 21:34:56 2010
@@ -20,6 +20,8 @@ package org.apache.hadoop.security.autho
 import java.io.PrintStream;
 import java.io.PrintWriter;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.security.AccessControlException;
 
 /**
@@ -27,6 +29,8 @@ import org.apache.hadoop.security.Access
  * 
  * This class <em>does not</em> provide the stack trace for security purposes.
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class AuthorizationException extends AccessControlException {
   private static final long serialVersionUID = 1L;
 

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/PolicyProvider.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/PolicyProvider.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/PolicyProvider.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/PolicyProvider.java Fri Jun 11 21:34:56 2010
@@ -19,11 +19,16 @@ package org.apache.hadoop.security.autho
 
 import java.security.Policy;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * {@link PolicyProvider} provides the {@link Service} definitions to the
  * security {@link Policy} in effect for Hadoop.
  *
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public abstract class PolicyProvider {
 
   /**

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/RefreshAuthorizationPolicyProtocol.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/RefreshAuthorizationPolicyProtocol.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/RefreshAuthorizationPolicyProtocol.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/RefreshAuthorizationPolicyProtocol.java Fri Jun 11 21:34:56 2010
@@ -19,6 +19,8 @@ package org.apache.hadoop.security.autho
 
 import java.io.IOException;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.fs.CommonConfigurationKeys;
 import org.apache.hadoop.ipc.VersionedProtocol;
 import org.apache.hadoop.security.KerberosInfo;
@@ -28,6 +30,8 @@ import org.apache.hadoop.security.Kerber
  */
 @KerberosInfo(
     serverPrincipal=CommonConfigurationKeys.HADOOP_SECURITY_SERVICE_USER_NAME_KEY)
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public interface RefreshAuthorizationPolicyProtocol extends VersionedProtocol {
   
   /**

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/Service.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/Service.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/Service.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/Service.java Fri Jun 11 21:34:56 2010
@@ -19,6 +19,9 @@ package org.apache.hadoop.security.autho
 
 import java.security.Permission;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * An abstract definition of <em>service</em> as related to 
  * Service Level Authorization for Hadoop.
@@ -26,6 +29,8 @@ import java.security.Permission;
  * Each service defines it's configuration key and also the necessary
  * {@link Permission} required to access the service.
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class Service {
   private String key;
   private Class<?> protocol;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/ServiceAuthorizationManager.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/ServiceAuthorizationManager.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/ServiceAuthorizationManager.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/authorize/ServiceAuthorizationManager.java Fri Jun 11 21:34:56 2010
@@ -22,6 +22,8 @@ import java.util.Map;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.CommonConfigurationKeys;
 import org.apache.hadoop.security.KerberosInfo;
@@ -31,6 +33,8 @@ import org.apache.hadoop.security.UserGr
  * An authorization manager which handles service-level authorization
  * for incoming service requests.
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class ServiceAuthorizationManager {
   private static final String HADOOP_POLICY_FILE = "hadoop-policy.xml";
 

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/token/SecretManager.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/token/SecretManager.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/token/SecretManager.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/token/SecretManager.java Fri Jun 11 21:34:56 2010
@@ -27,16 +27,22 @@ import javax.crypto.Mac;
 import javax.crypto.SecretKey;
 import javax.crypto.spec.SecretKeySpec;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 
 /**
  * The server-side secret manager for each token type.
  * @param <T> The type of the token identifier
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public abstract class SecretManager<T extends TokenIdentifier> {
   /**
    * The token was invalid and the message explains why.
    */
   @SuppressWarnings("serial")
+  @InterfaceStability.Evolving
   public static class InvalidToken extends IOException {
     public InvalidToken(String msg) { 
       super(msg);

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/token/Token.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/token/Token.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/token/Token.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/token/Token.java Fri Jun 11 21:34:56 2010
@@ -25,6 +25,8 @@ import java.util.Arrays;
 
 import org.apache.commons.codec.binary.Base64;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.io.DataInputBuffer;
 import org.apache.hadoop.io.DataOutputBuffer;
 import org.apache.hadoop.io.Text;
@@ -35,6 +37,8 @@ import org.apache.hadoop.io.WritableUtil
 /**
  * The client-side form of the token.
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class Token<T extends TokenIdentifier> implements Writable {
   private byte[] identifier;
   private byte[] password;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenIdentifier.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenIdentifier.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenIdentifier.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenIdentifier.java Fri Jun 11 21:34:56 2010
@@ -21,6 +21,8 @@ package org.apache.hadoop.security.token
 import java.io.IOException;
 import java.util.Arrays;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.io.DataOutputBuffer;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.io.Writable;
@@ -30,6 +32,8 @@ import org.apache.hadoop.security.UserGr
  * An identifier that identifies a token, may contain public information 
  * about a token, including its kind (or type).
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public abstract class TokenIdentifier implements Writable {
   /**
    * Get the token kind

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenInfo.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenInfo.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenInfo.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenInfo.java Fri Jun 11 21:34:56 2010
@@ -20,11 +20,16 @@ package org.apache.hadoop.security.token
 
 import java.lang.annotation.*;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Indicates Token related information to be used
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.TYPE)
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public @interface TokenInfo {
   /** The type of TokenSelector to be used */
   Class<? extends TokenSelector<? extends TokenIdentifier>> value();

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenSelector.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenSelector.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenSelector.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/token/TokenSelector.java Fri Jun 11 21:34:56 2010
@@ -20,6 +20,8 @@ package org.apache.hadoop.security.token
 
 import java.util.Collection;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.io.Text;
 
 /**
@@ -28,6 +30,8 @@ import org.apache.hadoop.io.Text;
  * @param <T>
  *          T extends TokenIdentifier
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public interface TokenSelector<T extends TokenIdentifier> {
   Token<T> selectToken(Text service,
       Collection<Token<? extends TokenIdentifier>> tokens);

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenIdentifier.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenIdentifier.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenIdentifier.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenIdentifier.java Fri Jun 11 21:34:56 2010
@@ -19,6 +19,7 @@
 package org.apache.hadoop.security.token.delegation;
 
 import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 
 import java.io.DataInput;
 import java.io.DataOutput;
@@ -30,6 +31,7 @@ import org.apache.hadoop.security.UserGr
 import org.apache.hadoop.security.token.TokenIdentifier;
 
 @InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public abstract class AbstractDelegationTokenIdentifier 
 extends TokenIdentifier {
   private static final byte VERSION = 0;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSecretManager.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSecretManager.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSecretManager.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSecretManager.java Fri Jun 11 21:34:56 2010
@@ -19,6 +19,7 @@
 package org.apache.hadoop.security.token.delegation;
 
 import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.io.Text;
 
 import java.io.ByteArrayInputStream;
@@ -40,6 +41,7 @@ import org.apache.hadoop.util.Daemon;
 import org.apache.hadoop.util.StringUtils;
 
 @InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public abstract 
 class AbstractDelegationTokenSecretManager<TokenIdent 
 extends AbstractDelegationTokenIdentifier> 
@@ -297,6 +299,7 @@ extends AbstractDelegationTokenIdentifie
   }
 
   /** Class to encapsulate a token's renew date and password. */
+  @InterfaceStability.Evolving
   public static class DelegationTokenInformation {
     long renewDate;
     byte[] password;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSelector.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSelector.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSelector.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSelector.java Fri Jun 11 21:34:56 2010
@@ -21,6 +21,7 @@ package org.apache.hadoop.security.token
 import java.util.Collection;
 
 import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.security.token.Token;
 import org.apache.hadoop.security.token.TokenIdentifier;
@@ -31,6 +32,7 @@ import org.apache.hadoop.security.token.
  * service and return it.
  */
 @InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public 
 class AbstractDelegationTokenSelector<TokenIdent 
 extends AbstractDelegationTokenIdentifier> 

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/DelegationKey.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/DelegationKey.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/DelegationKey.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/security/token/delegation/DelegationKey.java Fri Jun 11 21:34:56 2010
@@ -19,6 +19,8 @@
 package org.apache.hadoop.security.token.delegation;
 
 import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
@@ -33,6 +35,7 @@ import org.apache.avro.reflect.Nullable;
  * Key used for generating and verifying delegation tokens
  */
 @InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class DelegationKey implements Writable {
   private int keyId;
   private long expiryDate;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/AsyncDiskService.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/AsyncDiskService.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/AsyncDiskService.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/AsyncDiskService.java Fri Jun 11 21:34:56 2010
@@ -28,6 +28,8 @@ import java.util.concurrent.ThreadPoolEx
 import java.util.concurrent.TimeUnit;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 
 /*
  * This class is a container of multiple thread pools, each for a volume,
@@ -37,6 +39,8 @@ import org.apache.commons.logging.LogFac
  * We can move the files to a "TO_BE_DELETED" folder before asychronously
  * deleting it, to make sure the caller can run it faster.
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Unstable
 public class AsyncDiskService {
   
   public static final Log LOG = LogFactory.getLog(AsyncDiskService.class);

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/CyclicIteration.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/CyclicIteration.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/CyclicIteration.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/CyclicIteration.java Fri Jun 11 21:34:56 2010
@@ -22,12 +22,17 @@ import java.util.Map;
 import java.util.NavigableMap;
 import java.util.NoSuchElementException;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /** Provide an cyclic {@link Iterator} for a {@link NavigableMap}.
  * The {@link Iterator} navigates the entries of the map
  * according to the map's ordering.
  * If the {@link Iterator} hits the last entry of the map,
  * it will then continue from the first entry.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class CyclicIteration<K, V> implements Iterable<Map.Entry<K, V>> {
   private final NavigableMap<K, V> navigablemap;
   private final NavigableMap<K, V> tailmap;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/Daemon.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/Daemon.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/Daemon.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/Daemon.java Fri Jun 11 21:34:56 2010
@@ -18,7 +18,12 @@
 
 package org.apache.hadoop.util;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /** A thread that has called {@link Thread#setDaemon(boolean) } with true.*/
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Unstable
 public class Daemon extends Thread {
 
   {

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/DataChecksum.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/DataChecksum.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/DataChecksum.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/DataChecksum.java Fri Jun 11 21:34:56 2010
@@ -18,16 +18,20 @@
 
 package org.apache.hadoop.util;
 
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
 import java.util.zip.Checksum;
-import java.util.zip.CRC32;
 
-import java.io.*;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 
 /**
  * This class provides inteface and utilities for processing checksums for
  * DFS data transfers.
  */
-
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Evolving
 public class DataChecksum implements Checksum {
   
   // Misc constants

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/DiskChecker.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/DiskChecker.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/DiskChecker.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/DiskChecker.java Fri Jun 11 21:34:56 2010
@@ -21,6 +21,8 @@ package org.apache.hadoop.util;
 import java.io.File;
 import java.io.IOException;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.LocalFileSystem;
 import org.apache.hadoop.fs.Path;
@@ -30,7 +32,8 @@ import org.apache.hadoop.fs.permission.F
 /**
  * Class that provides utility functions for checking disk problem
  */
-
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class DiskChecker {
 
   public static class DiskErrorException extends IOException {

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/GenericOptionsParser.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/GenericOptionsParser.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/GenericOptionsParser.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/GenericOptionsParser.java Fri Jun 11 21:34:56 2010
@@ -37,6 +37,8 @@ import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -104,6 +106,8 @@ import org.apache.hadoop.fs.Path;
  * @see Tool
  * @see ToolRunner
  */
+@InterfaceAudience.Private
+@InterfaceStability.Evolving
 public class GenericOptionsParser {
 
   private static final Log LOG = LogFactory.getLog(GenericOptionsParser.class);

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/GenericsUtil.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/GenericsUtil.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/GenericsUtil.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/GenericsUtil.java Fri Jun 11 21:34:56 2010
@@ -21,9 +21,14 @@ package org.apache.hadoop.util;
 import java.lang.reflect.Array;
 import java.util.List;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Contains utility methods for dealing with Java Generics. 
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class GenericsUtil {
 
   /**

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/HeapSort.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/HeapSort.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/HeapSort.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/HeapSort.java Fri Jun 11 21:34:56 2010
@@ -17,9 +17,14 @@
  */
 package org.apache.hadoop.util;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * An implementation of the core algorithm of HeapSort.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public final class HeapSort implements IndexedSorter {
 
   public HeapSort() { }

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/HostsFileReader.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/HostsFileReader.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/HostsFileReader.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/HostsFileReader.java Fri Jun 11 21:34:56 2010
@@ -24,9 +24,13 @@ import java.util.HashSet;
 
 import org.apache.commons.logging.LogFactory;
 import org.apache.commons.logging.Log;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 
 // Keeps track of which datanodes/tasktrackers are allowed to connect to the 
 // namenode/jobtracker.
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Unstable
 public class HostsFileReader {
   private Set<String> includes;
   private Set<String> excludes;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/IndexedSortable.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/IndexedSortable.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/IndexedSortable.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/IndexedSortable.java Fri Jun 11 21:34:56 2010
@@ -17,10 +17,15 @@
  */
 package org.apache.hadoop.util;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Interface for collections capable of being sorted by {@link IndexedSorter}
  * algorithms.
  */
+@InterfaceAudience.LimitedPrivate({"MapReduce"})
+@InterfaceStability.Unstable
 public interface IndexedSortable {
 
   /**

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/IndexedSorter.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/IndexedSorter.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/IndexedSorter.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/IndexedSorter.java Fri Jun 11 21:34:56 2010
@@ -17,6 +17,9 @@
  */
 package org.apache.hadoop.util;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Interface for sort algorithms accepting {@link IndexedSortable} items.
  *
@@ -24,6 +27,8 @@ package org.apache.hadoop.util;
  * {@link IndexedSortable#compare} and {@link IndexedSortable#swap} items
  * for a range of indices to effect a sort across that range.
  */
+@InterfaceAudience.LimitedPrivate({"MapReduce"})
+@InterfaceStability.Unstable
 public interface IndexedSorter {
 
   /**

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/LineReader.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/LineReader.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/LineReader.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/LineReader.java Fri Jun 11 21:34:56 2010
@@ -21,12 +21,16 @@ package org.apache.hadoop.util;
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.Text;
 
 /**
  * A class that provides a line reader from an input stream.
  */
+@InterfaceAudience.LimitedPrivate({"MapReduce"})
+@InterfaceStability.Unstable
 public class LineReader {
   private static final int DEFAULT_BUFFER_SIZE = 64 * 1024;
   private int bufferSize = DEFAULT_BUFFER_SIZE;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/MergeSort.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/MergeSort.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/MergeSort.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/MergeSort.java Fri Jun 11 21:34:56 2010
@@ -19,9 +19,14 @@
 package org.apache.hadoop.util;
 
 import java.util.Comparator;
+
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.io.IntWritable;
 
 /** An implementation of the core algorithm of MergeSort. */
+@InterfaceAudience.LimitedPrivate({"MapReduce"})
+@InterfaceStability.Unstable
 public class MergeSort {
   //Reusable IntWritables
   IntWritable I = new IntWritable(0);

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/NativeCodeLoader.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/NativeCodeLoader.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/NativeCodeLoader.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/NativeCodeLoader.java Fri Jun 11 21:34:56 2010
@@ -20,6 +20,8 @@ package org.apache.hadoop.util;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.CommonConfigurationKeys;
 
@@ -29,6 +31,8 @@ import org.apache.hadoop.fs.CommonConfig
  * or the default java implementations where appropriate.
  *  
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class NativeCodeLoader {
 
   private static final Log LOG =

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/PlatformName.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/PlatformName.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/PlatformName.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/PlatformName.java Fri Jun 11 21:34:56 2010
@@ -18,10 +18,15 @@
 
 package org.apache.hadoop.util;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * A helper class for getting build-info of the java-vm. 
  * 
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class PlatformName {
   /**
    * The complete platform 'name' to identify the platform as 

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/PrintJarMainClass.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/PrintJarMainClass.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/PrintJarMainClass.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/PrintJarMainClass.java Fri Jun 11 21:34:56 2010
@@ -20,9 +20,14 @@ package org.apache.hadoop.util;
 
 import java.util.jar.*;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * A micro-application that prints the main class name out of a jar file.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class PrintJarMainClass {
   
   /**

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/PriorityQueue.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/PriorityQueue.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/PriorityQueue.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/PriorityQueue.java Fri Jun 11 21:34:56 2010
@@ -17,10 +17,15 @@
 
 package org.apache.hadoop.util;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 
 /** A PriorityQueue maintains a partial ordering of its elements such that the
   least element can always be found in constant time.  Put()'s and pop()'s
   require log(size) time. */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public abstract class PriorityQueue<T> {
   private T[] heap;
   private int size;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/ProgramDriver.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/ProgramDriver.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/ProgramDriver.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/ProgramDriver.java Fri Jun 11 21:34:56 2010
@@ -23,9 +23,13 @@ import java.lang.reflect.Method;
 import java.util.Map;
 import java.util.TreeMap;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /** A driver that is used to run programs added to it
  */
-
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Unstable
 public class ProgramDriver {
     
   /**

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/Progress.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/Progress.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/Progress.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/Progress.java Fri Jun 11 21:34:56 2010
@@ -22,12 +22,16 @@ import java.util.ArrayList;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 
 /** Utility to assist with generation of progress reports.  Applications build
  * a hierarchy of {@link Progress} instances, each modelling a phase of
  * execution.  The root is constructed with {@link #Progress()}.  Nodes for
  * sub-phases are created by calling {@link #addPhase()}.
  */
+@InterfaceAudience.LimitedPrivate({"MapReduce"})
+@InterfaceStability.Unstable
 public class Progress {
   private static final Log LOG = LogFactory.getLog(Progress.class);
   private String status = "";

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/Progressable.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/Progressable.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/Progressable.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/Progressable.java Fri Jun 11 21:34:56 2010
@@ -18,6 +18,9 @@
 
 package org.apache.hadoop.util;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * A facility for reporting progress.
  * 
@@ -27,6 +30,8 @@ package org.apache.hadoop.util;
  * in-lieu of the reported progress, the framework has to assume that an error
  * has occured and time-out the operation.</p>
  */
+@InterfaceAudience.Public
+@InterfaceStability.Stable
 public interface Progressable {
   /**
    * Report progress to the Hadoop framework.

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/PureJavaCrc32.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/PureJavaCrc32.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/PureJavaCrc32.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/PureJavaCrc32.java Fri Jun 11 21:34:56 2010
@@ -19,6 +19,9 @@ package org.apache.hadoop.util;
 
 import java.util.zip.Checksum;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * A pure-java implementation of the CRC32 checksum that uses
  * the same polynomial as the built-in native CRC32.
@@ -31,6 +34,8 @@ import java.util.zip.Checksum;
  *
  * @see java.util.zip.CRC32
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class PureJavaCrc32 implements Checksum {
 
   /** the current CRC value, bit-flipped */

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/QuickSort.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/QuickSort.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/QuickSort.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/QuickSort.java Fri Jun 11 21:34:56 2010
@@ -17,9 +17,14 @@
  */
 package org.apache.hadoop.util;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * An implementation of the core algorithm of QuickSort.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public final class QuickSort implements IndexedSorter {
 
   private static final IndexedSorter alt = new HeapSort();

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/ReflectionUtils.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/ReflectionUtils.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/ReflectionUtils.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/ReflectionUtils.java Fri Jun 11 21:34:56 2010
@@ -30,6 +30,8 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.commons.logging.Log;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configurable;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.DataInputBuffer;
@@ -42,7 +44,8 @@ import org.apache.hadoop.io.serializer.S
 /**
  * General reflection utils
  */
-
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
 public class ReflectionUtils {
     
   private static final Class<?>[] EMPTY_ARRAY = new Class[]{};

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/RunJar.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/RunJar.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/RunJar.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/RunJar.java Fri Jun 11 21:34:56 2010
@@ -35,11 +35,16 @@ import java.util.Enumeration;
 import java.util.jar.JarFile;
 import java.util.jar.JarEntry;
 import java.util.jar.Manifest;
+
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileUtil;
 import org.apache.hadoop.io.IOUtils;
 
 /** Run a Hadoop job jar. */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class RunJar {
 
   /** Pattern that matches any string */

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/ServicePlugin.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/ServicePlugin.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/ServicePlugin.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/ServicePlugin.java Fri Jun 11 21:34:56 2010
@@ -19,6 +19,9 @@ package org.apache.hadoop.util;
 
 import java.io.Closeable;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Service plug-in interface.
  * 
@@ -30,6 +33,8 @@ import java.io.Closeable;
  * Service plug-ins are started after the service instance is started, and
  * stopped before the service instance is stopped.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public interface ServicePlugin extends Closeable {
 
   /**

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/ServletUtil.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/ServletUtil.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/ServletUtil.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/ServletUtil.java Fri Jun 11 21:34:56 2010
@@ -22,6 +22,11 @@ import java.util.Calendar;
 
 import javax.servlet.*;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class ServletUtil {
   /**
    * Initial HTML header

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/Shell.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/Shell.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/Shell.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/Shell.java Fri Jun 11 21:34:56 2010
@@ -28,6 +28,8 @@ import java.util.concurrent.atomic.Atomi
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 
 /** 
@@ -37,6 +39,8 @@ import org.apache.hadoop.conf.Configurat
  * <code>df</code>. It also offers facilities to gate commands by 
  * time-intervals.
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Unstable
 abstract public class Shell {
   
   public static final Log LOG = LogFactory.getLog(Shell.class);

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/StringUtils.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/StringUtils.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/StringUtils.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/StringUtils.java Fri Jun 11 21:34:56 2010
@@ -33,12 +33,16 @@ import java.util.List;
 import java.util.Locale;
 import java.util.StringTokenizer;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.net.NetUtils;
 
 /**
  * General string utils
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class StringUtils {
 
   private static final DecimalFormat decimalFormat;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/Tool.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/Tool.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/Tool.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/Tool.java Fri Jun 11 21:34:56 2010
@@ -18,6 +18,8 @@
 
 package org.apache.hadoop.util;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configurable;
 
 /**
@@ -68,6 +70,8 @@ import org.apache.hadoop.conf.Configurab
  * @see GenericOptionsParser
  * @see ToolRunner
  */
+@InterfaceAudience.Public
+@InterfaceStability.Stable
 public interface Tool extends Configurable {
   /**
    * Execute the command with the given arguments.

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/ToolRunner.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/ToolRunner.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/ToolRunner.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/ToolRunner.java Fri Jun 11 21:34:56 2010
@@ -19,6 +19,8 @@ package org.apache.hadoop.util;
 
 import java.io.PrintStream;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 
 /**
@@ -36,6 +38,8 @@ import org.apache.hadoop.conf.Configurat
  * @see Tool
  * @see GenericOptionsParser
  */
+@InterfaceAudience.Public
+@InterfaceStability.Stable
 public class ToolRunner {
  
   /**

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/UTF8ByteArrayUtils.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/UTF8ByteArrayUtils.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/UTF8ByteArrayUtils.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/UTF8ByteArrayUtils.java Fri Jun 11 21:34:56 2010
@@ -18,6 +18,11 @@
 
 package org.apache.hadoop.util;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class UTF8ByteArrayUtils {
   /**
    * Find the first occurrence of the given byte b in a UTF-8 encoded string

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/VersionInfo.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/VersionInfo.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/VersionInfo.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/VersionInfo.java Fri Jun 11 21:34:56 2010
@@ -19,11 +19,15 @@
 package org.apache.hadoop.util;
 
 import org.apache.hadoop.HadoopVersionAnnotation;
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 
 /**
  * This class finds the package info for Hadoop and the HadoopVersionAnnotation
  * information.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class VersionInfo {
   private static Package myPackage;
   private static HadoopVersionAnnotation version;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/XMLUtils.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/XMLUtils.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/XMLUtils.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/XMLUtils.java Fri Jun 11 21:34:56 2010
@@ -20,12 +20,18 @@ package org.apache.hadoop.util;
 
 import javax.xml.transform.*;
 import javax.xml.transform.stream.*;
+
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 import java.io.*;
 
 /**
  * General xml utilities.
  *   
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class XMLUtils {
   /**
    * Transform input xml given a stylesheet.

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/BloomFilter.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/BloomFilter.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/BloomFilter.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/BloomFilter.java Fri Jun 11 21:34:56 2010
@@ -55,6 +55,9 @@ import java.io.IOException;
 
 import java.util.BitSet;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Implements a <i>Bloom filter</i>, as defined by Bloom in 1970.
  * <p>
@@ -75,6 +78,8 @@ import java.util.BitSet;
  * 
  * @see <a href="http://portal.acm.org/citation.cfm?id=362692&dl=ACM&coll=portal">Space/Time Trade-Offs in Hash Coding with Allowable Errors</a>
  */
+@InterfaceAudience.Public
+@InterfaceStability.Stable
 public class BloomFilter extends Filter {
   private static final byte[] bitvalues = new byte[] {
     (byte)0x01,

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/CountingBloomFilter.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/CountingBloomFilter.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/CountingBloomFilter.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/CountingBloomFilter.java Fri Jun 11 21:34:56 2010
@@ -53,6 +53,9 @@ import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Implements a <i>counting Bloom filter</i>, as defined by Fan et al. in a ToN
  * 2000 paper.
@@ -68,6 +71,8 @@ import java.io.IOException;
  * 
  * @see <a href="http://portal.acm.org/citation.cfm?id=343571.343572">Summary cache: a scalable wide-area web cache sharing protocol</a>
  */
+@InterfaceAudience.Public
+@InterfaceStability.Stable
 public final class CountingBloomFilter extends Filter {
   /** Storage for the counting buckets */
   private long[] buckets;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/DynamicBloomFilter.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/DynamicBloomFilter.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/DynamicBloomFilter.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/DynamicBloomFilter.java Fri Jun 11 21:34:56 2010
@@ -53,6 +53,9 @@ import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Implements a <i>dynamic Bloom filter</i>, as defined in the INFOCOM 2006 paper.
  * <p>
@@ -85,6 +88,8 @@ import java.io.IOException;
  * 
  * @see <a href="http://www.cse.fau.edu/~jie/research/publications/Publication_files/infocom2006.pdf">Theory and Network Applications of Dynamic Bloom Filters</a>
  */
+@InterfaceAudience.Public
+@InterfaceStability.Stable
 public class DynamicBloomFilter extends Filter {
   /** 
    * Threshold for the maximum number of key to record in a dynamic Bloom filter row.

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/Filter.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/Filter.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/Filter.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/Filter.java Fri Jun 11 21:34:56 2010
@@ -56,6 +56,8 @@ import java.io.IOException;
 import java.util.Collection;
 import java.util.List;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.util.hash.Hash;
 
@@ -73,6 +75,8 @@ import org.apache.hadoop.util.hash.Hash;
  * @see Key The general behavior of a key
  * @see HashFunction A hash function
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Unstable
 public abstract class Filter implements Writable {
   private static final int VERSION = -1; // negative to accommodate for old format 
   /** The vector size of <i>this</i> filter. */

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/HashFunction.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/HashFunction.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/HashFunction.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/HashFunction.java Fri Jun 11 21:34:56 2010
@@ -50,6 +50,8 @@
  */
 package org.apache.hadoop.util.bloom;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.util.hash.Hash;
 
 /**
@@ -58,6 +60,8 @@ import org.apache.hadoop.util.hash.Hash;
  * @see Key The general behavior of a key being stored in a filter
  * @see Filter The general behavior of a filter
  */
+@InterfaceAudience.Public
+@InterfaceStability.Stable
 public final class HashFunction {
   /** The number of hashed values. */
   private int nbHash;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/Key.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/Key.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/Key.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/Key.java Fri Jun 11 21:34:56 2010
@@ -52,6 +52,8 @@ import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.io.WritableComparable;
 
 /**
@@ -59,6 +61,8 @@ import org.apache.hadoop.io.WritableComp
  * 
  * @see Filter The general behavior of a filter
  */
+@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
+@InterfaceStability.Unstable
 public class Key implements WritableComparable<Key> {
   /** Byte value of key */
   byte[] bytes;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/RemoveScheme.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/RemoveScheme.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/RemoveScheme.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/RemoveScheme.java Fri Jun 11 21:34:56 2010
@@ -50,12 +50,17 @@
  */
 package org.apache.hadoop.util.bloom;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Defines the different remove scheme for retouched Bloom filters.
  * <p>
  * Originally created by
  * <a href="http://www.one-lab.org">European Commission One-Lab Project 034819</a>.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Stable
 public interface RemoveScheme {
   /**
    * Random selection.

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/RetouchedBloomFilter.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/RetouchedBloomFilter.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/RetouchedBloomFilter.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/bloom/RetouchedBloomFilter.java Fri Jun 11 21:34:56 2010
@@ -57,6 +57,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Random;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Implements a <i>retouched Bloom filter</i>, as defined in the CoNEXT 2006 paper.
  * <p>
@@ -74,6 +77,8 @@ import java.util.Random;
  * 
  * @see <a href="http://www-rp.lip6.fr/site_npa/site_rp/_publications/740-rbf_cameraready.pdf">Retouched Bloom Filters: Allowing Networked Applications to Trade Off Selected False Positives Against False Negatives</a>
  */
+@InterfaceAudience.Public
+@InterfaceStability.Stable
 public final class RetouchedBloomFilter extends BloomFilter
 implements RemoveScheme {
   /**

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/Hash.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/Hash.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/Hash.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/Hash.java Fri Jun 11 21:34:56 2010
@@ -18,11 +18,15 @@
 
 package org.apache.hadoop.util.hash;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
 
 /**
  * This class represents a common API for hashing functions.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public abstract class Hash {
   /** Constant to denote invalid hash type. */
   public static final int INVALID_HASH = -1;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/JenkinsHash.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/JenkinsHash.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/JenkinsHash.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/JenkinsHash.java Fri Jun 11 21:34:56 2010
@@ -21,6 +21,9 @@ package org.apache.hadoop.util.hash;
 import java.io.FileInputStream;
 import java.io.IOException;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * Produces 32-bit hash for hash table lookup.
  * 
@@ -36,6 +39,8 @@ import java.io.IOException;
  * @see <a href="http://burtleburtle.net/bob/hash/doobs.html">Has update on the
  * Dr. Dobbs Article</a>
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class JenkinsHash extends Hash {
   private static long INT_MASK  = 0x00000000ffffffffL;
   private static long BYTE_MASK = 0x00000000000000ffL;

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/MurmurHash.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/MurmurHash.java?rev=953881&r1=953880&r2=953881&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/MurmurHash.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/util/hash/MurmurHash.java Fri Jun 11 21:34:56 2010
@@ -18,6 +18,9 @@
 
 package org.apache.hadoop.util.hash;
 
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceStability;
+
 /**
  * This is a very fast, non-cryptographic hash suitable for general hash-based
  * lookup.  See http://murmurhash.googlepages.com/ for more details.
@@ -25,6 +28,8 @@ package org.apache.hadoop.util.hash;
  * <p>The C version of MurmurHash 2.0 found at that site was ported
  * to Java by Andrzej Bialecki (ab at getopt org).</p>
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class MurmurHash extends Hash {
   private static MurmurHash _instance = new MurmurHash();