1
0
mirror of synced 2026-01-08 12:03:02 -05:00
Commit Graph

281 Commits

Author SHA1 Message Date
Sergio Ropero
ca2d9c733f fix: Disable CDC checkpointing using a flag (#24275)
* Disable CDC checkpointing until finished the investigation with reading Offset file during syncs

* Bump connector versions

* auto-bump connector version

* Publish postgres manually

* Definitions manually for mysql

* Generated definitions manually mssql

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-03-21 15:32:20 +01:00
Lake Mossman
2d3c48da8d Revert "Simplify postgres and GitHub forms (#24127)" (#24219)
This reverts commit fcc80cb5be.
2023-03-18 19:22:38 -07:00
Lake Mossman
fcc80cb5be Simplify postgres and GitHub forms (#24127)
* add grouping and collapsing fields to postgres source

* add auth group to github source connector

* revert postgres field order changes and adjust group of schemas field

* inject group into ssh tunnel spec for postgres only, through overloaded methods

* Automated Change

* bump Dockerfile versions and update changelogs

* bump strict encrypt version as well

* fix postgres acceptance test

* fix acceptance test again

---------

Co-authored-by: lmossman <lmossman@users.noreply.github.com>
2023-03-17 23:02:03 +00:00
Duy Nguyen
2e85c94c74 #23949 Remove check() from read() method for sources Cockroach DB and Postgres (#24000)
* Removed extraneous read on the check() method for CockroachDB and Postgres
* Bumped dockerfile version for relevant conenctors
* Bumped versions for strick-encrypt tests
* Removed withoutPublication and withoutReplicationSlot tests for postgres cdc
* Automated Change
* Updated sources docs
* Update incorrect year in change logs doc for Cockroach and Postgres
* Removed read override method from cockroachDB
* Removed read method override for source-postgres
* auto-bump connector version

---------

Co-authored-by: nguyenaiden <nguyenaiden@users.noreply.github.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-03-15 23:23:36 +00:00
Sergio Ropero
771d21822c feat: Add CDC sync checkpointing based on time or records (#21727)
* This commit adds new functionality that generates checkpoints when doing CDC synchronization.
For that purpose we encapsulate an AirbyteMessage Iterator on a new iterator that handles the
checkpoint messaging.

* Reformat code

* Reformat code

* Reformat code

* Reformat code

* Second attempt with ugly if statement

* Add `isRecordBehindOffset` function to make sure is safe to send the state.
Tests are failing as now it has more state messages:
expected: <1> but was: <3>

* Code formatting

* Add additional check if the record is part of the snapshot load to skip state message.

* Remove comments

* Fix imports

* Fix format

* Add check if the iterator has extra elements so we don't send state message twice (edge case)

* Add a new check to avoid sending multiple state messages with same offset.
Fix PR comments.
Not sending checkpoints... figuring out

* Modify MSSQL and MySQL implementations

* Adds better control on Maps and include a test for time checkpoint.
Also adds extra assert to verify there are no duplicate states

* Formatting

* Improve code documentation and use default for CdcStateHandler new functions

* Sort out missing `final` and types from comments

* Minor improve in checkpoint validation

* format files

* It's 2023!

* Import issues

* Changes after merging master

* Upgrade Debezium version in MySQL

* Bump Postgres and Alloydb

* auto-bump connector version

* Manually bumping version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-03-13 14:03:01 +01:00
Akash Kulkarni
245b1f1ce3 Running the formatter (#23919)
Running "./gradlew :spotlessJavaApply" on the codebase
2023-03-09 20:59:00 +00:00
Sergio Ropero
e72d6859e4 fix: Reduce errors on Postgres source tests (#23727)
* Split test for readability and increase waiting time as possible culprit of random failure

* Improve testDataContent() output and test all the types without instead of stopping the test in the first one.

* Format and add documentation
2023-03-09 14:31:25 +01:00
Akash Kulkarni
e0a8ae2545 AbstractJdbcSource refactoring : Move SSL out of abstract class (#23799)
* Move SSL utilities out of AbstractJdbcSource and into JdbcSSLConnectionUtils

* Fix compilation
2023-03-08 20:47:54 -08:00
Subodh Kant Chaturvedi
a0b861aaa0 fix tests for postgres source (#23884) 2023-03-08 14:35:46 -06:00
Subodh Kant Chaturvedi
f6ec8769a3 DB sources cdc : upgrade Debezium version to 2.1.2 (#23112)
* WIP

* remove wal2json

* revert test change

* working version for MySQL

* cleanup

* mssql changes

* rename module

* format

* undo unwanted change

* disable backward compatibility spec test

* fix acceptance-test-config.yml

* fix acceptance-test-config.yml

* update doc link

* fix mssql

* review comments

* master merge

* review comments

* disable few mssql tests

* temp commit for mssql tests experiment

* another temp commit

* another temp commit

* revert temp commits

* update test

* ssl support added for mssql cdc

* improve tests

* fix strict encrypt test

* make sql-server state backward compatible

* missed this one

* add error properties

* upgrade version and docs

* remove wal2json reference from docs

* auto-bump connector version

* add extra safety validation

* increase wait time

* auto-bump connector version

* update spec

---------

Co-authored-by: alafanechere <augustin.lafanechere@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-03-07 18:12:07 +05:30
Akash Kulkarni
6996ae9949 Remove createDatabaseInternal() (#23689)
* Remove createDatabaseInternal()

* Fix test

* fix format
2023-03-06 16:50:40 -06:00
Rodi Reich Zilberman
9fbcdb8f35 source-postgres connector-acceptance-tests : Fix saved state json (#23014)
* Fit saved state json

* reenable tests we previously disabled

* connector-acceptance-tests: support custom environment variables

* revert changes on acceptance-test-config.yml

---------

Co-authored-by: Augustin <augustin@airbyte.io>
Co-authored-by: alafanechere <augustin.lafanechere@gmail.com>
2023-03-03 09:02:48 -08:00
Subodh Kant Chaturvedi
a521ae580e Revert "Postgres Source : Support JSONB datatype" (#23642)
* Revert "Postgres Source : Support JSONB datatype (#21695)"

This reverts commit 90884d0c7b.

* upgrade version and add changelog

* auto-bump connector version

* update spec

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-03-02 18:42:39 +05:30
VitaliiMaltsev
90884d0c7b Postgres Source : Support JSONB datatype (#21695)
* Postgres Source Jsonb updated schema with oneOf definition

* updated json schema definition

* updated json schema definition

* updated tests

* refactoring

* fixed checkstyle

* fixed checkstyle

* updated values mapping

* updated test cases and refactoring

* updated test cases

* refactoring

* added jsonb[] support

* refactoring

* updated json schema

* reverted to schema with oneOf

* updated airbyte-protocol version

* deleted protocol files

* bump version

* auto-bump connector version

* manual bump of postgres-source version

* Automated Change

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: VitaliiMaltsev <VitaliiMaltsev@users.noreply.github.com>
2023-02-27 21:38:37 +02:00
VitaliiMaltsev
0f5c0e97fb Postgres Source: fixed bug with non readable double-quoted values within a database name or column name (#23383)
* Postgres Source: fixed bug with non readable double-quoted values within a database name or column name

* bump version

* auto-bump connector version

* bump AlloyDB version

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-02-27 14:36:04 +02:00
Catherine Noll
7da6a3bb77 Run CATs with local CDK (#23084)
Scripts to 

* Run CATs against the local CDK for one connector

* Run CATs against the local CDK for multiple connectors

* Create a connecter image with the local CDK

---------

Co-authored-by: Alexandre Girard <alexandre@airbyte.io>
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
2023-02-24 16:13:42 -05:00
Akash Kulkarni
17742caa42 Source Postgres : Changes to max fetch row size (#22623)
* Changes to max fetch row size

- Add frequent logging for fetch size
- Increase MAX_ROW_FETCH_SIZE to 1,000,000,000

* Bump version

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-02-23 16:13:28 -08:00
Sergio Ropero
c0f973e2e4 fix: Permission check failing when privilege is at ROLE level (#23330)
* source-snowflake: use a safer method for parsing a BigInteger cursor value (#22358)

* use a safer method for parsing a BigInteger cursor value

* Add testing

* fix format change

* Fix failing integration tests

* Try removing the failing incremental test

* Try removing the failing incremental test

* Fix failing test

* Add metadata to connector logs (log level, class name, method name and line number) (#23105)

* Issue #17861 Add labels, class, method name and line numbers to connector logs

* Refactored unit test

* fix for warning about UTF8 charset in test class

---------

Co-authored-by: prateekmukhedkar <prateek@airbyte.io>

* This commit fixes the issue when permission is granted at ROLE level instead of USER level.

Missing revoke privileges in the tests.

* Change the query to recursively look for all roles asigned.

Also improve testing.

* Add test for subrole with replication access

* formatting

* Roles don't share attributes, only accesses.
That means that the REPLICATION or SUPERUSER can not be inhered to the user. Because of that, we need to make the user have REPLICATION access directly.

* Bump versions and update alloydb docs

* Roles don't share attributes, only accesses.
That means that the REPLICATION or SUPERUSER can not be inhered to the user. Because of that, we need to make the user have REPLICATION access directly.

* improve comment

* Typo

* Change from checking the permisions in `pg_users` to execute `createConnection` and verifying the connection is fine for CDC.

* Remove unneeded import

* format

* Rename ReplicationConnection class

* Revert "source-snowflake: use a safer method for parsing a BigInteger cursor value (#22358)"

This reverts commit e9efd9878a.

* Revert "Add metadata to connector logs (log level, class name, method name and line number) (#23105)"

This reverts commit a2c80a1fdb.

* Change ConfigError throw point

* Include in try to autoclose the connection

* Bump versions

* auto-bump connector version

* fix SSL failure on check

* format + undo spec changes

* auto-bump connector version

* Manual interaction for source definitions

---------

Co-authored-by: Rodi Reich Zilberman <867491+rodireich@users.noreply.github.com>
Co-authored-by: Prateek Mukhedkar <123108018+prateekmukhedkar@users.noreply.github.com>
Co-authored-by: prateekmukhedkar <prateek@airbyte.io>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: subodh <subodh1810@gmail.com>
2023-02-23 17:43:31 +00:00
Rodi Reich Zilberman
49f97f1142 Integration Branch for DB/DW Sources team for Feb '23 code freeze (#23185)
* source-snowflake: use a safer method for parsing a BigInteger cursor value (#22358)

* use a safer method for parsing a BigInteger cursor value

* Add testing

* fix format change

* Fix failing integration tests

* Try removing the failing incremental test

* Try removing the failing incremental test

* Fix failing test

* Add metadata to connector logs (log level, class name, method name and line number) (#23105)

* Issue #17861 Add labels, class, method name and line numbers to connector logs

* Refactored unit test

* fix for warning about UTF8 charset in test class

---------

Co-authored-by: prateekmukhedkar <prateek@airbyte.io>

* Update docker image and release notes

* auto-bump connector version

* manually bump version on spec

---------

Co-authored-by: Prateek Mukhedkar <123108018+prateekmukhedkar@users.noreply.github.com>
Co-authored-by: prateekmukhedkar <prateek@airbyte.io>
Co-authored-by: Sergio Ropero <sergio@airbyte.io>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-02-22 11:59:23 -08:00
Subodh Kant Chaturvedi
58552cb27f postgres-source-cdc: mark wal2json plugin as depracated in the docs (#23135)
* postgres-source-cdc: mark wal2json plugin as depracated in the docs

* update spec as well

* change expected spec
2023-02-23 00:30:05 +05:30
Augustin
9d57772303 connector-acceptance-tests: support custom environment variables (#22937)
* connector-acceptance-tests: support custom environment variables

* update postgres acceptance-test-config.yml
2023-02-14 13:57:38 -06:00
Sergio Ropero
7e0b9c25bd fix: Add check on Postgres source connection for missing privileges (#22371)
* Add initial commit.
Missing testing

* Add unit test revoking replication privilege.

* Small fix in the documentation

* Change from `RuntimeException` to `ConfigErrorException`

* Improve test validation

* Add commentodoc

* bump version!

* Bump strict script

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-02-14 04:55:36 -06:00
Peter Hu
e5eac0a4cc use published protocol models jar (#22498)
* add airbyte-protocol to deps.toml

* use published protocol jar for platform

* use published protocol jar for connectors

* point at published jar

* fix dep

* bump gcs storage

* fix build failures in standard-source-test

* fix deps

* downgrade alloy db because it is missing strictness tests

* Revert "downgrade alloy db because it is missing strictness tests"

This reverts commit cc6089d053.

---------

Co-authored-by: cgardens <charles@airbyte.io>
2023-02-13 12:50:43 -06:00
Sergio Ropero
1807c8f92e feat: Filter out system views out of system namespaces (#22427)
* This changes allows to filter out system views created out of system namespaces

* Add extra view

* Fix issue

* Bump Postgres source version

* bump version

* Bump alloydb

* Bump versioning

* auto-bump connector version

* Set default implementation and remove from unneeded places

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-02-09 22:20:05 +00:00
Cole Snodgrass
2e099acc52 update headers from 2022 -> 2023 (#22594)
* It's 2023!

* 2022 -> 2023

---------

Co-authored-by: evantahler <evan@airbyte.io>
2023-02-08 13:01:16 -08:00
Subodh Kant Chaturvedi
df614d47cb fix-postgres-source: get rid of short lived objects (#21634)
* fix-postgres-source: get rid of short lived objects

* cache column info as well

* get rid of constructor

* upgrade version

* auto-bump connector version

* update definition

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-02-06 23:54:58 +05:30
Sergio Ropero
b87647df62 Revert "feat: Filter out system views out of system namespaces (#22221)" (#22425)
This reverts commit 3bf87a992e.
2023-02-06 23:54:28 +05:30
Sergio Ropero
3bf87a992e feat: Filter out system views out of system namespaces (#22221)
* This changes allows to filter out system views created out of system namespaces

* Add extra view

* Fix issue

* Bump Postgres source version
2023-02-06 19:10:30 +01:00
Joe Reuter
6a10ae3e05 Rename source acceptance test to connector acceptance test (#21846)
Rename source acceptance test to connector acceptance test
2023-02-02 11:38:19 +01:00
Subodh Kant Chaturvedi
5ceb14a91e use replace function only when null is present (#21523)
* use replace function only when null is present

* upgrade version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-27 15:07:16 +05:30
Akash Kulkarni
9ccdeb9fce Increase memory allocation for JDBC buffers in source DB connectors (#20939)
* Bump total allocation of the source's available memory for the JDBC buffer from 60% to 70%

* Profiling setup

* Update Dockerfile

* Fixes

* Update FetchSizeConstants.java

* Update dockerfiles

* Update JdbcStreamingQueryConfig.java

* auto-bump connector version

* Manually bump source-mysql

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-27 04:50:48 +00:00
Rodi Reich Zilberman
6d0177ae9f Revert back to erroring out on a null cursor value (#21825)
* revert back to erroring out on a null cursor value

* Update dockerfiles and release notes

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-25 02:01:14 +00:00
Akash Kulkarni
79de89d439 Source Postgres : Fast query for estimate messages (#21683)
* Source Postgres : Fast query for estimate messages

* Update documentation

* auto-bump connector version

* Update strict-encrypt Dockerfile

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-23 06:33:58 -08:00
VitaliiMaltsev
f5f4de2e5f JDBC sources: consolidate date/time values mapping (#20346)
* JDBC sources: consolidate date/time values mapping

* fixed Snowflake acceptance tests

* fixed TestJdbcUtils

* refactoring

* update setDate for incremental sync

* fixed CockroachDbJdbcSourceAcceptanceTest

* fixed CockroachDbSourceDatatypeTest

* fixed CockroachDbSourceDatatypeTest

* fixed MsSQLSourceDatatypeTest

* fixed MsSQL cdc datatype test

* refactoring

* fixed mssql cdc test

* fixed Redshift tests

* fixed Redshift tests

* updated db2 datatype tests

* fixed DB2 tests

* fixed DB2 strict-encrypt tests

* fixed Oracle strict-encrypt tests

* refactoring

* updated changelog

* refactoring

* removed redundant overrides

* bump versions

* auto-bump connector version

* resolved merge conflicts

* auto-bump connector version

* auto-bump connector version

* auto-bump connector version

* auto-bump connector version

* bump postgres version

* auto-bump connector version

* updated seed definitions

* revert generated definitions for Postgres

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-18 19:21:11 +02:00
Akash Kulkarni
63e4482a5f Source Postgres : Emit estimate trace messages for non-CDC mode (#20783)
* Emit estimate trace messages

* Update PostgresQueryUtils.java

* Remaining merge conflicts

* Code cleanip

* Address comments

* Formatting

* Cleanup

* Addressing comments

* Bump version + documentation

* Update strict-encrypt Dockerfile

* Unpublish

* Merge conflicts

* Update Dockerfile

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-18 13:55:54 +00:00
Augustin
0c8d6d3a30 remove supportsNormalization + supportsDbt from source spec (#21317) 2023-01-14 18:40:57 +00:00
Rodi Reich Zilberman
b7af8ac54c Better escape the select query for a case a schema name starts with a number (#21051)
* Better escape the select query for a case a schema name starts with a numebr.

* improve test

* fix unrelated build error
2023-01-12 12:28:27 -08:00
Subodh Kant Chaturvedi
8dffde019d postgres-source-cdc: handle null values for array data types (#21003)
* postgres-source-cdc:handle null values for array data types

* fix test

* upgrade version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-11 23:41:49 +05:30
Rodi Reich Zilberman
06ef1e90c6 source-postgres: enable SAT high test strictness level (#20549) 2023-01-04 09:08:43 +00:00
Subodh Kant Chaturvedi
7dfc38d5bc source-postgres-cdc: allow LSN to be acknowledged after sync (#20469)
* WIP

* fix issues

* fix test

* format

* more tests

* one more test

* make lsn_commit_behaviour not required

* update expected spec

* update expected spec

* update expected spec

* PR comments

* PR comments

* upgrade version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-04 14:23:17 +05:30
Evan Tahler
177c13e6fc Store SQLs for Java source test datasets (#20955) 2023-01-03 12:07:47 -08:00
Akash Kulkarni
bac789e2cb Code cleanup in SourceOperations (#20874)
* Refactor SourceOperations class

* More cleanup

* Addressing comments

* Formatting
2023-01-03 03:09:48 -08:00
Davin Chia
2deac0f244 Prep for Java 19 Upgrade (#20911)
Upgrade all the necessary tooling dependencies to get us to Java 19.
2022-12-29 12:32:42 -08:00
Yevhen Sukhomud
2a5d0344e7 Fix formatting (#20570)
* Fix formatting

* try fixing quote escapes?

* unignore sql files

Co-authored-by: Edward Gao <edward.gao@airbyte.io>
2022-12-16 13:43:42 -08:00
Jimmy Ma
094aff1520 Java connectors use protocol v0 objects (#20404)
* Dupl v0 objects

* v0 namespace swap

* Introduce some object conversions in the tests

* Update source-java-jdbc template

* Use v0 objects in db-lib

* Fix more protocol object references

* Fix arg capture in tests
2022-12-15 13:39:50 -08:00
Joe Reuter
b8724c2c81 Update connector oneOf descriptions (#20378)
Update descriptions in some specs to render them better in the form
2022-12-15 12:25:23 +01:00
Subodh Kant Chaturvedi
2ea61104ed cdc:ignore timeout if snapshot is not complete (#18959)
* cdc:ignore timeout if snapshot is not complete

* improve log message

* nit change

* resolve conflicts

* upgrade version

* auto-bump connector version

* fix expected_spec.json for mssql source

* update definitions

* format

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-12-13 17:35:42 +05:30
Subodh Kant Chaturvedi
a3708ebead source-postgres:just throw a warning if a cursor column contains null value (#20192)
* source-postgres:just throw a warning if a cursor column contains null value

* ignore test + update review comment

* use Disabled annotation

* upgrade version

* upgrade version for alloy db strict encrypt as well

* auto-bump connector version

* update definitions

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-12-12 16:39:18 +05:30
Rodi Reich Zilberman
cd183cb794 Add column.include.list for debezium column selection support (#20055)
* Add column.include.list for debezium column selection support

* sanity

* Fix escaping of regex to support all unicode characters in table and column names, including regex control characters (command, dot, asterisk etc.)

* sanity

* Fix failing test

* Test that directly verifies that read doesn't return columns that are not selected

* Test mysql cdc column selection
2022-12-09 09:28:47 -08:00
Rodi Reich Zilberman
b5c08ceed6 Stop sync on a null value in a cursor column (#19889)
* Stop sync on a null value in a cursor column

* Fix quoting in query to solve a failing test

* Fix another escaping issue in query

* Fix failing test

* Fix failing tests

* Test view with null value cursor

* Improve error message

* bump dockerfile version and update note

* bump version to 1.0.31

* Fix failing test

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-12-06 15:05:01 -08:00