Skip to content

Commit ac44cf6

Browse files
authored
Merge pull request #629 from oracle/socket-timeout
Suppress socket read timeout for watches
2 parents d53fbf3 + 2e2c9f8 commit ac44cf6

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

operator/src/main/java/oracle/kubernetes/operator/builders/WatchBuilder.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,7 @@ private class ListNamespacedServiceCall implements BiFunction<ApiClient, CallPar
9191

9292
@Override
9393
public Call apply(ApiClient client, CallParams callParams) {
94-
// Ensure that client doesn't time out before call or watch
95-
client.getHttpClient().setReadTimeout(callParams.getTimeoutSeconds(), TimeUnit.SECONDS);
94+
setReadTimeout(client);
9695

9796
try {
9897
return new CoreV1Api(client)
@@ -136,8 +135,7 @@ private class ListPodCall implements BiFunction<ApiClient, CallParams, Call> {
136135

137136
@Override
138137
public Call apply(ApiClient client, CallParams callParams) {
139-
// Ensure that client doesn't time out before call or watch
140-
client.getHttpClient().setReadTimeout(callParams.getTimeoutSeconds(), TimeUnit.SECONDS);
138+
setReadTimeout(client);
141139

142140
try {
143141
return new CoreV1Api(client)
@@ -181,8 +179,7 @@ private class ListJobCall implements BiFunction<ApiClient, CallParams, Call> {
181179

182180
@Override
183181
public Call apply(ApiClient client, CallParams callParams) {
184-
// Ensure that client doesn't time out before call or watch
185-
client.getHttpClient().setReadTimeout(callParams.getTimeoutSeconds(), TimeUnit.SECONDS);
182+
setReadTimeout(client);
186183

187184
try {
188185
return new BatchV1Api(client)
@@ -226,8 +223,7 @@ private class ListEventCall implements BiFunction<ApiClient, CallParams, Call> {
226223

227224
@Override
228225
public Call apply(ApiClient client, CallParams callParams) {
229-
// Ensure that client doesn't time out before call or watch
230-
client.getHttpClient().setReadTimeout(callParams.getTimeoutSeconds(), TimeUnit.SECONDS);
226+
setReadTimeout(client);
231227

232228
try {
233229
return new CoreV1Api(client)
@@ -262,6 +258,11 @@ public WatchI<Domain> createDomainWatch(String namespace) throws ApiException {
262258
ClientPool.getInstance(), callParams, Domain.class, new ListDomainsCall(namespace));
263259
}
264260

261+
private static void setReadTimeout(ApiClient client) {
262+
// Ensure that client doesn't time out before call or watch
263+
client.getHttpClient().setReadTimeout(0, TimeUnit.SECONDS);
264+
}
265+
265266
private class ListDomainsCall implements BiFunction<ApiClient, CallParams, Call> {
266267
private String namespace;
267268

@@ -271,8 +272,7 @@ private class ListDomainsCall implements BiFunction<ApiClient, CallParams, Call>
271272

272273
@Override
273274
public Call apply(ApiClient client, CallParams callParams) {
274-
// Ensure that client doesn't time out before call or watch
275-
client.getHttpClient().setReadTimeout(callParams.getTimeoutSeconds(), TimeUnit.SECONDS);
275+
setReadTimeout(client);
276276

277277
try {
278278
return new WeblogicApi(client)
@@ -319,8 +319,7 @@ private class ListNamespacedConfigMapCall implements BiFunction<ApiClient, CallP
319319

320320
@Override
321321
public Call apply(ApiClient client, CallParams callParams) {
322-
// Ensure that client doesn't time out before call or watch
323-
client.getHttpClient().setReadTimeout(callParams.getTimeoutSeconds(), TimeUnit.SECONDS);
322+
setReadTimeout(client);
324323

325324
try {
326325
return new CoreV1Api(client)

operator/src/main/java/oracle/kubernetes/operator/calls/AsyncRequestStep.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public NextAction apply(Packet packet) {
110110

111111
AtomicBoolean didResume = new AtomicBoolean(false);
112112
ApiClient client = helper.take();
113+
client.getHttpClient().setReadTimeout(timeoutSeconds, TimeUnit.SECONDS);
113114
return doSuspend(
114115
(fiber) -> {
115116
ApiCallback<T> callback =

0 commit comments

Comments
 (0)