HADOOP-11521. Make connection timeout configurable in s3a. (Thomas Demoor via stevel)

This commit is contained in:
Steve Loughran 2015-02-17 20:00:00 +00:00
parent 6be5670949
commit 00b80958d8
5 changed files with 21 additions and 0 deletions

View File

@ -615,6 +615,9 @@ Release 2.7.0 - UNRELEASED
HADOOP-11522. Update S3A Documentation. (Thomas Demoor via stevel)
HADOOP-11521. Make connection timeout configurable in s3a.
(Thomas Demoor via stevel)
OPTIMIZATIONS
HADOOP-11323. WritableComparator#compare keeps reference to byte array.

View File

@ -757,6 +757,12 @@ for ldap providers in the same way as above does.
<description>How many times we should retry commands on transient errors.</description>
</property>
<property>
<name>fs.s3a.connection.establish.timeout</name>
<value>5000</value>
<description>Socket connection setup timeout in seconds.</description>
</property>
<property>
<name>fs.s3a.connection.timeout</name>
<value>50000</value>

View File

@ -43,6 +43,10 @@ public class Constants {
public static final String MAX_ERROR_RETRIES = "fs.s3a.attempts.maximum";
public static final int DEFAULT_MAX_ERROR_RETRIES = 10;
// seconds until we give up trying to establish a connection to s3
public static final String ESTABLISH_TIMEOUT = "fs.s3a.connection.establish.timeout";
public static final int DEFAULT_ESTABLISH_TIMEOUT = 50000;
// seconds until we give up on a connection to s3
public static final String SOCKET_TIMEOUT = "fs.s3a.connection.timeout";
public static final int DEFAULT_SOCKET_TIMEOUT = 50000;

View File

@ -174,6 +174,8 @@ public void initialize(URI name, Configuration conf) throws IOException {
awsConf.setProtocol(secureConnections ? Protocol.HTTPS : Protocol.HTTP);
awsConf.setMaxErrorRetry(conf.getInt(MAX_ERROR_RETRIES,
DEFAULT_MAX_ERROR_RETRIES));
awsConf.setConnectionTimeout(conf.getInt(ESTABLISH_TIMEOUT,
DEFAULT_ESTABLISH_TIMEOUT));
awsConf.setSocketTimeout(conf.getInt(SOCKET_TIMEOUT,
DEFAULT_SOCKET_TIMEOUT));

View File

@ -210,6 +210,12 @@ If you do any of these: change your credentials immediately!
<description>How many times we should retry commands on transient errors.</description>
</property>
<property>
<name>fs.s3a.connection.establish.timeout</name>
<value>5000</value>
<description>Socket connection setup timeout in seconds.</description>
</property>
<property>
<name>fs.s3a.connection.timeout</name>
<value>50000</value>