Skip to content

Commit 78a35ce

Browse files
committed
fix: use environment variables to tune async init - and not system properties (#450)
1 parent b192b2d commit 78a35ce

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/AsyncInitializationWrapper.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
public class AsyncInitializationWrapper extends InitializationWrapper {
4141
private static final int DEFAULT_INIT_GRACE_TIME_MS = 150;
4242
private static final String INIT_GRACE_TIME_ENVIRONMENT_VARIABLE_NAME = "AWS_SERVERLESS_JAVA_CONTAINER_INIT_GRACE_TIME";
43-
private static final int INIT_GRACE_TIME_MS = Integer.parseInt(System.getProperty(
43+
private static final int INIT_GRACE_TIME_MS = Integer.parseInt(System.getenv().getOrDefault(
4444
INIT_GRACE_TIME_ENVIRONMENT_VARIABLE_NAME, Integer.toString(DEFAULT_INIT_GRACE_TIME_MS)));
4545
private static final int LAMBDA_MAX_INIT_TIME_MS = 10_000;
4646

@@ -75,7 +75,8 @@ public void start(LambdaContainerHandler handler) throws ContainerInitialization
7575
long curTime = Instant.now().toEpochMilli();
7676
// account for the time it took to call the various constructors with the actual start time + a grace time
7777
long awaitTime = (actualStartTime + LAMBDA_MAX_INIT_TIME_MS) - curTime - INIT_GRACE_TIME_MS;
78-
log.info("Async initialization will wait for " + awaitTime + "ms");
78+
log.info("Async initialization will wait for {}ms (init grace time is configured to {})",
79+
awaitTime, INIT_GRACE_TIME_MS);
7980
if (!initializationLatch.await(awaitTime, TimeUnit.MILLISECONDS)) {
8081
log.info("Initialization took longer than " + LAMBDA_MAX_INIT_TIME_MS + ", setting new CountDownLatch and " +
8182
"continuing in event handler");

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/model/ContainerConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class ContainerConfig {
2828
private static final List<String> DEFAULT_FILE_PATHS = new ArrayList<String>() {{ add("/tmp"); add("/var/task"); }};
2929
private static final int DEFAULT_MAX_INIT_TIMEOUT_MS = 20_000;
3030
private static final String MAX_INIT_TIMEOUT_ENVIRONMENT_VARIABLE_NAME = "AWS_SERVERLESS_JAVA_CONTAINER_MAX_INIT_TIMEOUT";
31-
private static final int MAX_INIT_TIMEOUT_MS = Integer.parseInt(System.getProperty(
31+
private static final int MAX_INIT_TIMEOUT_MS = Integer.parseInt(System.getenv().getOrDefault(
3232
MAX_INIT_TIMEOUT_ENVIRONMENT_VARIABLE_NAME, Integer.toString(DEFAULT_MAX_INIT_TIMEOUT_MS)));
3333

3434
public static ContainerConfig defaultConfig() {

0 commit comments

Comments
 (0)