Skip to content

Commit b26bdf7

Browse files
authored
Add database object to ConfigRepository (#10473)
1 parent 76e969f commit b26bdf7

File tree

7 files changed

+18
-7
lines changed

7 files changed

+18
-7
lines changed

airbyte-bootloader/src/main/java/io/airbyte/bootloader/BootloaderApp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public void load() throws Exception {
114114

115115
final ConfigPersistence configPersistence = DatabaseConfigPersistence.createWithValidation(configDatabase);
116116
final ConfigRepository configRepository =
117-
new ConfigRepository(configPersistence, null, Optional.empty(), Optional.empty());
117+
new ConfigRepository(configPersistence, null, Optional.empty(), Optional.empty(), configDatabase);
118118

119119
createWorkspaceIfNoneExists(configRepository);
120120
LOGGER.info("Default workspace created..");

airbyte-config/persistence/src/main/java/io/airbyte/config/persistence/ConfigRepository.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
import io.airbyte.config.persistence.split_secrets.SecretsHelpers;
3131
import io.airbyte.config.persistence.split_secrets.SecretsHydrator;
3232
import io.airbyte.config.persistence.split_secrets.SplitSecretConfig;
33+
import io.airbyte.db.Database;
34+
import io.airbyte.db.ExceptionWrappingDatabase;
3335
import io.airbyte.protocol.models.AirbyteCatalog;
3436
import io.airbyte.protocol.models.ConnectorSpecification;
3537
import io.airbyte.validation.json.JsonSchemaValidator;
@@ -61,15 +63,18 @@ public class ConfigRepository {
6163
private final SecretsHydrator secretsHydrator;
6264
private final Optional<SecretPersistence> longLivedSecretPersistence;
6365
private final Optional<SecretPersistence> ephemeralSecretPersistence;
66+
private final ExceptionWrappingDatabase database;
6467

6568
public ConfigRepository(final ConfigPersistence persistence,
6669
final SecretsHydrator secretsHydrator,
6770
final Optional<SecretPersistence> longLivedSecretPersistence,
68-
final Optional<SecretPersistence> ephemeralSecretPersistence) {
71+
final Optional<SecretPersistence> ephemeralSecretPersistence,
72+
final Database database) {
6973
this.persistence = persistence;
7074
this.secretsHydrator = secretsHydrator;
7175
this.longLivedSecretPersistence = longLivedSecretPersistence;
7276
this.ephemeralSecretPersistence = ephemeralSecretPersistence;
77+
this.database = new ExceptionWrappingDatabase(database);
7378
}
7479

7580
public StandardWorkspace getStandardWorkspace(final UUID workspaceId, final boolean includeTombstone)

airbyte-config/persistence/src/test/java/io/airbyte/config/persistence/ConfigRepositoryTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import io.airbyte.config.State;
2828
import io.airbyte.config.persistence.split_secrets.MemorySecretPersistence;
2929
import io.airbyte.config.persistence.split_secrets.NoOpSecretsHydrator;
30+
import io.airbyte.db.Database;
3031
import io.airbyte.validation.json.JsonValidationException;
3132
import java.io.IOException;
3233
import java.util.ArrayList;
@@ -47,13 +48,16 @@ class ConfigRepositoryTest {
4748

4849
private ConfigPersistence configPersistence;
4950
private ConfigRepository configRepository;
51+
private Database database;
5052

5153
@BeforeEach
5254
void setup() {
5355
configPersistence = mock(ConfigPersistence.class);
56+
database = mock(Database.class);
5457
final var secretPersistence = new MemorySecretPersistence();
5558
configRepository =
56-
spy(new ConfigRepository(configPersistence, new NoOpSecretsHydrator(), Optional.of(secretPersistence), Optional.of(secretPersistence)));
59+
spy(new ConfigRepository(configPersistence, new NoOpSecretsHydrator(), Optional.of(secretPersistence), Optional.of(secretPersistence),
60+
database));
5761
}
5862

5963
@AfterEach

airbyte-scheduler/app/src/main/java/io/airbyte/scheduler/app/SchedulerApp.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,8 @@ public static void main(final String[] args) throws IOException, InterruptedExce
248248
final Optional<SecretPersistence> secretPersistence = SecretPersistence.getLongLived(configs);
249249
final Optional<SecretPersistence> ephemeralSecretPersistence = SecretPersistence.getEphemeral(configs);
250250
final SecretsHydrator secretsHydrator = SecretPersistence.getSecretsHydrator(configs);
251-
final ConfigRepository configRepository = new ConfigRepository(configPersistence, secretsHydrator, secretPersistence, ephemeralSecretPersistence);
251+
final ConfigRepository configRepository =
252+
new ConfigRepository(configPersistence, secretsHydrator, secretPersistence, ephemeralSecretPersistence, configDatabase);
252253

253254
final JobPersistence jobPersistence = new DefaultJobPersistence(jobDatabase);
254255
final JobCleaner jobCleaner = new JobCleaner(

airbyte-server/src/main/java/io/airbyte/server/ServerApp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ public static ServerRunnable getServer(final ServerFactory apiFactory, final Con
165165
final Optional<SecretPersistence> secretPersistence = SecretPersistence.getLongLived(configs);
166166
final Optional<SecretPersistence> ephemeralSecretPersistence = SecretPersistence.getEphemeral(configs);
167167
final ConfigRepository configRepository =
168-
new ConfigRepository(configPersistence, secretsHydrator, secretPersistence, ephemeralSecretPersistence);
168+
new ConfigRepository(configPersistence, secretsHydrator, secretPersistence, ephemeralSecretPersistence, configDatabase);
169169

170170
LOGGER.info("Creating jobs persistence...");
171171
final Database jobDatabase = jobsDatabaseInstance.getInitialized();

airbyte-server/src/test/java/io/airbyte/server/handlers/ArchiveHandlerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public void setup() throws Exception {
114114
configPersistence = new DatabaseConfigPersistence(jobDatabase);
115115
configPersistence.replaceAllConfigs(Collections.emptyMap(), false);
116116
configPersistence.loadData(seedPersistence);
117-
configRepository = new ConfigRepository(configPersistence, new NoOpSecretsHydrator(), Optional.empty(), Optional.empty());
117+
configRepository = new ConfigRepository(configPersistence, new NoOpSecretsHydrator(), Optional.empty(), Optional.empty(), configDatabase);
118118

119119
jobPersistence.setVersion(VERSION.serialize());
120120

airbyte-workers/src/main/java/io/airbyte/workers/WorkerApp.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,8 @@ private static void launchWorkerApp() throws IOException {
342342
final ConfigPersistence configPersistence = DatabaseConfigPersistence.createWithValidation(configDatabase);
343343
final Optional<SecretPersistence> secretPersistence = SecretPersistence.getLongLived(configs);
344344
final Optional<SecretPersistence> ephemeralSecretPersistence = SecretPersistence.getEphemeral(configs);
345-
final ConfigRepository configRepository = new ConfigRepository(configPersistence, secretsHydrator, secretPersistence, ephemeralSecretPersistence);
345+
final ConfigRepository configRepository =
346+
new ConfigRepository(configPersistence, secretsHydrator, secretPersistence, ephemeralSecretPersistence, configDatabase);
346347

347348
final Database jobDatabase = new JobsDatabaseInstance(
348349
configs.getDatabaseUser(),

0 commit comments

Comments
 (0)