fix: increases another timeout to accomodate for the transaction timeout (#26566)
closes: #26529 Signed-off-by: Steve Hawkins <shawkins@redhat.com>
This commit is contained in:
parent
7e021730c7
commit
00ea73d6ba
2 changed files with 9 additions and 6 deletions
|
@ -77,8 +77,8 @@ public class FipsDistTest {
|
||||||
runOnFipsEnabledDistribution(dist, () -> {
|
runOnFipsEnabledDistribution(dist, () -> {
|
||||||
dist.copyOrReplaceFileFromClasspath("/server.keystore", Path.of("conf", "server.keystore"));
|
dist.copyOrReplaceFileFromClasspath("/server.keystore", Path.of("conf", "server.keystore"));
|
||||||
CLIResult cliResult = dist.run("start", "--fips-mode=strict");
|
CLIResult cliResult = dist.run("start", "--fips-mode=strict");
|
||||||
cliResult.assertMessage("ERROR: java.lang.IllegalArgumentException: malformed sequence");
|
|
||||||
dist.assertStopped();
|
dist.assertStopped();
|
||||||
|
cliResult.assertMessage("ERROR: java.lang.IllegalArgumentException: malformed sequence");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,8 +125,8 @@ public class FipsDistTest {
|
||||||
runOnFipsEnabledDistribution(dist, () -> {
|
runOnFipsEnabledDistribution(dist, () -> {
|
||||||
dist.copyOrReplaceFileFromClasspath("/server.keystore.pkcs12", Path.of("conf", "server.keystore"));
|
dist.copyOrReplaceFileFromClasspath("/server.keystore.pkcs12", Path.of("conf", "server.keystore"));
|
||||||
CLIResult cliResult = dist.run("start", "--fips-mode=strict", "--https-key-store-password=passwordpassword");
|
CLIResult cliResult = dist.run("start", "--fips-mode=strict", "--https-key-store-password=passwordpassword");
|
||||||
cliResult.assertMessage("ERROR: java.lang.IllegalArgumentException: malformed sequence");
|
|
||||||
dist.assertStopped();
|
dist.assertStopped();
|
||||||
|
cliResult.assertMessage("ERROR: java.lang.IllegalArgumentException: malformed sequence");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,6 +79,10 @@ import static org.keycloak.quarkus.runtime.Environment.isWindows;
|
||||||
|
|
||||||
public final class RawKeycloakDistribution implements KeycloakDistribution {
|
public final class RawKeycloakDistribution implements KeycloakDistribution {
|
||||||
|
|
||||||
|
// TODO: reconsider the hardcoded timeout once https://issues.redhat.com/browse/JBTM-3830 is pulled into Keycloak
|
||||||
|
// ensures that the total wait time (two minutes for readiness + 200 seconds) is longer than the transaction timeout of 5 minutes
|
||||||
|
private static final int LONG_SHUTDOWN_WAIT = 200;
|
||||||
|
|
||||||
private static final int DEFAULT_SHUTDOWN_TIMEOUT_SECONDS = 10;
|
private static final int DEFAULT_SHUTDOWN_TIMEOUT_SECONDS = 10;
|
||||||
|
|
||||||
private static final Logger LOG = Logger.getLogger(RawKeycloakDistribution.class);
|
private static final Logger LOG = Logger.getLogger(RawKeycloakDistribution.class);
|
||||||
|
@ -162,8 +166,7 @@ public final class RawKeycloakDistribution implements KeycloakDistribution {
|
||||||
destroyDescendantsOnWindows(keycloak, false);
|
destroyDescendantsOnWindows(keycloak, false);
|
||||||
|
|
||||||
keycloak.destroy();
|
keycloak.destroy();
|
||||||
// TODO: reconsider the hardcoded timeout once https://issues.redhat.com/browse/JBTM-3830 is pulled into Keycloak
|
keycloak.waitFor(LONG_SHUTDOWN_WAIT, TimeUnit.SECONDS);
|
||||||
keycloak.waitFor(180, TimeUnit.SECONDS);
|
|
||||||
exitCode = keycloak.exitValue();
|
exitCode = keycloak.exitValue();
|
||||||
} catch (Exception cause) {
|
} catch (Exception cause) {
|
||||||
destroyDescendantsOnWindows(keycloak, true);
|
destroyDescendantsOnWindows(keycloak, true);
|
||||||
|
@ -263,7 +266,7 @@ public final class RawKeycloakDistribution implements KeycloakDistribution {
|
||||||
public void assertStopped() {
|
public void assertStopped() {
|
||||||
try {
|
try {
|
||||||
if (keycloak != null) {
|
if (keycloak != null) {
|
||||||
keycloak.onExit().get(1, TimeUnit.MINUTES);
|
keycloak.onExit().get(LONG_SHUTDOWN_WAIT, TimeUnit.SECONDS);
|
||||||
}
|
}
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
Thread.currentThread().interrupt();
|
Thread.currentThread().interrupt();
|
||||||
|
@ -271,7 +274,7 @@ public final class RawKeycloakDistribution implements KeycloakDistribution {
|
||||||
} catch (ExecutionException e) {
|
} catch (ExecutionException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
} catch (TimeoutException e) {
|
} catch (TimeoutException e) {
|
||||||
LOG.warn("Process did not exit within a minute as expected, will attempt a thread dump");
|
LOG.warn("Process did not exit as expected, will attempt a thread dump");
|
||||||
threadDump();
|
threadDump();
|
||||||
LOG.warn("TODO: this should be a hard error / re-diagnosed after https://issues.redhat.com/browse/JBTM-3830 is pulled into Keycloak");
|
LOG.warn("TODO: this should be a hard error / re-diagnosed after https://issues.redhat.com/browse/JBTM-3830 is pulled into Keycloak");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue