Author: clamb
Date: Sat May 31 00:01:20 2014
New Revision: 1598785
URL: http://svn.apache.org/r1598785
Log:
merge from trunk r1598783
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/CHANGES.txt
(contents, props changed)
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/docs/
(props changed)
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/
(props changed)
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeys.java
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/test/core/
(props changed)
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSCacheKeyProvider.java
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/NfsExports.java
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/IdUserGroup.java
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Constant.java
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/TestNfsExports.java
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/nfs3/TestIdUserGroup.java
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/CHANGES.txt
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/CHANGES.txt
Sat May 31 00:01:20 2014
@@ -125,9 +125,6 @@ Trunk (Unreleased)
HADOOP-10342. Add a new method to UGI to use a Kerberos login subject to
build a new UGI. (Larry McCay via omalley)
- HADOOP-9968. Makes ProxyUsers to work with NetGroups (Benoy Antony via
- ddas)
-
HADOOP-10237. JavaKeyStoreProvider needs to set keystore permissions
correctly. (Larry McCay via omalley)
@@ -337,6 +334,11 @@ Trunk (Unreleased)
HADOOP-10625. Trim configuration names when putting/getting them
to properties. (Wangda Tan via xgong)
+ HADOOP-10645. TestKMS fails because race condition writing acl files.
(tucu)
+
+ HADOOP-10611. KMS, keyVersion name should not be assumed to be
+ keyName@versionNumber. (tucu)
+
OPTIMIZATIONS
HADOOP-7761. Improve the performance of raw comparisons. (todd)
@@ -419,6 +421,9 @@ Release 2.5.0 - UNRELEASED
HADOOP-10618. Remove SingleNodeSetup.apt.vm. (Akira Ajisaka via
Arpit Agarwal)
+ HADOOP-9968. Makes ProxyUsers to work with NetGroups (Benoy Antony via
+ ddas)
+
HADOOP-10448. Support pluggable mechanism to specify proxy user settings.
(Benoy Antony via Arpit Agarwal)
@@ -519,6 +524,9 @@ Release 2.5.0 - UNRELEASED
HADOOP-10639. FileBasedKeyStoresFactory initialization is not using default
for SSL_REQUIRE_CLIENT_CERT_KEY. (tucu)
+ HADOOP-10638. Updating hadoop-daemon.sh to work as expected when nfs is
+ started as a privileged user. (Manikandan Narayanaswamy via atm)
+
Release 2.4.1 - UNRELEASED
INCOMPATIBLE CHANGES
Propchange:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/CHANGES.txt
------------------------------------------------------------------------------
Merged
/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt:r1598431-1598783
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh
Sat May 31 00:01:20 2014
@@ -87,6 +87,14 @@ if [ "$command" == "datanode" ] && [ "$E
starting_secure_dn="true"
fi
+#Determine if we're starting a privileged NFS, if so, redefine the appropriate
variables
+if [ "$command" == "nfs3" ] && [ "$EUID" -eq 0 ] && [ -n
"$HADOOP_PRIVILEGED_NFS_USER" ]; then
+ export HADOOP_PID_DIR=$HADOOP_PRIVILEGED_NFS_PID_DIR
+ export HADOOP_LOG_DIR=$HADOOP_PRIVILEGED_NFS_LOG_DIR
+ export HADOOP_IDENT_STRING=$HADOOP_PRIVILEGED_NFS_USER
+ starting_privileged_nfs="true"
+fi
+
if [ "$HADOOP_IDENT_STRING" = "" ]; then
export HADOOP_IDENT_STRING="$USER"
fi
@@ -162,6 +170,9 @@ case $startStop in
echo "ulimit -a for secure datanode user $HADOOP_SECURE_DN_USER" >> $log
# capture the ulimit info for the appropriate user
su --shell=/bin/bash $HADOOP_SECURE_DN_USER -c 'ulimit -a' >> $log 2>&1
+ elif [ "true" = "$starting_privileged_nfs" ]; then
+ echo "ulimit -a for privileged nfs user $HADOOP_PRIVILEGED_NFS_USER"
>> $log
+ su --shell=/bin/bash $HADOOP_PRIVILEGED_NFS_USER -c 'ulimit -a' >>
$log 2>&1
else
echo "ulimit -a for user $USER" >> $log
ulimit -a >> $log 2>&1
Propchange:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/docs/
------------------------------------------------------------------------------
Merged
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/docs:r1598431-1598783
Propchange:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/
------------------------------------------------------------------------------
Merged
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java:r1598431-1598783
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
Sat May 31 00:01:20 2014
@@ -423,7 +423,9 @@ public class Configuration implements It
new DeprecationDelta("fs.default.name",
CommonConfigurationKeys.FS_DEFAULT_NAME_KEY),
new DeprecationDelta("dfs.umaskmode",
- CommonConfigurationKeys.FS_PERMISSIONS_UMASK_KEY)
+ CommonConfigurationKeys.FS_PERMISSIONS_UMASK_KEY),
+ new DeprecationDelta("dfs.nfs.exports.allowed.hosts",
+ CommonConfigurationKeys.NFS_EXPORTS_ALLOWED_HOSTS_KEY)
};
/**
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java
Sat May 31 00:01:20 2014
@@ -517,8 +517,4 @@ public class KMSClientProvider extends K
// the server should not keep in memory state on behalf of clients either.
}
- @VisibleForTesting
- public static String buildVersionName(String name, int version) {
- return KeyProvider.buildVersionName(name, version);
- }
}
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeys.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeys.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeys.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeys.java
Sat May 31 00:01:20 2014
@@ -265,4 +265,10 @@ public class CommonConfigurationKeys ext
public static final boolean RPC_METRICS_QUANTILE_ENABLE_DEFAULT = false;
public static final String RPC_METRICS_PERCENTILES_INTERVALS_KEY =
"rpc.metrics.percentiles.intervals";
+
+ /** Allowed hosts for nfs exports */
+ public static final String NFS_EXPORTS_ALLOWED_HOSTS_SEPARATOR = ";";
+ public static final String NFS_EXPORTS_ALLOWED_HOSTS_KEY =
"nfs.exports.allowed.hosts";
+ public static final String NFS_EXPORTS_ALLOWED_HOSTS_KEY_DEFAULT = "* rw";
+
}
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml
Sat May 31 00:01:20 2014
@@ -1309,18 +1309,17 @@
</property>
<property>
- <name>nfs3.server.port</name>
- <value>2049</value>
+ <name>nfs.exports.allowed.hosts</name>
+ <value>* rw</value>
<description>
- Specify the port number used by Hadoop NFS.
- </description>
-</property>
-
-<property>
- <name>nfs3.mountd.port</name>
- <value>4242</value>
- <description>
- Specify the port number used by Hadoop mount daemon.
+ By default, the export can be mounted by any client. The value string
+ contains machine name and access privilege, separated by whitespace
+ characters. The machine name format can be a single host, a Java regular
+ expression, or an IPv4 address. The access privilege uses rw or ro to
+ specify read/write or read-only access of the machines to exports. If the
+ access privilege is not provided, the default is read-only. Entries are
separated by ";".
+ For example: "192.168.0.0/22 rw ; host.*\.example\.com ; host1.test.org
ro;".
+ Only the NFS gateway needs to restart after this property is updated.
</description>
</property>
Propchange:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-common/src/test/core/
------------------------------------------------------------------------------
Merged
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/core:r1598431-1598783
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSCacheKeyProvider.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSCacheKeyProvider.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSCacheKeyProvider.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSCacheKeyProvider.java
Sat May 31 00:01:20 2014
@@ -135,14 +135,11 @@ public class KMSCacheKeyProvider extends
@Override
public void deleteKey(String name) throws IOException {
- Metadata metadata = provider.getMetadata(name);
- List<String> versions = new ArrayList<String>(metadata.getVersions());
- for (int i = 0; i < metadata.getVersions(); i++) {
- versions.add(KeyProvider.buildVersionName(name, i));
- }
provider.deleteKey(name);
currentKeyCache.invalidate(name);
- keyVersionCache.invalidateAll(versions);
+ // invalidating all key versions as we don't know which ones belonged to
the
+ // deleted key
+ keyVersionCache.invalidateAll();
}
@Override
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
Sat May 31 00:01:20 2014
@@ -577,7 +577,9 @@ public class TestKMS {
Assert.fail(ex.toString());
}
try {
- kp.getKeyVersion(KMSClientProvider.buildVersionName("k", 0));
+ // we are using JavaKeyStoreProvider for testing, so we know how
+ // the keyversion is created.
+ kp.getKeyVersion("k@0");
Assert.fail();
} catch (AuthorizationException ex) {
//NOP
@@ -717,6 +719,9 @@ public class TestKMS {
}
});
+ //stop the reloader, to avoid running while we are writing the new file
+ KMSWebApp.getACLs().stopReloader();
+
// test ACL reloading
Thread.sleep(10); // to ensure the ACLs file modifiedTime is newer
conf.set(KMSACLs.Type.CREATE.getConfigKey(), "foo");
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/NfsExports.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/NfsExports.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/NfsExports.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/NfsExports.java
Sat May 31 00:01:20 2014
@@ -27,6 +27,7 @@ import org.apache.commons.logging.LogFac
import org.apache.commons.net.util.SubnetUtils;
import org.apache.commons.net.util.SubnetUtils.SubnetInfo;
import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.CommonConfigurationKeys;
import org.apache.hadoop.nfs.nfs3.Nfs3Constant;
import org.apache.hadoop.util.LightWeightCache;
import org.apache.hadoop.util.LightWeightGSet;
@@ -44,13 +45,14 @@ public class NfsExports {
public static synchronized NfsExports getInstance(Configuration conf) {
if (exports == null) {
- String matchHosts = conf.get(Nfs3Constant.EXPORTS_ALLOWED_HOSTS_KEY,
- Nfs3Constant.EXPORTS_ALLOWED_HOSTS_KEY_DEFAULT);
- int cacheSize = conf.getInt(Nfs3Constant.EXPORTS_CACHE_SIZE_KEY,
- Nfs3Constant.EXPORTS_CACHE_SIZE_DEFAULT);
+ String matchHosts = conf.get(
+ CommonConfigurationKeys.NFS_EXPORTS_ALLOWED_HOSTS_KEY,
+ CommonConfigurationKeys.NFS_EXPORTS_ALLOWED_HOSTS_KEY_DEFAULT);
+ int cacheSize = conf.getInt(Nfs3Constant.NFS_EXPORTS_CACHE_SIZE_KEY,
+ Nfs3Constant.NFS_EXPORTS_CACHE_SIZE_DEFAULT);
long expirationPeriodNano = conf.getLong(
- Nfs3Constant.EXPORTS_CACHE_EXPIRYTIME_MILLIS_KEY,
- Nfs3Constant.EXPORTS_CACHE_EXPIRYTIME_MILLIS_DEFAULT) * 1000 * 1000;
+ Nfs3Constant.NFS_EXPORTS_CACHE_EXPIRYTIME_MILLIS_KEY,
+ Nfs3Constant.NFS_EXPORTS_CACHE_EXPIRYTIME_MILLIS_DEFAULT) * 1000 *
1000;
exports = new NfsExports(cacheSize, expirationPeriodNano, matchHosts);
}
return exports;
@@ -140,7 +142,7 @@ public class NfsExports {
accessCache = new LightWeightCache<AccessCacheEntry, AccessCacheEntry>(
cacheSize, cacheSize, expirationPeriodNano, 0);
String[] matchStrings = matchHosts.split(
- Nfs3Constant.EXPORTS_ALLOWED_HOSTS_SEPARATOR);
+ CommonConfigurationKeys.NFS_EXPORTS_ALLOWED_HOSTS_SEPARATOR);
mMatches = new ArrayList<Match>(matchStrings.length);
for(String mStr : matchStrings) {
if (LOG.isDebugEnabled()) {
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/IdUserGroup.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/IdUserGroup.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/IdUserGroup.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/IdUserGroup.java
Sat May 31 00:01:20 2014
@@ -50,9 +50,6 @@ public class IdUserGroup {
static final String MAC_GET_ALL_USERS_CMD = "dscl . -list /Users UniqueID";
static final String MAC_GET_ALL_GROUPS_CMD = "dscl . -list /Groups
PrimaryGroupID";
- // Used for finding the configured static mapping file.
- static final String NFS_STATIC_MAPPING_FILE_KEY =
"dfs.nfs.static.mapping.file";
- private static final String NFS_STATIC_MAPPING_FILE_DEFAULT = "/etc/nfs.map";
private final File staticMappingFile;
// Used for parsing the static mapping file.
@@ -61,11 +58,7 @@ public class IdUserGroup {
private static final Pattern MAPPING_LINE =
Pattern.compile("^(uid|gid)\\s+(\\d+)\\s+(\\d+)\\s*(#.*)?$");
- // Do update every 15 minutes by default
- final static long TIMEOUT_DEFAULT = 15 * 60 * 1000; // ms
- final static long TIMEOUT_MIN = 1 * 60 * 1000; // ms
final private long timeout;
- final static String NFS_USERUPDATE_MILLY = "hadoop.nfs.userupdate.milly";
// Maps for id to name map. Guarded by this object monitor lock
private BiMap<Integer, String> uidNameMap = HashBiMap.create();
@@ -73,25 +66,21 @@ public class IdUserGroup {
private long lastUpdateTime = 0; // Last time maps were updated
- public IdUserGroup() throws IOException {
- timeout = TIMEOUT_DEFAULT;
- staticMappingFile = new File(NFS_STATIC_MAPPING_FILE_DEFAULT);
- updateMaps();
- }
-
public IdUserGroup(Configuration conf) throws IOException {
- long updateTime = conf.getLong(NFS_USERUPDATE_MILLY, TIMEOUT_DEFAULT);
+ long updateTime = conf.getLong(
+ Nfs3Constant.NFS_USERGROUP_UPDATE_MILLIS_KEY,
+ Nfs3Constant.NFS_USERGROUP_UPDATE_MILLIS_DEFAULT);
// Minimal interval is 1 minute
- if (updateTime < TIMEOUT_MIN) {
+ if (updateTime < Nfs3Constant.NFS_USERGROUP_UPDATE_MILLIS_MIN) {
LOG.info("User configured user account update time is less"
+ " than 1 minute. Use 1 minute instead.");
- timeout = TIMEOUT_MIN;
+ timeout = Nfs3Constant.NFS_USERGROUP_UPDATE_MILLIS_MIN;
} else {
timeout = updateTime;
}
- String staticFilePath = conf.get(NFS_STATIC_MAPPING_FILE_KEY,
- NFS_STATIC_MAPPING_FILE_DEFAULT);
+ String staticFilePath = conf.get(Nfs3Constant.NFS_STATIC_MAPPING_FILE_KEY,
+ Nfs3Constant.NFS_STATIC_MAPPING_FILE_DEFAULT);
staticMappingFile = new File(staticFilePath);
updateMaps();
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java
Sat May 31 00:01:20 2014
@@ -33,7 +33,6 @@ import org.apache.hadoop.util.ShutdownHo
public abstract class Nfs3Base {
public static final Log LOG = LogFactory.getLog(Nfs3Base.class);
private final RpcProgram rpcProgram;
- private final int nfsPort;
private int nfsBoundPort; // Will set after server starts
public RpcProgram getRpcProgram() {
@@ -42,9 +41,7 @@ public abstract class Nfs3Base {
protected Nfs3Base(RpcProgram rpcProgram, Configuration conf) {
this.rpcProgram = rpcProgram;
- this.nfsPort = conf.getInt(Nfs3Constant.NFS3_SERVER_PORT,
- Nfs3Constant.NFS3_SERVER_PORT_DEFAULT);
- LOG.info("NFS server port set to: " + nfsPort);
+ LOG.info("NFS server port set to: " + rpcProgram.getPort());
}
public void start(boolean register) {
@@ -58,7 +55,7 @@ public abstract class Nfs3Base {
}
private void startTCPServer() {
- SimpleTcpServer tcpServer = new SimpleTcpServer(nfsPort,
+ SimpleTcpServer tcpServer = new SimpleTcpServer(rpcProgram.getPort(),
rpcProgram, 0);
rpcProgram.startDaemons();
tcpServer.run();
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Constant.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Constant.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Constant.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Constant.java
Sat May 31 00:01:20 2014
@@ -25,10 +25,6 @@ public class Nfs3Constant {
// The local rpcbind/portmapper port.
public final static int SUN_RPCBIND = 111;
- // The IP port number for NFS.
- public final static String NFS3_SERVER_PORT = "nfs3.server.port";
- public final static int NFS3_SERVER_PORT_DEFAULT = 2049;
-
// The RPC program number for NFS.
public final static int PROGRAM = 100003;
@@ -191,36 +187,22 @@ public class Nfs3Constant {
public final static int CREATE_GUARDED = 1;
public final static int CREATE_EXCLUSIVE = 2;
- public static final String EXPORTS_ALLOWED_HOSTS_SEPARATOR = ";";
- /** Allowed hosts for nfs exports */
- public static final String EXPORTS_ALLOWED_HOSTS_KEY =
"dfs.nfs.exports.allowed.hosts";
- public static final String EXPORTS_ALLOWED_HOSTS_KEY_DEFAULT = "* rw";
/** Size for nfs exports cache */
- public static final String EXPORTS_CACHE_SIZE_KEY =
"dfs.nfs.exports.cache.size";
- public static final int EXPORTS_CACHE_SIZE_DEFAULT = 512;
+ public static final String NFS_EXPORTS_CACHE_SIZE_KEY =
"nfs.exports.cache.size";
+ public static final int NFS_EXPORTS_CACHE_SIZE_DEFAULT = 512;
/** Expiration time for nfs exports cache entry */
- public static final String EXPORTS_CACHE_EXPIRYTIME_MILLIS_KEY =
"dfs.nfs.exports.cache.expirytime.millis";
- public static final long EXPORTS_CACHE_EXPIRYTIME_MILLIS_DEFAULT = 15 * 60 *
1000; // 15 min
+ public static final String NFS_EXPORTS_CACHE_EXPIRYTIME_MILLIS_KEY =
"nfs.exports.cache.expirytime.millis";
+ public static final long NFS_EXPORTS_CACHE_EXPIRYTIME_MILLIS_DEFAULT = 15 *
60 * 1000; // 15 min
- public static final String FILE_DUMP_DIR_KEY = "dfs.nfs3.dump.dir";
- public static final String FILE_DUMP_DIR_DEFAULT = "/tmp/.hdfs-nfs";
- public static final String ENABLE_FILE_DUMP_KEY = "dfs.nfs3.enableDump";
- public static final boolean ENABLE_FILE_DUMP_DEFAULT = true;
- public static final String MAX_READ_TRANSFER_SIZE_KEY = "dfs.nfs.rtmax";
- public static final int MAX_READ_TRANSFER_SIZE_DEFAULT = 1024 * 1024;
- public static final String MAX_WRITE_TRANSFER_SIZE_KEY = "dfs.nfs.wtmax";
- public static final int MAX_WRITE_TRANSFER_SIZE_DEFAULT = 1024 * 1024;
- public static final String MAX_READDIR_TRANSFER_SIZE_KEY = "dfs.nfs.dtmax";
- public static final int MAX_READDIR_TRANSFER_SIZE_DEFAULT = 64 * 1024;
- public static final String MAX_OPEN_FILES = "dfs.nfs3.max.open.files";
- public static final int MAX_OPEN_FILES_DEFAULT = 256;
- public static final String OUTPUT_STREAM_TIMEOUT = "dfs.nfs3.stream.timeout";
- public static final long OUTPUT_STREAM_TIMEOUT_DEFAULT = 10 * 60 * 1000; //
10 minutes
- public static final long OUTPUT_STREAM_TIMEOUT_MIN_DEFAULT = 10 * 1000; //10
seconds
+ /** Do user/group update every 15 minutes by default, minimum 1 minute */
+ public final static String NFS_USERGROUP_UPDATE_MILLIS_KEY =
"nfs.usergroup.update.millis";
+ public final static long NFS_USERGROUP_UPDATE_MILLIS_DEFAULT = 15 * 60 *
1000; // ms
+ final static long NFS_USERGROUP_UPDATE_MILLIS_MIN = 1 * 60 * 1000; // ms
public final static String UNKNOWN_USER = "nobody";
public final static String UNKNOWN_GROUP = "nobody";
- public final static String EXPORT_POINT = "dfs.nfs3.export.point";
- public final static String EXPORT_POINT_DEFAULT = "/";
+ // Used for finding the configured static mapping file.
+ public static final String NFS_STATIC_MAPPING_FILE_KEY =
"nfs.static.mapping.file";
+ public static final String NFS_STATIC_MAPPING_FILE_DEFAULT = "/etc/nfs.map";
}
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/TestNfsExports.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/TestNfsExports.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/TestNfsExports.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/TestNfsExports.java
Sat May 31 00:01:20 2014
@@ -17,11 +17,8 @@
*/
package org.apache.hadoop.nfs;
-import org.junit.Assert;
-
-import org.apache.hadoop.nfs.AccessPrivilege;
-import org.apache.hadoop.nfs.NfsExports;
import org.apache.hadoop.nfs.nfs3.Nfs3Constant;
+import org.junit.Assert;
import org.junit.Test;
public class TestNfsExports {
@@ -32,9 +29,9 @@ public class TestNfsExports {
private final String hostname2 = "a.b.org";
private static final long ExpirationPeriod =
- Nfs3Constant.EXPORTS_CACHE_EXPIRYTIME_MILLIS_DEFAULT * 1000 * 1000;
+ Nfs3Constant.NFS_EXPORTS_CACHE_EXPIRYTIME_MILLIS_DEFAULT * 1000 * 1000;
- private static final int CacheSize = Nfs3Constant.EXPORTS_CACHE_SIZE_DEFAULT;
+ private static final int CacheSize =
Nfs3Constant.NFS_EXPORTS_CACHE_SIZE_DEFAULT;
private static final long NanosPerMillis = 1000000;
@Test
Modified:
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/nfs3/TestIdUserGroup.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/nfs3/TestIdUserGroup.java?rev=1598785&r1=1598784&r2=1598785&view=diff
==============================================================================
---
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/nfs3/TestIdUserGroup.java
(original)
+++
hadoop/common/branches/fs-encryption/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/nfs3/TestIdUserGroup.java
Sat May 31 00:01:20 2014
@@ -199,17 +199,19 @@ public class TestIdUserGroup {
@Test
public void testUserUpdateSetting() throws IOException {
- IdUserGroup iug = new IdUserGroup();
- assertEquals(iug.getTimeout(), IdUserGroup.TIMEOUT_DEFAULT);
+ IdUserGroup iug = new IdUserGroup(new Configuration());
+ assertEquals(iug.getTimeout(),
+ Nfs3Constant.NFS_USERGROUP_UPDATE_MILLIS_DEFAULT);
Configuration conf = new Configuration();
- conf.setLong(IdUserGroup.NFS_USERUPDATE_MILLY, 0);
+ conf.setLong(Nfs3Constant.NFS_USERGROUP_UPDATE_MILLIS_KEY, 0);
iug = new IdUserGroup(conf);
- assertEquals(iug.getTimeout(), IdUserGroup.TIMEOUT_MIN);
+ assertEquals(iug.getTimeout(),
Nfs3Constant.NFS_USERGROUP_UPDATE_MILLIS_MIN);
- conf.setLong(IdUserGroup.NFS_USERUPDATE_MILLY,
- IdUserGroup.TIMEOUT_DEFAULT * 2);
+ conf.setLong(Nfs3Constant.NFS_USERGROUP_UPDATE_MILLIS_KEY,
+ Nfs3Constant.NFS_USERGROUP_UPDATE_MILLIS_DEFAULT * 2);
iug = new IdUserGroup(conf);
- assertEquals(iug.getTimeout(), IdUserGroup.TIMEOUT_DEFAULT * 2);
+ assertEquals(iug.getTimeout(),
+ Nfs3Constant.NFS_USERGROUP_UPDATE_MILLIS_DEFAULT * 2);
}
}