From 7903a30ec37ac6aa0241b5d213647671e81b436b Mon Sep 17 00:00:00 2001 From: Benoit Moriceau Date: Mon, 13 Jun 2022 10:17:33 -1000 Subject: [PATCH 1/4] Fail the connection state instead of throwin exception --- .../general/DefaultCheckConnectionWorker.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/airbyte-workers/src/main/java/io/airbyte/workers/general/DefaultCheckConnectionWorker.java b/airbyte-workers/src/main/java/io/airbyte/workers/general/DefaultCheckConnectionWorker.java index 3831e506b93e2..3f040d601caa0 100644 --- a/airbyte-workers/src/main/java/io/airbyte/workers/general/DefaultCheckConnectionWorker.java +++ b/airbyte-workers/src/main/java/io/airbyte/workers/general/DefaultCheckConnectionWorker.java @@ -79,11 +79,19 @@ public StandardCheckConnectionOutput run(final StandardCheckConnectionInput inpu LOGGER.debug("Check connection job received output: {}", output); return output; } else { - throw new WorkerException(String.format("Error checking connection, status: %s, exit code: %d", status, exitCode)); + String message = String.format("Error checking connection, status: %s, exit code: %d", status, exitCode); + + LOGGER.error(message); + return new StandardCheckConnectionOutput() + .withStatus(Status.FAILED) + .withMessage(message); } } catch (final Exception e) { - throw new WorkerException("Error while getting checking connection.", e); + LOGGER.error("Error while getting checking connection.", e); + return new StandardCheckConnectionOutput() + .withStatus(Status.FAILED) + .withMessage("Error while getting checking connection, because of: " + e.getMessage()); } } From 158ac15f1413258108767a3eb9fb5d9c6010ad5d Mon Sep 17 00:00:00 2001 From: Benoit Moriceau Date: Mon, 13 Jun 2022 10:25:24 -1000 Subject: [PATCH 2/4] Fix test --- .../general/DefaultCheckConnectionWorkerTest.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/airbyte-workers/src/test/java/io/airbyte/workers/general/DefaultCheckConnectionWorkerTest.java b/airbyte-workers/src/test/java/io/airbyte/workers/general/DefaultCheckConnectionWorkerTest.java index 93bc92a7752e3..8cf780aa5d360 100644 --- a/airbyte-workers/src/test/java/io/airbyte/workers/general/DefaultCheckConnectionWorkerTest.java +++ b/airbyte-workers/src/test/java/io/airbyte/workers/general/DefaultCheckConnectionWorkerTest.java @@ -101,11 +101,13 @@ public void testFailedConnection() throws WorkerException { } @Test - public void testProcessFail() { + public void testProcessFail() throws WorkerException { when(process.exitValue()).thenReturn(1); final DefaultCheckConnectionWorker worker = new DefaultCheckConnectionWorker(workerConfigs, integrationLauncher, failureStreamFactory); - assertThrows(WorkerException.class, () -> worker.run(input, jobRoot)); + final StandardCheckConnectionOutput output = worker.run(input, jobRoot); + + assertEquals(Status.FAILED, output.getStatus()); } @Test @@ -113,7 +115,9 @@ public void testExceptionThrownInRun() throws WorkerException { doThrow(new RuntimeException()).when(integrationLauncher).check(jobRoot, WorkerConstants.SOURCE_CONFIG_JSON_FILENAME, Jsons.serialize(CREDS)); final DefaultCheckConnectionWorker worker = new DefaultCheckConnectionWorker(workerConfigs, integrationLauncher, failureStreamFactory); - assertThrows(WorkerException.class, () -> worker.run(input, jobRoot)); + final StandardCheckConnectionOutput output = worker.run(input, jobRoot); + + assertEquals(Status.FAILED, output.getStatus()); } @Test From a85d162fb55f0e368bbcb5e74d09be3c6345bf4a Mon Sep 17 00:00:00 2001 From: Benoit Moriceau Date: Mon, 13 Jun 2022 10:44:03 -1000 Subject: [PATCH 3/4] rm import --- .../workers/general/DefaultCheckConnectionWorkerTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/airbyte-workers/src/test/java/io/airbyte/workers/general/DefaultCheckConnectionWorkerTest.java b/airbyte-workers/src/test/java/io/airbyte/workers/general/DefaultCheckConnectionWorkerTest.java index 8cf780aa5d360..c76ae6f730cf8 100644 --- a/airbyte-workers/src/test/java/io/airbyte/workers/general/DefaultCheckConnectionWorkerTest.java +++ b/airbyte-workers/src/test/java/io/airbyte/workers/general/DefaultCheckConnectionWorkerTest.java @@ -6,7 +6,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.RETURNS_DEEP_STUBS; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; From 633febc7cf374782082ff600096836211326fc70 Mon Sep 17 00:00:00 2001 From: Benoit Moriceau Date: Mon, 13 Jun 2022 10:47:03 -1000 Subject: [PATCH 4/4] Update airbyte-workers/src/main/java/io/airbyte/workers/general/DefaultCheckConnectionWorker.java Co-authored-by: Evan Tahler --- .../airbyte/workers/general/DefaultCheckConnectionWorker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airbyte-workers/src/main/java/io/airbyte/workers/general/DefaultCheckConnectionWorker.java b/airbyte-workers/src/main/java/io/airbyte/workers/general/DefaultCheckConnectionWorker.java index 3f040d601caa0..d3604a9f6bf47 100644 --- a/airbyte-workers/src/main/java/io/airbyte/workers/general/DefaultCheckConnectionWorker.java +++ b/airbyte-workers/src/main/java/io/airbyte/workers/general/DefaultCheckConnectionWorker.java @@ -88,7 +88,7 @@ public StandardCheckConnectionOutput run(final StandardCheckConnectionInput inpu } } catch (final Exception e) { - LOGGER.error("Error while getting checking connection.", e); + LOGGER.error("Error while checking connection: ", e); return new StandardCheckConnectionOutput() .withStatus(Status.FAILED) .withMessage("Error while getting checking connection, because of: " + e.getMessage());