aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/remote/blobstore/RestBlobStore.java
diff options
context:
space:
mode:
authorGravatar buchgr <buchgr@google.com>2017-12-05 01:29:53 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-05 01:31:59 -0800
commit581c197e2da57214f8c4915ba6ca9a78b5af537c (patch)
tree459d9b768132a5424a1c65da90afe74f4fe229d0 /src/main/java/com/google/devtools/build/lib/remote/blobstore/RestBlobStore.java
parenta0a3e2a38faad3f1bc4cdb69246bd2768dfa1620 (diff)
remote: Have --remote_rest_cache respect --remote_timeout.
RELNOTES: The --remote_rest_cache flag now respects --remote_timeout. PiperOrigin-RevId: 177926523
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/remote/blobstore/RestBlobStore.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/remote/blobstore/RestBlobStore.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/remote/blobstore/RestBlobStore.java b/src/main/java/com/google/devtools/build/lib/remote/blobstore/RestBlobStore.java
index 43b90a5eda..e6f56971b0 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/blobstore/RestBlobStore.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/blobstore/RestBlobStore.java
@@ -21,6 +21,7 @@ import java.net.URISyntaxException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
+import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpHead;
import org.apache.http.client.methods.HttpPut;
@@ -60,7 +61,7 @@ public final class RestBlobStore implements SimpleBlobStore {
* @param baseUrl base URL for the remote cache
* @param poolSize maximum number of simultaneous connections
*/
- public RestBlobStore(String baseUrl, int poolSize) throws IOException {
+ public RestBlobStore(String baseUrl, int poolSize, int timeoutMillis) throws IOException {
validateUrl(baseUrl);
this.baseUrl = baseUrl;
connMan = new PoolingHttpClientConnectionManager();
@@ -69,6 +70,12 @@ public final class RestBlobStore implements SimpleBlobStore {
clientFactory = HttpClientBuilder.create();
clientFactory.setConnectionManager(connMan);
clientFactory.setConnectionManagerShared(true);
+ clientFactory.setDefaultRequestConfig(RequestConfig.custom()
+ // Timeout to establish a connection.
+ .setConnectTimeout(timeoutMillis)
+ // Timeout between reading data.
+ .setSocketTimeout(timeoutMillis)
+ .build());
}
@Override