Skip to content

Commit

Permalink
Inject check connection resource (#10410)
Browse files Browse the repository at this point in the history
Make it possible to set resource limits specifically for Check Connection. This helps speed up the Check Connection operation for Java based connectors.

After this PR is merged, I will do an OSS release and make the required Helm changes in Cloud.
  • Loading branch information
davinchia authored Feb 18, 2022
1 parent 6bc9240 commit ef673c5
Show file tree
Hide file tree
Showing 4 changed files with 185 additions and 63 deletions.
24 changes: 24 additions & 0 deletions airbyte-config/models/src/main/java/io/airbyte/config/Configs.java
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,30 @@ public interface Configs {
Map<String, String> getJobDefaultEnvMap();

// Jobs - Kube only
/**
* Define the check job container's minimum CPU request. Defaults to
* {@link #getJobMainContainerCpuRequest()} if not set. Internal-use only.
*/
String getCheckJobMainContainerCpuRequest();

/**
* Define the check job container's maximum CPU usage. Defaults to
* {@link #getJobMainContainerCpuLimit()} if not set. Internal-use only.
*/
String getCheckJobMainContainerCpuLimit();

/**
* Define the job container's minimum RAM usage. Defaults to
* {@link #getJobMainContainerMemoryRequest()} if not set. Internal-use only.
*/
String getCheckJobMainContainerMemoryRequest();

/**
* Define the job container's maximum RAM usage. Defaults to
* {@link #getJobMainContainerMemoryLimit()} if not set. Internal-use only.
*/
String getCheckJobMainContainerMemoryLimit();

/**
* Define one or more Job pod tolerations. Tolerations are separated by ';'. Each toleration
* contains k=v pairs mentioning some/all of key, effect, operator and value and separated by `,`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,11 @@ public class EnvConfigs implements Configs {
private static final String DISCOVER_WORKER_STATUS_CHECK_INTERVAL = "DISCOVER_WORKER_STATUS_CHECK_INTERVAL";
private static final String REPLICATION_WORKER_STATUS_CHECK_INTERVAL = "REPLICATION_WORKER_STATUS_CHECK_INTERVAL";

static final String CHECK_JOB_MAIN_CONTAINER_CPU_REQUEST = "CHECK_JOB_MAIN_CONTAINER_CPU_REQUEST";
static final String CHECK_JOB_MAIN_CONTAINER_CPU_LIMIT = "CHECK_JOB_MAIN_CONTAINER_CPU_LIMIT";
static final String CHECK_JOB_MAIN_CONTAINER_MEMORY_REQUEST = "CHECK_JOB_MAIN_CONTAINER_MEMORY_REQUEST";
static final String CHECK_JOB_MAIN_CONTAINER_MEMORY_LIMIT = "CHECK_JOB_MAIN_CONTAINER_MEMORY_LIMIT";

// defaults
private static final String DEFAULT_SPEC_CACHE_BUCKET = "io-airbyte-cloud-spec-cache";
public static final String DEFAULT_JOB_KUBE_NAMESPACE = "default";
Expand Down Expand Up @@ -612,6 +617,26 @@ public Map<String, String> getJobDefaultEnvMap() {
.collect(Collectors.toMap(key -> key.replace(JOB_DEFAULT_ENV_PREFIX, ""), getEnv));
}

@Override
public String getCheckJobMainContainerCpuRequest() {
return getEnvOrDefault(CHECK_JOB_MAIN_CONTAINER_CPU_REQUEST, getJobMainContainerCpuRequest());
}

@Override
public String getCheckJobMainContainerCpuLimit() {
return getEnvOrDefault(CHECK_JOB_MAIN_CONTAINER_CPU_LIMIT, getJobMainContainerCpuLimit());
}

@Override
public String getCheckJobMainContainerMemoryRequest() {
return getEnvOrDefault(CHECK_JOB_MAIN_CONTAINER_MEMORY_REQUEST, getJobMainContainerMemoryRequest());
}

@Override
public String getCheckJobMainContainerMemoryLimit() {
return getEnvOrDefault(CHECK_JOB_MAIN_CONTAINER_MEMORY_LIMIT, getJobMainContainerMemoryLimit());
}

@Override
public LogConfigs getLogConfigs() {
return logConfigs;
Expand Down
Loading

0 comments on commit ef673c5

Please sign in to comment.