Skip to content

Commit

Permalink
Revert "Mock healthcheck"
Browse files Browse the repository at this point in the history
This reverts commit 4666776.
  • Loading branch information
benmoriceau committed Dec 2, 2022
1 parent 4666776 commit 267094a
Show file tree
Hide file tree
Showing 9 changed files with 44 additions and 168 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -121,12 +121,12 @@ public ConfigRepository(final Database database) {
* @return true if read succeeds, even if the table is empty, and false if any error happens.
*/
public boolean healthCheck() {
// try {
// database.query(ctx -> ctx.select(WORKSPACE.ID).from(WORKSPACE).limit(1).fetch());
// } catch (final Exception e) {
// LOGGER.error("Health check error: ", e);
// return false;
// }
try {
database.query(ctx -> ctx.select(WORKSPACE.ID).from(WORKSPACE).limit(1).fetch());
} catch (final Exception e) {
LOGGER.error("Health check error: ", e);
return false;
}
return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
import jakarta.inject.Singleton;

@Controller("/api/v1/health")
@Singleton
public class HealthApiController implements HealthApi {

private final HealthCheckHandler healthCheckHandler;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
import io.airbyte.db.check.impl.JobsDatabaseAvailabilityCheck;
import io.airbyte.db.factory.DatabaseCheckFactory;
import io.airbyte.db.instance.DatabaseConstants;
import io.airbyte.persistence.job.DefaultJobPersistence;
import io.airbyte.persistence.job.JobPersistence;
import io.micronaut.context.annotation.Factory;
import io.micronaut.context.annotation.Requires;
import io.micronaut.context.annotation.Value;
Expand All @@ -35,7 +33,7 @@ public class DatabaseBeanFactory {

private static final String BASELINE_DESCRIPTION = "Baseline from file-based migration v1";
private static final Boolean BASELINE_ON_MIGRATION = true;
private static final String INSTALLED_BY = "ServerApp";
private static final String INSTALLED_BY = "WorkerApp";

@Singleton
@Requires(env = WorkerMode.CONTROL_PLANE)
Expand All @@ -44,6 +42,13 @@ public Database configDatabase(@Named("config") final DSLContext dslContext) thr
return new Database(dslContext);
}

@Singleton
@Requires(env = WorkerMode.CONTROL_PLANE)
@Named("jobsDatabase")
public Database jobsDatabase(@Named("jobs") final DSLContext dslContext) throws IOException {
return new Database(dslContext);
}

@Singleton
@Requires(env = WorkerMode.CONTROL_PLANE)
@Named("configFlyway")
Expand All @@ -64,7 +69,7 @@ public Flyway configFlyway(@Named("config") final FlywayConfigurationProperties
@Requires(env = WorkerMode.CONTROL_PLANE)
@Named("jobsFlyway")
public Flyway jobsFlyway(@Named("jobs") final FlywayConfigurationProperties jobsFlywayConfigurationProperties,
@Named("config") final DataSource jobsDataSource,
@Named("jobs") final DataSource jobsDataSource,
@Value("${airbyte.flyway.jobs.minimum-migration-version}") final String baselineVersion) {
return jobsFlywayConfigurationProperties.getFluentConfiguration()
.dataSource(jobsDataSource)
Expand All @@ -82,12 +87,6 @@ public ConfigRepository configRepository(@Named("configDatabase") final Database
return new ConfigRepository(configDatabase);
}

@Singleton
@Requires(env = WorkerMode.CONTROL_PLANE)
public JobPersistence jobPersistence(@Named("configDatabase") final Database jobDatabase) {
return new DefaultJobPersistence(jobDatabase);
}

@Singleton
@Requires(env = WorkerMode.CONTROL_PLANE)
@Named("configsDatabaseMigrationCheck")
Expand All @@ -104,7 +103,7 @@ public DatabaseMigrationCheck configsDatabaseMigrationCheck(@Named("config") fin
@Singleton
@Requires(env = WorkerMode.CONTROL_PLANE)
@Named("jobsDatabaseMigrationCheck")
public DatabaseMigrationCheck jobsDatabaseMigrationCheck(@Named("config") final DSLContext dslContext,
public DatabaseMigrationCheck jobsDatabaseMigrationCheck(@Named("jobs") final DSLContext dslContext,
@Named("jobsFlyway") final Flyway jobsFlyway,
@Value("${airbyte.flyway.jobs.minimum-migration-version}") final String jobsDatabaseMinimumFlywayMigrationVersion,
@Value("${airbyte.flyway.jobs.initialization-timeout-ms}") final Long jobsDatabaseInitializationTimeoutMs) {
Expand All @@ -116,7 +115,7 @@ public DatabaseMigrationCheck jobsDatabaseMigrationCheck(@Named("config") final
@Singleton
@Requires(env = WorkerMode.CONTROL_PLANE)
@Named("jobsDatabaseAvailabilityCheck")
public JobsDatabaseAvailabilityCheck jobsDatabaseAvailabilityCheck(@Named("config") final DSLContext dslContext) {
public JobsDatabaseAvailabilityCheck jobsDatabaseAvailabilityCheck(@Named("jobs") final DSLContext dslContext) {
return new JobsDatabaseAvailabilityCheck(dslContext, DatabaseConstants.DEFAULT_ASSERT_DATABASE_TIMEOUT_MS);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,14 @@
import io.airbyte.server.handlers.HealthCheckHandler;
import io.micronaut.context.annotation.Factory;
import io.micronaut.context.annotation.Requires;
import jakarta.inject.Named;
import jakarta.inject.Singleton;

@Factory
public class HandlerFactory {

@Singleton
@Requires(env = WorkerMode.CONTROL_PLANE)
public HealthCheckHandler healthCheckHandler(@Named("configRepository") final ConfigRepository configRepository) {
public HealthCheckHandler healthCheckHandler(final ConfigRepository configRepository) {
return new HealthCheckHandler(configRepository);
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import io.airbyte.config.persistence.split_secrets.SecretsHydrator;
import io.airbyte.db.Database;
import io.airbyte.db.check.DatabaseCheckException;
import io.airbyte.persistence.job.DefaultJobPersistence;
import io.airbyte.persistence.job.JobPersistence;
import io.airbyte.persistence.job.WebUrlHelper;
import io.airbyte.persistence.job.WorkspaceHelper;
Expand Down Expand Up @@ -145,13 +146,9 @@ public ServerRunnable serverRunnable(
final Configs configs,
@Named("config") final DSLContext configsDslContext,
@Named("configFlyway") final Flyway configsFlyway,
@Named("jobs") final DSLContext jobsDslContext,
@Named("jobsFlyway") final Flyway jobsFlyway,
@Named("configRepository") final ConfigRepository configRepository,
final SecretsHydrator secretsHydrator,
@Named("longLivedSecretPersistence") final SecretPersistence longLivedSecretPersistence,
@Named("ephemeralSecretPersistence") final SecretPersistence ephemeralSecretPersistence,
@Named("configDatabase") final Database configsDatabase,
final JobPersistence jobPersistence,
final ConfigRepository configRepository,
final HealthApiController healthApiController)
throws DatabaseCheckException, IOException {
final Set<Class<?>> componentClasses = Set.of(
Expand Down Expand Up @@ -204,17 +201,18 @@ public ServerRunnable serverRunnable(
configs.getLogConfigs(),
LogClientSingleton.getInstance().getServerLogsRoot(configs.getWorkspaceRoot()));

ServerApp.assertDatabasesReady(configs, configsDslContext, configsFlyway, configsDslContext, jobsFlyway);
ServerApp.assertDatabasesReady(configs, configsDslContext, configsFlyway, jobsDslContext, jobsFlyway);

/*
* final SecretsHydrator secretsHydrator = SecretPersistence.getSecretsHydrator(configsDslContext,
* configs); final Optional<SecretPersistence> secretPersistence =
* SecretPersistence.getLongLived(configsDslContext, configs); final Optional<SecretPersistence>
* ephemeralSecretPersistence = SecretPersistence.getEphemeral(configsDslContext, configs);
*/
final Database configsDatabase = new Database(configsDslContext);
final SecretsHydrator secretsHydrator = SecretPersistence.getSecretsHydrator(configsDslContext, configs);
final Optional<SecretPersistence> secretPersistence = SecretPersistence.getLongLived(configsDslContext, configs);
final Optional<SecretPersistence> ephemeralSecretPersistence = SecretPersistence.getEphemeral(configsDslContext, configs);
final SecretsRepositoryReader secretsRepositoryReader = new SecretsRepositoryReader(configRepository, secretsHydrator);
final SecretsRepositoryWriter secretsRepositoryWriter =
new SecretsRepositoryWriter(configRepository, Optional.of(longLivedSecretPersistence), Optional.of(ephemeralSecretPersistence));
new SecretsRepositoryWriter(configRepository, secretPersistence, ephemeralSecretPersistence);

final Database jobsDatabase = new Database(jobsDslContext);
final JobPersistence jobPersistence = new DefaultJobPersistence(jobsDatabase);

TrackingClientSingleton.initialize(
configs.getTrackingStrategy(),
Expand Down Expand Up @@ -304,7 +302,7 @@ public ServerRunnable serverRunnable(
connectionsHandler,
featureFlags);

final DbMigrationHandler dbMigrationHandler = new DbMigrationHandler(configsDatabase, configsFlyway, configsDatabase, jobsFlyway);
final DbMigrationHandler dbMigrationHandler = new DbMigrationHandler(configsDatabase, configsFlyway, jobsDatabase, jobsFlyway);

final DestinationDefinitionsHandler destinationDefinitionsHandler = new DestinationDefinitionsHandler(configRepository, syncSchedulerClient,
destinationHandler);
Expand Down
15 changes: 12 additions & 3 deletions airbyte-server/src/main/resources/application-control-plane.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,19 @@ datasources:
config:
connection-test-query: SELECT 1
connection-timeout: 30000
idle-timeout: 600000
maximum-pool-size: 10
minimum-pool-size: 0
minimum-idle: 1
maximum-idle: 1000
minimum-idle: 0
url: ${DATABASE_URL}
driverClassName: org.postgresql.Driver
username: ${DATABASE_USER}
password: ${DATABASE_PASSWORD}
jobs:
connection-test-query: SELECT 1
connection-timeout: 30000
idle-timeout: 600000
maximum-pool-size: 10
minimum-idle: 0
url: ${DATABASE_URL}
driverClassName: org.postgresql.Driver
username: ${DATABASE_USER}
Expand Down
10 changes: 0 additions & 10 deletions airbyte-server/src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,3 @@ airbyte:
initialization-timeout-ms: ${JOBS_DATABASE_INITIALIZATION_TIMEOUT_MS:60000}
minimum-migration-version: ${JOBS_DATABASE_MINIMUM_FLYWAY_MIGRATION_VERSION}
version: ${AIRBYTE_VERSION}
secret:
persistence: ${SECRET_PERSISTENCE:TESTING_CONFIG_DB_TABLE}
store:
gcp:
credentials: ${SECRET_STORE_GCP_CREDENTIALS:}
project-id: ${SECRET_STORE_GCP_PROJECT_ID:}
vault:
address: ${VAULT_ADDRESS:}
prefix: ${VAULT_PREFIX:}
token: ${VAULT_AUTH_TOKEN:}
2 changes: 1 addition & 1 deletion docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ services:
- AUTO_DETECT_SCHEMA=${AUTO_DETECT_SCHEMA}
ports:
- 8001
- 8080:8080
- 8080
volumes:
- workspace:${WORKSPACE_ROOT}
- data:${CONFIG_ROOT}
Expand Down

0 comments on commit 267094a

Please sign in to comment.