1
0
mirror of synced 2025-12-21 11:01:41 -05:00
Commit Graph

317 Commits

Author SHA1 Message Date
LiRen Tu
a094142825 Format code (#9892) 2022-01-29 19:56:00 -08:00
Noah Kawasaki
5391880f7a 🎉 Source and Destination Snowflake: Add jdbc_url_params support for optional JDBC parameters (#9623) 2022-01-28 22:07:12 +01:00
LiRen Tu
e4661fb92a Remove regex check from Java source acceptance test (#9829)
* Move getRegexTests to python source acceptance test

* Remove unused imports

* Update test template
2022-01-26 17:51:37 -08:00
andriikorotkov
208c14682d updated benchmarks databases and scripts (#9597) 2022-01-19 17:22:21 +02:00
LiRen Tu
9b75a76720 📑 Update source database performance test docs (#8980)
* Add missing pr number

* Update source database performance test docs

* Update doc

* Update script paths
2021-12-20 20:49:22 -08:00
Iryna Grankova
62c3c4e93e Update fields in source-connectors specifications: mysql, onesignal, oracle, outreach, paystack, pipedrive, pokeapi (#8582)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>

Co-authored-by: Sergey Chvalyuk <grubberr@gmail.com>
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
2021-12-13 11:14:51 +02:00
Eugene
70d2f46bcc Source MySQL\MsSql\Postgres: added RDS base performance tests (#8215)
* Added RDS base performance tests for source-postgres, source-mssql and source-mysql
* updated perfomance test with cpu and memory limit


Co-authored-by: andriikorotkov <andrii.h.korotkov@globallogic.com>
2021-12-12 19:29:11 +02:00
LiRen Tu
6843bc1d1f 🎉 Source MySQL: support all MySQL 8.0 types (#7970)
* Add jdbc compatible layer

* Support routine mysql types

* Format code

* Fix build

* Refactor abstract jdbc source and operation classes

* Update mysql source operations

* Test discover command for mysql

* Remove abstract jdbc compatible source layer

* Format code

* Update template

* Fix more types

* Bump version

* Log original field type

* Update comments

* Bump version in seed
2021-12-11 21:49:32 -08:00
mkhokh-33
0eaaa1f6fc 🐛 Source-MySql: do not check cdc required param binlog_row_image for standard replication (#8335)
* Source-MySql: do not check cdc required param binlog_row_image for standard replication

* Source-MySql: fix formatting

* Revert "Source-MySql: fix formatting"

This reverts commit 5a94474a52.

* Source-MySql: made a code improvement

* Source-MySql: bump versions

* Source-MySql: fix version in source_specs.yaml

* Source-MySql: bump versions

* Source-MySql:update source_definitions.yaml with new version
2021-12-06 18:32:59 +02:00
mkhokh-33
5032addf3e 🐛 Source MySQL: transform binary data base64 format (#8047)
* Source-MySql: transform binary data base64 format, add integration tests

* Source-MySql: fix code style

* Source-MySql: bump versions

* Source-MySql: bump versions in source_specs.yaml

* Source-MySql: added test for stream with binary data for DestinationAbstractTest

* Source-MySql: added format
2021-11-23 16:04:48 +02:00
Eugene
3a0eaafb5e 🎉 Source Mysql - added basic MySql performance tests (#7820)
* [ticket 7489, PR 7820] Source Mysql - added skeleton for MySql performance tests
2021-11-15 12:16:36 +02:00
oneshcheret
70ed18b89e 🐛 Fix handling binary data type for Mssql source (#7748)
* Fix data type tests Mssql source

* update test for boolean data type in  Mysql source

* dump versions for Mssql and Mysql source

* revert changes regarding handling bit data type

* revert changes regarding date and time data type tests Mssql source

* revert changes regarding date data type for Mssql source

* update message in mssql.md

* minor format changes

* format changes
2021-11-11 14:15:23 +02:00
Subodh Kant Chaturvedi
cddfeea9a9 format master (#7633) 2021-11-04 19:47:23 +05:30
Alexander Tsukanov
7c3b7ef489 🐛 Source MySQL: Value '65535' is outside valid range for type (#7559)
* BUG-5842: Mysql Value '65535' is outside valid range for type java.lang.Short

* BUG-5842: Bumped versions of connector.

* BUG-5842: Fixed unit-test for mysql-encrypt

* Update docs/integrations/sources/mysql.md

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
2021-11-04 12:18:44 +02:00
Charles
ba44f700b9 add final for params, local variables, and fields (#7084) 2021-10-15 16:41:04 -07:00
andriikorotkov
a28f3ac4eb updated spec for mysql-source (#6976) 2021-10-13 10:54:41 +03:00
Andrii Leonets
a98b3fe414 MySql Source: Fix data processing (#6093)
* move logic from static JdbcUtils to JdbcSourceOperations

* format

* Add methods for all types in order to have possibility rewrite them and use common type mapping.

* Make BigQuery in line impl with JDBC changes

* fix binary type

* add database creations methods with sourceOperations input

* add MySqlSourceOperations

* fix processing

* Fix CDC processing

* format

* add some tests for double and float

* incr version

* #3931 #3932 added zero-date converting to null param "zeroDateTimeBehavior=convertToNull"

* remove old tests covered by data type tests + incr ver

* Update airbyte-integrations/connectors/destination-mysql/src/main/java/io/airbyte/integrations/destination/mysql/MySQLDestination.java

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>

* Update docs/integrations/sources/mysql.md

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>

* add back comments to the data type mapping

* incr config version

Co-authored-by: Oleksandr Sheheda <alexandrshegeda@gmail.com>
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
2021-10-12 18:08:50 +03:00
Davin Chia
5a3353dcf5 Bootstrap initial custom metrics library (#6529)
Wrapper around Prometheus lib to interface with Datadog.

We use prometheus because:
- Future-proofing as it's uses the general open metrics format.
- Prometheus makes it's metrics available to a scraper to it lends itself better to the OSS set up.
- Datadog automatically converts promethues metrics into dd metrics so we don't lose much.
2021-10-05 21:51:34 +08:00
andriikorotkov
d746f4922b Exposing SSL-only version of MySQL Source (#6605)
* Source MySQL - added option to connect using ssl

* Source MySQL - updated changelog

* dummy commit

* Updated PR as per comment

* added source mysql strict encrypt

* updated code style for MySQL source

* updated code style for MySQL source

* fixed remarks

* fixed code style

* fixed remarks

Co-authored-by: ievgeniit <ievgeniit>
Co-authored-by: ievgeniit <etsybaev@gmail.com>
2021-10-05 09:47:10 +03:00
Andrii Leonets
404d673aae Move SourceJdbcUtils.java to JdbcSourceOperations.java (#6397)
* move SourceJdbcUtils.java to JdbcSourceOperations.java

* format

* add proxy methods for overwriting

* Move SourceJdbcUtils.java to JdbcSourceOperations.java #6397
resolve conflicts

Co-authored-by: Oleksandr Sheheda <alexandrshegeda@gmail.com>
2021-10-04 14:32:37 +03:00
Eugene
7698a50c74 🎉Source MySQL - added option to connect using SSL (#6510)
* Source MySQL - added option to connect using SSL
2021-09-30 18:23:51 +03:00
Marcos Marx
845f84b417 Marcos/test pr 5747 (#6516)
* updated harvest source schema

* updated Docker version for source harvest

* updated the source connector version after merging with latest source-harvest release

* fixed Task :airbyte-integrations:connectors:source-harvest:sourceAcceptanceTest that failed

* harvest bump version

* update some fields remove date-time

* format

* rollback licence in destination files

* format

Co-authored-by: Jade Tremblay <jade@totemteam.com>
Co-authored-by: Jade Tremblay <jadetremblay.ing@gmail.com>
Co-authored-by: Marcos Marx <marcosmarx@MacBook-Pro-de-Marcos.local>
2021-09-28 20:13:06 -03:00
Charles
d885d77580 mysql test int types (#2908) 2021-09-28 09:59:10 -07:00
Charles
f30869001a Exposing SSL-only version of Postgres Source (#6362) 2021-09-27 16:46:39 -07:00
Michel Tricot
1773e41e47 Shorten our headers + adds contributors file (#6478) 2021-09-27 10:45:50 -07:00
Eugene
11f64882a9 🎉Source MySQl - Added support for connection via ssh (aka bastion server) (#6146)
* Source MySQL - Added ssh support
2021-09-21 10:57:31 +03:00
Sherif A. Nada
86bdb7e16f rename comprehensive test to typetest and add javadocs (#5675) 2021-08-26 16:53:41 -07:00
Subodh Kant Chaturvedi
d55af64b05 fix DATETIME data type handling in mysql cdc (#5389)
* WIP

* bring it in shape

* add 1 more test

* address review comments

* bump version
2021-08-17 19:01:58 +05:30
Subodh Kant Chaturvedi
da67afe6ea Convert debezium transaction timestamps data type (#5356)
* Add transactionTimestamp field

* Update CDC_timestamp type in integrations and tests

* no jsonschema timestamp type, use string

* Linting

* format

* fix compilation error

* fix compilation error

* fix test output

* upgrade version for mssql,mysql,postgres

* stupid mistake! forgot to upgrade docker file

Co-authored-by: danieldiamond <danieldiamond1@gmail.com>
2021-08-13 19:45:54 +05:30
Subodh Kant Chaturvedi
b377667926 fix mysql integration tests (#5369)
* fix mysql integration tests

* refactor
2021-08-13 01:42:51 +05:30
Jared Rhizor
fb902dcc2e fix mysql doc link / scaffold links (#4956) 2021-07-29 23:00:04 -07:00
Subodh Kant Chaturvedi
cc7b376044 🎉 Source MSSQL: implementation for CDC (#4689)
* first few classes for mssql cdc

* wip

* mssql cdc working against unit tests

* increment version

* add cdc acceptance test

* tweaks

* add file

* working on comprehensive tests

* change isolation from snapshot to read_committed_snapshot

* finalised type tests

* Revert "change isolation from snapshot to read_committed_snapshot"

This reverts commit 20c6768071.

* small docstring fix

* remove unused imports

* stress test fixes

* minor formatting improvements

* mssql cdc docs

* finish off cdc docs

* format fix

* update connector version

* add to changelog

* fix for sql server agent offline failing cdc enable on tables

* final structure

* few more updates

* undo unwanted changes

* add abstract test + more refinement

* remove CDC metadata to debezium

* use new cdc abstraction for mysql

* undo wanted change

* use cdc abstraction for postgres

* add files

* pull in latest changes

* ready

* rename class + add missing property

* use renamed class + move constants to MySqlSource

* use renamed class + move constants to PostgresSource

* move debezium to bases + upgrade debezium version + review comments

* downgrade version + minor fixes

* bring in latest changes from cdc abstraction

* reset to minutes

* bring in the latest changes

* format

* fix build

* address review comments

* bring in latest changes

* bring in latest changes

* use common abstraction for CDC via debezium for sql server

* remove debezium from build

* finalise PR

* should return Optional

* pull in latest changes

* pull in latest changes

* address review comments

* use common abstraction for CDC via debezium for mysql (#4604)

* use new cdc abstraction for mysql

* undo wanted change

* pull in latest changes

* use renamed class + move constants to MySqlSource

* bring in latest changes from cdc abstraction

* format

* bring in latest changes

* pull in latest changes

* use common abstraction for CDC via debezium for postgres (#4607)

* use cdc abstraction for postgres

* add files

* ready

* use renamed class + move constants to PostgresSource

* bring in the latest changes

* bring in latest changes

* pull in latest changes

* lower version for tests to run on CI

* format

* Update docs/integrations/sources/mssql.md

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>

* addressing review comments

* fix for testGetTargetPosition

* format changes

Co-authored-by: George Claireaux <george@claireaux.co.uk>
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
2021-07-14 17:15:55 +01:00
Subodh Kant Chaturvedi
4863ea1a93 introduce common abstraction for CDC via debezium (#4580)
* wip

* add file

* final structure

* few more updates

* undo unwanted changes

* add abstract test + more refinement

* remove CDC metadata to debezium

* rename class + add missing property

* move debezium to bases + upgrade debezium version + review comments

* downgrade version + minor fixes

* reset to minutes

* fix build

* address review comments

* should return Optional

* use common abstraction for CDC via debezium for mysql (#4604)

* use new cdc abstraction for mysql

* undo wanted change

* pull in latest changes

* use renamed class + move constants to MySqlSource

* bring in latest changes from cdc abstraction

* format

* bring in latest changes

* pull in latest changes

* use common abstraction for CDC via debezium for postgres (#4607)

* use cdc abstraction for postgres

* add files

* ready

* use renamed class + move constants to PostgresSource

* bring in the latest changes

* bring in latest changes

* pull in latest changes
2021-07-12 22:39:38 +05:30
Andrii Leonets
107f5b8d61 🎉 Abstract level for SQL relational database sources (#4123)
Abstract level for SQL relational database sources
2021-07-05 17:18:07 +03:00
etsybaev
60c53e330c 🐛 Source MySQl: Fixed MySQL CDC Decimal handling (#4315)
* [4105] Fixed MySQL CDC Decimal handling (store decimal value in Kafka as a string instead of binary value)
2021-06-30 21:47:17 +03:00
Subodh Kant Chaturvedi
2e75ba69ef fix mysql-cdc OOM: use capped queue (#4203)
* fix mysql-cdc OOM: use capped queue

* add comment

* add sleep for 10 ms

* bump version + only sleep when insertion didnt happen
2021-06-23 16:17:32 +05:30
Davin Chia
b04c080c95 Kube Queueing POC (#3464)
* Use CDK to generate source that can be configured to emit a certain number of records and always works.

* Checkpoint: socat works from inside the docker container.

* Override the entry point.

* Clean up and add ReadMe.

* Clean up socat.

* Checkpoint: connect to Kube cluster and list all the pods.

* Checkpoint: Sync worker pod is able to send output to the destination pod.

* Checkpoint: Sync worker creates Dest pod if none existed previously. It also waits for the pod to be ready before doing anything else. Sync worker will also remove the pod on termination.

* update readme

* Checkpoint: Dest pod does nott restart after finishing. Comment out delete command in Sync worker.

* working towards named pipes

* named pipes working

* update readme

* WIP named pipe / socat sidecar kube port forwarding (#3518)

* nearly working sources

* update

* stdin example

* move all kube testing yamls into the airbyte-workers directories. sort the airbyte-workers resource folder; place all the poc yamls together.

* Format.

* Put back the original KubeProcessBuilderFactory.

* Fix slight errors.

* Checkpoint: Worker pod knows its own IP. Successfully starts and writes to Dest pod after refactor.

* remove unused file and update readme

* Dest pod loops back into worker pod. However, the right messages do not seem to be passing in.

* Switch back to worker ip.

* SWEET VICTORY!.

* wrap kube pod in process (#3540)

also clean up kubernetes deploys.

* More clean up. (#3586)

The first 6 points of #3464.

The only interesting thing about this PR is the kube pod shutdown. For whatever reason, the OkHttpPool isn't respecting the evictAll call and 1 idle thread remains. So instead of shutting down immediately, the worker pod shuts down after 5 mins when the idle thread id reaped. There isn't an easy way to modify the pool's idle reap configuration now. I do not think this issue is blocking since it's relatively benign, so I vote we create a ticket and come back to this once we do an e2e test.

* Implements redirecting standard error as well. (#3623)

* Clean up before next implementation.

* kube process launching (#3790)

* processes must handle file mounting

* remove comment

* default to base entrypoint

* use process builder factory / select stdin / use a pool of ports

* fix up

* add super hacky copying example

* Checkpoint: Works end to end!

* Checkpoint: Use API to make sure init container is ready instead of blind sleep. Propagate exception in DefaultCheckConnectionWorker.

* Refactor KubePodProcess. Checked to make sure everything still works.

* Format.

* Clean up code. Begin putting this into variables and breaking up long constructor function.

* Add comments to explain what is happening.

* fix normalization test

* increase timeout for initcontainer

Co-authored-by: Davin Chia <davinchia@gmail.com>

* facepalm moment

* clean up kube poc pr (#3834)

* clean up

* remove source-always-works

* create separate commons-docker

* fix test

* enable kube e2e tests (#3866)

* enable kube e2e tests

* use more generally accepted env definition

* use new runners

* use its own runner and install minikube differently

* update name

* use kubectl alias

* use link instead of alias that doesn't propagate

* start minikube

* use driver=none

* go back to using action

* mess with versions

* revert runner

* install socat

* print logs after run

* also try re-runnining tasks

* always wait for file transfer

* use ports

* increase wait timeout for kube

* use different localhost ips and bump normalization to include an entrypoint

* proposed fix

* all working locally

* revert temporary changes

* revert normalization image change that's happening in a separate pr

* readability

* final comment

* Working Kube Cancel. (#3983)

* Port over the basic changes.

* Add logic to return proper exit code in the event of termination. Add comments to explain why.

* revert envs change and merge master to fix kube acceptance tests (#4012)

* use older env format

* fix build

Co-authored-by: jrhizor <me@jaredrhizor.com>
Co-authored-by: Jared Rhizor <jared@dataline.io>
2021-06-09 18:12:39 -07:00
Andrii Leonets
38dcb6f6a3 🎉 MySQL source: Comprehensive core extention to be more compatible with other JDBC sources (#3995)
* [#3994] Provide the possibility to redefine namespace and basic column names
2021-06-09 21:11:15 +03:00
Subodh Kant Chaturvedi
4e084a139e fix mysql-cdc: handle tinyint(1) and boolean correctly + fix target file comparison (#3890)
* fix mysql-cdc: handle tinyint(1) as boolean + fix taget file comparison

* fix formatting

* simplify shouldSignalClose method

* only deserialize once

* address review comments

* upgrade version

* upgrade version
2021-06-07 18:54:10 +05:30
Andrii Leonets
213fae17a1 MySQL source: Add comprehensive data type test (#3810) 2021-06-07 14:01:02 +03:00
Subodh Kant Chaturvedi
cbf47ad11f fix-mysql-cdc: poll for 5 minutes only when we have not received a single record (#3789)
* fix-mysql-cdc: poll for 5 minutes only when we have not received a single record

* fix format

* address review comment + bump docker version
2021-06-02 11:55:37 +05:30
Subodh Kant Chaturvedi
9179a656fb mysql-cdc:increase duration for records from debezium from 5 seconds to 5 minutes (#3757)
* mysql-cdc:increase duration for records from debezium from 5 seconds to 5 minutes

* upgrade docker version
2021-06-01 12:56:37 +05:30
Subodh Kant Chaturvedi
7ccc4fafe8 🎉 source: implementation for mysql cdc (#3505)
* source: implementation for mysql cdc

* add target file and position

* dont want to add file in this PR

* refine tests + add comments

* fix typo

* address review comments

* fix formatting error

* resolve conflicts

* update docs + bump docker minor version

* remove un-necessary new lines + add multiple checks for cdc

* address review comments from Davin

* increase the version in source_definitions.yaml

* rebuild seed
2021-05-25 00:31:57 +05:30
Charles
8983f09aea normalize connector acceptance test names (#3539)
* Rename standard tests to acceptance tests

* Normalize the names so that the nouns are always in the same order so it is easier to find tests
2021-05-22 13:40:40 -07:00
Sherif A. Nada
1d51962a2d publish mongodb discovery speedup (#2900) 2021-04-15 11:38:41 -07:00
Vasily
abb54c904b 🐛 bugfix: parsing Mysql jdbc params (#2891)
Co-authored-by: gingeard-wa <vsafronov@wakeapp.com>
Co-authored-by: Sherif Nada <snadalive@gmail.com>
2021-04-15 08:54:06 -07:00
Christophe Duong
6c6ea54bb8 Add SupportedDestinationSyncModes to destination specs objects (#2668)
* Add SupportedDestinationSyncModes to destination specs objects

* Bumpversions of destination connectors
2021-03-31 15:20:01 +02:00
Christophe Duong
af43c0bacf ☝ Add an optional jdbc_url_params to MySQL source connector to customize the jdbc_url string (#2611) 2021-03-26 22:10:36 +01:00
Christophe Duong
8a29584125 ☝🏼Destinations supports destination sync mode (#2460)
* Handle destination sync mode in destinations

* Source & Destination sync modes are required (#2500)

* Provide Migration script making sure it is always defined for previous sync configs
2021-03-26 20:23:48 +01:00
Sherif Nada
77b72dcf5b Revert "Revert "Merge branch 'master' of github.com:airbytehq/airbyte""
This reverts commit de66bf010d.
2021-03-23 15:12:01 -07:00