Skip to content

Commit deb47ab

Browse files
authored
[source-mongo] : Adopt CDK 0.28.0 (#36837)
1 parent 99e6668 commit deb47ab

File tree

6 files changed

+25
-8
lines changed

6 files changed

+25
-8
lines changed

airbyte-integrations/connectors/source-mongodb-v2/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ plugins {
33
}
44

55
airbyteJavaConnector {
6-
cdkVersionRequired = '0.23.8'
6+
cdkVersionRequired = '0.28.0'
77
features = ['db-sources', 'datastore-mongo']
88
useLocalCdk = false
99
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
JunitMethodExecutionTimeout=2 m

airbyte-integrations/connectors/source-mongodb-v2/metadata.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ data:
55
connectorSubtype: database
66
connectorType: source
77
definitionId: b2e713cd-cc36-4c0a-b5bd-b47cb8a0561e
8-
dockerImageTag: 1.3.0
8+
dockerImageTag: 1.3.1
99
dockerRepository: airbyte/source-mongodb-v2
1010
documentationUrl: https://docs.airbyte.com/integrations/sources/mongodb-v2
1111
githubIssueLabel: source-mongodb-v2

airbyte-integrations/connectors/source-mongodb-v2/src/test-integration/java/io/airbyte/integrations/source/mongodb/MongoDbSourceAcceptanceTest.java

+17-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import static org.junit.jupiter.api.Assertions.assertFalse;
1010
import static org.junit.jupiter.api.Assertions.assertNotNull;
1111
import static org.junit.jupiter.api.Assertions.assertNull;
12-
import static org.junit.jupiter.api.Assertions.assertThrows;
1312
import static org.junit.jupiter.api.Assertions.assertTrue;
1413
import static org.mockito.Mockito.mock;
1514
import static org.mockito.Mockito.when;
@@ -38,10 +37,12 @@
3837
import io.airbyte.protocol.models.JsonSchemaType;
3938
import io.airbyte.protocol.models.v0.AirbyteGlobalState;
4039
import io.airbyte.protocol.models.v0.AirbyteMessage;
40+
import io.airbyte.protocol.models.v0.AirbyteMessage.Type;
4141
import io.airbyte.protocol.models.v0.AirbyteRecordMessage;
4242
import io.airbyte.protocol.models.v0.AirbyteStateMessage;
4343
import io.airbyte.protocol.models.v0.AirbyteStream;
4444
import io.airbyte.protocol.models.v0.AirbyteStreamState;
45+
import io.airbyte.protocol.models.v0.AirbyteTraceMessage;
4546
import io.airbyte.protocol.models.v0.ConfiguredAirbyteCatalog;
4647
import io.airbyte.protocol.models.v0.ConfiguredAirbyteStream;
4748
import io.airbyte.protocol.models.v0.ConnectorSpecification;
@@ -511,7 +512,13 @@ void testSyncShouldHandlePurgedLogsGracefully() throws Exception {
511512
final JsonNode state = Jsons.jsonNode(List.of(stateMessage));
512513

513514
// Re-run the sync to prove that a config error is thrown due to invalid resume token
514-
assertThrows(Exception.class, () -> runRead(configuredCatalog, state));
515+
List<AirbyteMessage> messages1 = runRead(configuredCatalog, state);
516+
List<AirbyteMessage> records = messages1.stream().filter(r -> r.getType() == Type.RECORD).toList();
517+
// In this sync, there should be no records expected - only error trace messages indicating that the
518+
// offset is not valid.
519+
assertEquals(0, records.size());
520+
List<AirbyteMessage> traceMessages = messages1.stream().filter(r -> r.getType() == Type.TRACE).toList();
521+
assertOplogErrorTracePresent(traceMessages);
515522
}
516523

517524
@Test
@@ -654,4 +661,12 @@ private void validateCdcEventRecordData(final AirbyteRecordMessage airbyteRecord
654661
}
655662
}
656663

664+
private void assertOplogErrorTracePresent(List<AirbyteMessage> traceMessages) {
665+
final boolean oplogTracePresent = traceMessages
666+
.stream()
667+
.anyMatch(trace -> trace.getTrace().getType().equals(AirbyteTraceMessage.Type.ERROR)
668+
&& trace.getTrace().getError().getMessage().contains("Saved offset is not valid"));
669+
assertTrue(oplogTracePresent);
670+
}
671+
657672
}

airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumPropertiesManagerTest.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ void testDebeziumProperties() {
6767
final var debeziumPropertiesManager = new MongoDbDebeziumPropertiesManager(cdcProperties, config, catalog);
6868

6969
final Properties debeziumProperties = debeziumPropertiesManager.getDebeziumProperties(offsetManager);
70-
assertEquals(20 + cdcProperties.size(), debeziumProperties.size());
70+
assertEquals(21 + cdcProperties.size(), debeziumProperties.size());
7171
assertEquals(MongoDbDebeziumPropertiesManager.normalizeName(DATABASE_NAME), debeziumProperties.get(NAME_KEY));
7272
assertEquals(MongoDbDebeziumPropertiesManager.normalizeName(DATABASE_NAME), debeziumProperties.get(TOPIC_PREFIX_KEY));
7373
assertEquals(EXPECTED_CONNECTION_STRING, debeziumProperties.get(MONGODB_CONNECTION_STRING_KEY));
@@ -97,7 +97,7 @@ void testDebeziumPropertiesConnectionStringCredentialsPlaceholder() {
9797
final var debeziumPropertiesManager = new MongoDbDebeziumPropertiesManager(cdcProperties, config, catalog);
9898

9999
final Properties debeziumProperties = debeziumPropertiesManager.getDebeziumProperties(offsetManager);
100-
assertEquals(20 + cdcProperties.size(), debeziumProperties.size());
100+
assertEquals(21 + cdcProperties.size(), debeziumProperties.size());
101101
assertEquals(MongoDbDebeziumPropertiesManager.normalizeName(DATABASE_NAME), debeziumProperties.get(NAME_KEY));
102102
assertEquals(MongoDbDebeziumPropertiesManager.normalizeName(DATABASE_NAME), debeziumProperties.get(TOPIC_PREFIX_KEY));
103103
assertEquals(EXPECTED_CONNECTION_STRING, debeziumProperties.get(MONGODB_CONNECTION_STRING_KEY));
@@ -126,7 +126,7 @@ void testDebeziumPropertiesQuotedConnectionString() {
126126
final var debeziumPropertiesManager = new MongoDbDebeziumPropertiesManager(cdcProperties, config, catalog);
127127

128128
final Properties debeziumProperties = debeziumPropertiesManager.getDebeziumProperties(offsetManager);
129-
assertEquals(20 + cdcProperties.size(), debeziumProperties.size());
129+
assertEquals(21 + cdcProperties.size(), debeziumProperties.size());
130130
assertEquals(MongoDbDebeziumPropertiesManager.normalizeName(DATABASE_NAME), debeziumProperties.get(NAME_KEY));
131131
assertEquals(MongoDbDebeziumPropertiesManager.normalizeName(DATABASE_NAME), debeziumProperties.get(TOPIC_PREFIX_KEY));
132132
assertEquals(EXPECTED_CONNECTION_STRING, debeziumProperties.get(MONGODB_CONNECTION_STRING_KEY));
@@ -155,7 +155,7 @@ void testDebeziumPropertiesNoCredentials() {
155155
final var debeziumPropertiesManager = new MongoDbDebeziumPropertiesManager(cdcProperties, config, catalog);
156156

157157
final Properties debeziumProperties = debeziumPropertiesManager.getDebeziumProperties(offsetManager);
158-
assertEquals(17 + cdcProperties.size(), debeziumProperties.size());
158+
assertEquals(18 + cdcProperties.size(), debeziumProperties.size());
159159
assertEquals(MongoDbDebeziumPropertiesManager.normalizeName(DATABASE_NAME), debeziumProperties.get(NAME_KEY));
160160
assertEquals(MongoDbDebeziumPropertiesManager.normalizeName(DATABASE_NAME), debeziumProperties.get(TOPIC_PREFIX_KEY));
161161
assertEquals(EXPECTED_CONNECTION_STRING, debeziumProperties.get(MONGODB_CONNECTION_STRING_KEY));

docs/integrations/sources/mongodb-v2.md

+1
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ For more information regarding configuration parameters, please see [MongoDb Doc
221221

222222
| Version | Date | Pull Request | Subject |
223223
|:--------|:-----------|:---------------------------------------------------------|:----------------------------------------------------------------------------------------------------------|
224+
| 1.3.1 | 2024-04-04 | [36837](https://github.com/airbytehq/airbyte/pull/36837) | Full refresh read of collections. |
224225
| 1.3.0 | 2024-03-15 | [35669](https://github.com/airbytehq/airbyte/pull/35669) | Full refresh read of collections. |
225226
| 1.2.16 | 2024-03-06 | [35669](https://github.com/airbytehq/airbyte/pull/35669) | State message will now include record count. |
226227
| 1.2.15 | 2024-02-27 | [35673](https://github.com/airbytehq/airbyte/pull/35673) | Consume user provided connection string. |

0 commit comments

Comments
 (0)