mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge remote-tracking branch 'origin/4.15'
This commit is contained in:
commit
5d6f7461b5
@ -231,9 +231,8 @@ public class RedfishClient {
|
||||
for (int attempt = 1; attempt < redfishRequestMaxRetries + 1; attempt++) {
|
||||
try {
|
||||
TimeUnit.SECONDS.sleep(WAIT_FOR_REQUEST_RETRY);
|
||||
LOGGER.debug(String.format("HTTP %s request retry attempt %d/%d [URL: %s].", httpReq.getMethod(), url, attempt, redfishRequestMaxRetries));
|
||||
LOGGER.debug(String.format("Retry HTTP %s request [URL: %s], attempt %d/%d.", httpReq.getMethod(), url, attempt, redfishRequestMaxRetries));
|
||||
response = client.execute(httpReq);
|
||||
break;
|
||||
} catch (IOException | InterruptedException e) {
|
||||
if (attempt == redfishRequestMaxRetries) {
|
||||
throw new RedfishException(String.format("Failed to execute HTTP %s request retry attempt %d/%d [URL: %s] due to exception %s", httpReq.getMethod(), attempt, redfishRequestMaxRetries,url, e));
|
||||
|
||||
@ -207,26 +207,4 @@ public class RedfishClientTest {
|
||||
Mockito.verify(newRedfishClientspy, Mockito.times(1)).retryHttpRequest(Mockito.anyString(), Mockito.any(), Mockito.any());
|
||||
Mockito.verify(client, Mockito.times(3)).execute(Mockito.any());
|
||||
}
|
||||
|
||||
@Test(expected = RedfishException.class)
|
||||
public void retryHttpRequestExceptionAfterTwoRetries() throws IOException {
|
||||
Mockito.when(client.execute(httpReq)).thenThrow(IOException.class).thenThrow(IOException.class);
|
||||
|
||||
RedfishClient newRedfishClientspy = Mockito.spy(new RedfishClient(USERNAME, PASSWORD, true, true, REDFISHT_REQUEST_RETRIES));
|
||||
newRedfishClientspy.retryHttpRequest(url, httpReq, client);
|
||||
|
||||
Mockito.verify(newRedfishClientspy, Mockito.never()).retryHttpRequest(Mockito.anyString(), Mockito.any(), Mockito.any());
|
||||
Mockito.verify(client, Mockito.never()).execute(Mockito.any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void retryHttpRequestSuccessAtTheSecondRetry() throws IOException {
|
||||
Mockito.when(client.execute(httpReq)).thenThrow(IOException.class).thenReturn(httpResponse);
|
||||
|
||||
RedfishClient newRedfishClientspy = Mockito.spy(new RedfishClient(USERNAME, PASSWORD, true, true, REDFISHT_REQUEST_RETRIES));
|
||||
newRedfishClientspy.retryHttpRequest(url, httpReq, client);
|
||||
|
||||
Mockito.verify(newRedfishClientspy, Mockito.times(1)).retryHttpRequest(Mockito.anyString(), Mockito.any(), Mockito.any());
|
||||
Mockito.verify(client, Mockito.times(REDFISHT_REQUEST_RETRIES)).execute(Mockito.any());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user