1
0
mirror of synced 2026-01-05 21:02:13 -05:00
Commit Graph

183 Commits

Author SHA1 Message Date
Duy Nguyen
f92d833d8d [Source-Postgres] Switch over to user-defined-cursor after CTID initial sync (#27809)
* Separated Standard vs Xmin categorization
Added StandardCtidUtilsTest
Added versions to StandardStatus

* WIP incremental read test

* Added PostgresStandardStateManager to write state_type key to stream state
Added sync to verify state messages and cursor records on running multiple syncs of the same streams

* Isolate tables used for ctid test and enable checkpointing records to 1 for just CTID test

* Moved ctid cursor test to its own file CtidEnabledPostgresSourceTest

* Gracefully handle case where there is no statetype
Update all "standard" to "cursorBased"
2023-07-11 19:30:40 -05:00
Subodh Kant Chaturvedi
4ddd057039 source-postgres: implement logic to make CDC compatible with ctid (#27652)
* wip

* wip 2

* undo unwatned change

* some refactoring

* fix few tests

* more fixing

* more fixes

* Automated Commit - Format and Process Resources Changes

* more improvements

* 1 more test

* another test

* add flag for ctid enabling

* fix conflicts

* else block is not required

* use emittedAt

* skip WAL processing if streams under vacuuming

---------

Co-authored-by: subodh1810 <subodh1810@users.noreply.github.com>
Co-authored-by: Augustin <augustin@airbyte.io>
2023-07-06 13:37:28 -05:00
Akash Kulkarni
fcc39ea2e4 Fix bug with getStateEmissionFrequency() settings (#26974)
An order by query should NOT be issued when the connector does not emit intermediate state
2023-06-02 12:52:05 -07:00
Rodi Reich Zilberman
2aa8a0dbbb Allow sessionvariables jdbc url param in source-mysql (#25859)
* initial commit

* cleanup

* cleanup

* Throw a configuration exception in case of bad jdbc url param

* End-to-End test session variable jdbc param

* reafctoring sanity

* sanity

* bump version and update note

* cherry pick fix to unrelated build error

* fix failing test

---------

Co-authored-by: Ryan Fu <ryan.fu@airbyte.io>
2023-05-22 18:53:33 -07:00
Charles
55e8e60230 run java formatter (#26087) 2023-05-15 17:20:08 -07:00
Rodi Reich Zilberman
e598cc9a6c Convert source mysql decimal number with 0 decimal digits to an int (#25460)
* Convert source mysql decimal number with 0 decimal point to an int

* Put int representation in json for decimal with 0 decimal digits

* bump docker image ver and release note

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-05-10 16:19:57 -07:00
Akash Kulkarni
889a5bc50b Run formatter (#25901) 2023-05-09 10:03:22 -07:00
Akash Kulkarni
931911dceb 🐛 Source MySQL/MsSQL Disable index logging for MySQL (#25740)
* Disable index logging for MySQL/MsSQL

* Update mysql.md

* Update mysql.md

* auto-bump connector version

* Disable for MsSQL as well

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-05-03 08:44:21 -07:00
Jonathan Pearlin
a38af089e9 Track stream status in source (#24971)
* WIP Track stream status in source

* Revert formatting

* Revert formatting changes

* Remove unnecessary file

* Automated Change

* Automated Change

* Use new stream status trace message

* Rename class

* Remove unnecessary import

* Formatting

* Add tests

* Fix compile issues

* Automated Commit - Formatting Changes

* Remove TODO

* Fix compilation error

* Split STOPPED into INCOMPLETE and COMPLETE

* Remove unused import

* Changelog updates for source-postgres

* Remove unused import

* auto-bump connector version

---------

Co-authored-by: jdpgrailsdev <jdpgrailsdev@users.noreply.github.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-04-26 15:14:25 -05:00
Akash Kulkarni
4164cd900e Revert "Better formatting/logging for pre-sync data" (#25560)
* Revert "Better formatting/logging for pre-sync data (#25459)"

This reverts commit 0d9b7b4f7b.

* Fix dockerfile + docs

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-04-26 13:16:31 -05:00
Akash Kulkarni
0d9b7b4f7b Better formatting/logging for pre-sync data (#25459)
* Log cursor alongside indexes

* Better formatting for table estimates, indexes

* Doc & dockerfile bump

* Fix formatting

* auto-bump connector version

* Automated Commit - Formatting Changes

* Fixing connector base issues

* Fix failure

* Fix changelog

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: airbyteio <airbyteio@users.noreply.github.com>
2023-04-25 14:12:36 -07:00
Akash Kulkarni
395de77a50 [JDBC sources] : Log database indexes per stream (#25345)
* [JDBC sources] : Log database indexes per stream

* Docker & doc bump

* auto-bump connector version

* auto-bump connector version

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-04-20 01:05:15 +00:00
Akash Kulkarni
f23b3ad88e Add logging functionality to understand Xmin wraparound (#25220)
* Add logging functionality

- Add logging for DB version (all JDBC sources)
- Add logging for Xmin values

* Automated Change

* Renaming + comments

* More comments

* Bump docker version + docs

* auto-bump connector version

* Update failed source_specs.yaml

---------

Co-authored-by: akashkulk <akashkulk@users.noreply.github.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-04-17 22:39:04 +00:00
Ivica Taseski
b328168813 🎉 New Source: Teradata (#24221)
* add teradata template

* add teradata environment client

* add teradata source connector

* add docs

* fix lowercase letter

* fix compilation error & config test

* fix timestamp

* generate seed

---------

Co-authored-by: Prateek Mukhedkar <123108018+prateekmukhedkar@users.noreply.github.com>
2023-04-17 12:44:51 -03:00
Akash Kulkarni
de629303b6 Cleanup some logging in connectors (#25227) 2023-04-16 15:38:10 -07:00
Akash Kulkarni
c0341a3271 Fix emitted intermediate state for initial incremental non-CDC syncs (#24820)
* Initial fix for issue https://github.com/airbytehq/airbyte/issues/24808

* Revert pg

* Adding a more robust unit test for PostgresSource

* Log the query

* Bump dockerfiles + docs

* Bump docs

* auto-bump connector version

* Revert alloydb changes

* Manually update source specs for ones that failed

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-04-06 22:49:32 +00:00
Akash Kulkarni
2703a44a44 Cleanup createDatabase() code in AbstractJdbcSource (#24343)
* Cleanup createDatabase() code

Move methods from AbstractJdbcSource

Moved methods until createDataSource outside of the abstract class

* Quick cleanups/renames

* Add tests
2023-03-23 10:11:13 -07:00
oneshcheret
f6bcc4914f Postgres source: add integration with data dog (#21533)
* Source postgres: add dd for env running locally

* Source postgres: add dd for running in cloud

* auto-bump connector version

* Source postgres: bump postgres strict-encrypt version

* Source postgres: filter datadog agent env variables just for postgres source

* Source postgres: format

* Source postgres: clean code

* Source postgres: pass java opts for all connectors

* Source postgres: temp removing dd agent from image

* Source postgres: add dd agent to image

* Source postgres: temp revert adding dd env variable

* Source postgres: temp hardcoded dd env variable

* Source postgres: temp hardcoded dd env variable

* Source postgres: temp hardcoded dd env variable

* Source postgres: temp hardcoded dd env variable

* Source postgres: temp hardcoded dd env variable

* Source postgres: temp hardcoded dd env variable

* Source postgres: temp hardcoded dd env variable

* Source postgres: temp hardcoded dd env variable

* Source postgres: temp removing hardcoded dd env variable

* Source postgres: temp added hardcoded dd env variable

* Source postgres: temp added hardcoded dd env variable

* Source postgres: temp added hardcoded dd env variable

* Source postgres: rename to java_opts and pass data dog host

* Source postgres: add vars to kube pods

* Source postgres: add vars to kube pods

* Source postgres: add vars to kube pods

* Source postgres: add Trace to more methods

* Source postgres: add Trace to more methods

* Source postgres: add Trace to more methods

* Source postgres: temp reverting service name removing

* Source postgres: temp reverting service name removing

* Source postgres: temp reverting service name removing

* Source postgres: temp adding trace to integration runner

* Source postgres: temp adding trace to integration runner

* Source postgres: bump postgres source dd version

* Source postgres: bump postgres source dd version

* Source postgres: revert temp changes

* Source postgres: merge with master

* Automated Commit - Formatting Changes

* Source postgres: move dd java agent to base java

* Source postgres: move dd java agent to base java

* Source postgres: clean up

* Source postgres: clean up

* Automated Change

* Source postgres: clean up

* Source postgres: bump version

* Source postgres: bump version for test

* Source postgres: temp bump version

* Source postgres: bump version

* Automated Change

* Source postgres: bump version

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: sashaNeshcheret <sashaNeshcheret@users.noreply.github.com>
2023-03-21 22:16:09 +05:30
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
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
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
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
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
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
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
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
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
Edward Gao
4c5584009a JDBC Sources: Switch integration tests to use system stubs (#20026) 2022-12-02 09:08:08 -08:00
Yevhen Sukhomud
a5e625b04c fix format (#19538) 2022-11-17 19:31:04 +07:00
Davin Chia
0d4a2bb281 Introduce the AirbyteStreamNamespaceNamePair to the DefaultReplicationWorker. (#19360)
#19191 made me realise the DefaultReplicationWorker's metric tracking today has a bug where we aren't accounting for namespace when tracking metrics today. i.e. Streams with the same name and duplicate namespace will merge metrics.

While reading the code to figure out a fix, I realised we don't have a good conceptual representation of stream namespace <> name pairs within the platform today. We use a concatenated string. Though this works, it will become harder and harder to read/track as we do more operations that involve namespace i.e. progress bars and column selection.

This PR introduces the AirbyteStreamNameNamespacePair object into the platform code to make it more convenient to work with Streams in the future. (Especially if we proceed with the project to make streams a first-class citizen!)

The AirbyteStreamNameNamespacePair object was written to deal with the same issue of namespace <> name pair manipulation within the Java destination code. It implements the Comparable interface, which makes it convenient to use for Collections operations.

For an example of how this is consumed, see #19361.
2022-11-16 11:50:45 -08:00
Andrii Leonets
58e4ef6912 Enable SPEC SAT for Java sources (#18779)
* enable py spec compatibility tests

* add missing properties

* use expected spec file instead of the source spec.json + use dummy config file

* add missing files for the clickhouse

* move test files to the integration-test from the unit test folder

* add missing files to cockroachdb

* add missing files to db2 + fix spec format

* add missing files to elasticsearch + fix spec format

* add missing files to jdbc

* add missing files to mongodb_v2 + fix spec format

* add missing files to mssql + fix spec format

* add missing files to mysql + fix spec format

* add missing files to postgres + fix spec format

* add missing files to oracle + fix spec format

* add missing files to redshift

* add missing files to sftp

* add missing files to snowflake + fix spec format

* add missing files to tidb

* add missing files to kafka - fix spec format

* airbyte-source-acceptance-test added

Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>

* add missing import

* Delete acceptance-test-config.yml

* Delete acceptance-test-docker.sh

* Update build.gradle

* Update build.gradle

* format

* revert changes

* manual .sh files format

* upd expected spec

* format

* fix SAT after master merge

Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
Co-authored-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-11-09 21:45:46 +02:00
Eugene
a4ea907094 Fixed checkstyle by running the "./gradlew --no-daemon format --scan". NO changes in logic (#19214)
* Fixed checkstyle by running the "./gradlew --no-daemon format --scan". NO changes in logic
2022-11-09 19:36:37 +02:00
Akash Kulkarni
5b0ed4fd45 Code cleanup in abstract classes (#18811)
* Refactor attempt 1

Increasing readability:
- Performed audit of methods that are marked as public/protected but should be private
- Performed audit of methods that are marked as public but should be protected
- Removing @Override from methods that don't need them (are the very first)

* Remove .sqlite files

* Remove AbstractRelationDbSource class

- Removing AbstractRelationalDbSource abstract class and moving contents of it to a Util class

* Rename utility class

* Add overrides back
2022-11-03 13:05:56 -07:00
Edward Gao
e361ef6d83 JDBC sources: Improve source column type logs (#18193) 2022-10-19 16:19:39 -07:00
Marcos Marx
70dd9a85cf 🎉 Source Zendesk Chat: engagements data fix infinity looping + gradlew format (#18121)
* fix infinity looping in chats

* added more meaninful to variable name

* bump docker version

* auto-bump connector version

* run format

Co-authored-by: Roberto Bonnet <robertojuarezwp@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-18 15:14:02 -03:00
Liren Tu
888347a0d0 🎉 JDBC sources: store cursor record count in db state (#15535)
* Add cursor_record_count to db stream state

* Add cursor record count to cursor info

* Emit max cursor record count

* Add original cursor record count

* Unify logging format

* Add backward compatible methods

* Update unit tests for state decorating iterator

* Update test (not done yet)

* Fix one more unit test

* Change where clause operator according to record count

* Add branch for null cursor

* Skip saving record count when it is 0

* Fix log wording

* Set mock record count in test

* Check cursor value instead of cursor info

* Fix source jdbc test

* Read record count from state

* Fix tests

* Add an acceptance test case

* Fix npe

* Change record count from int to long to avoid type conversion

* Fix references

* Fix oracle container

* Use uppercase for snowflake

* Use uppercase for db2

* Fix and use uppercase

* Update test case to include the edge case

* Format code

* Remove extra assertion in clickhouse

* Merge ms sql incremental query method

* Log query for debugging

* Clean up name_and_timestamp table

* Fix db2 tests

* Fix mssql tests

* Fix oracle tests

* Fix oracle tests

* Fix cockroachdb tests

* Fix snowflake tests

* Add changelog

* Fix mssql tests

* Fix db2-strict-encrypt tests

* Fix oracle-strict-encrypt tests

* Bump postgres version

* Fix oracle-strict-encrypt tests

* auto-bump connector version [ci skip]

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-14 01:09:12 -07:00
Eugene
33dfd5d6be Fixed "Ensure no file change" build issue. Only checkstyle changes, no logic chnages (#17885) 2022-10-12 15:06:28 +03:00
Pedro S. Lopez
938436bcc9 update connector specs and definitions with new .com documentation urls (#17585)
* update definitions with new .com docs urls

* update docs urls in specs

* update generators

* regenerate scaffold connectors

* remove unrelated changes

* update more urls

* update specs

* fix tests

* run `:airbyte-config:specs:generateSeedConnectorSpecs` to fix formatting

* revert docs changes to make pr more reviewable

* revert generator readme changes to make more reviewable

* fix mysql strict encrypt expected spec

* fix postgres expected spec
2022-10-11 11:04:23 -04:00
Subodh Kant Chaturvedi
99746082a4 mysql source : implement support for snapshot of new tables in cdc mode (#16954)
* mysql source : implement support for snapshot of new tables in cdc mode

* undo unwanted changes

* add more assertions

* format

* fix build

* fix build

* revert acceptance test changes

* bump version

* auto-bump connector version [ci skip]

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-09-27 00:14:07 +05:30
Subodh Kant Chaturvedi
cb7076bffe allow nullable columns to be used as cursor (#17131)
* allow nullable columns to be used as cursor

* add test

* fix test

* bump version

* Revert "bump version"

This reverts commit a3cf9aff84.

* bump version

* auto-bump connector version [ci skip]

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-09-26 21:20:53 +05:30
Yurii Bidiuk
63ac121e1a Source JDBC: add custom JDBC params (#16392)
* Source JDBC: add custom JDBC params

* bump version
2022-09-19 16:21:29 +03:00
Subodh Kant Chaturvedi
59dd5e768a fix compilation error with cursor type method (#16635)
* fix compilation error with cursor type method

* fix error for bigquery as well
2022-09-13 21:27:23 +05:30