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

130 Commits

Author SHA1 Message Date
Sophia Wiley
5512befeb1 Docs: updated links from .io to .com (#23652)
* updated links

* edited contributors link

* deleted line about CDK in docs
2023-03-06 17:27:55 +01:00
Anne
fc02b79311 Trigger notifications for changed schemas (#21680) 2023-02-13 17:34:36 -08:00
Pedro S. Lopez
44d747d2f5 Revert "Revert "fix: refresh actor configuration and state between sync attempts"" (#22281)
* Revert "Revert "fix: refresh actor configuration and state between sync attempts (#21629)" (#22211)"

This reverts commit 7978862f62.

* fmt
2023-02-07 15:42:52 -08:00
Pedro S. Lopez
7978862f62 Revert "fix: refresh actor configuration and state between sync attempts (#21629)" (#22211)
This reverts commit d22dfe8903.
2023-02-01 17:15:43 +00:00
Pedro S. Lopez
d22dfe8903 fix: refresh actor configuration and state between sync attempts (#21629)
* add AttemptSyncConfig, move info out of JobSyncConfig

* get build working

* add db migration

* load config when building attempts

* persist AttemptSyncConfig

* it compiles

* fix job persistence test

* implement submitSync with attempt config

* fix TemporalClientTest

* reorganizing some code

* add GenerateInputActivity test

* verify AttemptSyncConfig is persisted

* add test for persistence changes

* add test for getAttemptByNumber

* use apis rather than direct db access

* fix compatibility with master

* copy update

* fix tests for allowed hosts addition

* remove debug logging

* fix: handle when state is not set on the connection

* fix: handle unset state (on the server this time)

* set state type when converting to internal representation
2023-02-01 14:47:16 +00:00
Evan Tahler
b9e3c8a7f2 Suggested Streams via Actor Definition (#21577)
* Suggested Streams in in the Actor Definition

* Fix steam addition

* fix tests

* enable faker streams

* test resilaince.

* lint

* fig configLookup

* fixup definition load in webBackend

* fix build/tests

* Include 'suggested' in discover API response

* fix test

* Update airbyte-api/src/main/openapi/config.yaml

Co-authored-by: Pedro S. Lopez <pedroslopez@me.com>

* update build with typo

* fix test

* remove comment

* add more context

---------

Co-authored-by: Pedro S. Lopez <pedroslopez@me.com>
2023-01-27 18:07:01 +00:00
Xiaohan Song
083778183e Add write discover fetch event API (#21506)
* api changes for writing discover catalog

* api changes

* format

* change return type of the API to return catalogId

* PR comments fix

* format
2023-01-23 11:02:30 -08:00
Anne
6026465c52 Remove jobPersistence dependency (#21625)
* Remove JobPersistence from ConfigFetchActivityImpl
2023-01-20 16:32:23 -08:00
Greg Solovyev
9c3219b803 Make destination-clickhouse-strict-encrypt use the correct class (#21570)
* Use ClickhouseDestinationStrictEncrypt in strict-encrypt clickhouse destination
2023-01-19 18:45:17 +00:00
Pedro S. Lopez
b24d575903 feat: return whether configuration was updated as part of api response (#21466)
* wip: return whether configuration was updated

* updated outputs working

* fix pmd

* update description, format

* add didUpdateConfiguration to metadata, rm unneeded generics

* add didUpdateConfiguration to api response

* update name to fix pmd

* not required

* rename to match api response

* remove unused field

* match naming
2023-01-18 18:00:37 +00:00
Jimmy Ma
0d9a3eae88 Extend connection list filtering (#21094)
* Update listWorkspaceStandardSyncs to support lists of sources/destinations

* Update API spec
2023-01-09 13:42:45 -08:00
Augustin
e4707f5ed1 normalization: delete supportsDbt and supportsNormalization from DestinationDefinitionSpecificationRead (#21005)
* delete supportsDbt and supportsNormalization from DestinationDefinitionSpecificationRead

* FE changes

* add new fields to the DestinationDefinitionRead API model

* update handlers

* update api doc

* update handlers

* remove debug loggin

* implement suggestions

* update octavia-cli tests

* fix supported check

* update octavia-cli

* fix integration tests

* fix mocks

* fix forgotten renaming

Co-authored-by: Evan Tahler <evan@airbyte.io>
2023-01-07 01:12:50 +00:00
Pedro S. Lopez
01e256f579 process config control messages during check and discover (#20894)
* track latest config message

* pass new config as part of outputs

* persist new config

* persist config as the messages come through, dont set output

* clean up old implementation

* accept control messages for destinations

* get api client from micronaut

* mask instance-wide oauth params when updating configs

* defaultreplicationworker tests

* formatting

* tests for source/destination handlers

* rm todo

* refactor test a bit to fix pmd

* fix pmd

* fix test

* add PersistConfigHelperTest

* update message tracker comment

* fix pmd

* format

* move ApiClientBeanFactory to commons-worker, use in container-orchestrator

* pull out config updating to separate methods

* add jitter

* rename PersistConfigHelper -> UpdateConnectorConfigHelper, docs

* fix exception type

* fmt

* move message type check into runnable

* formatting

* pass api client env vars to container orchestrator

* pass micronaut envs to container orchestrator

* print stacktrace for debugging

* different api host for container orchestrator

* fix default env var

* format

* fix errors after merge

* set source and destination actor id as part of the sync input

* fix: get destination definition

* fix null ptr

* remove "actor" from naming

* fix missing change from rename

* revert ContainerOrchestratorConfigBeanFactory changes

* inject sourceapi/destinationapi directly rather than airbyteapiclient

* UpdateConnectorConfigHelper -> ConnectorConfigUpdater

* rm log

* fix test

* dont fail on config update error

* process control messages for discover jobs

* process control messages for CHECK

* persist config updates on check_connection_for_update

* get last config message rather than first

* fix pmd

* fix failing tests

* add tests

* source id not required for check connection (create case)

* suppress pmd warning for BusyWait literal

* source id not required for checkc onnection (create case) (p2)

* pass id, not full config to runnables/accept control message

* add new config required for api client

* add test file

* remove debugging logs

* rename method (getLast -> getMostRecent)

* rm version check (re-added this in by mistake on merge)

* fix test compatibility

* simplify
2023-01-06 15:24:24 -04:00
Anne
bb84fac8d1 Add new actorCatalogWithUpdatedAt endpoint 2023-01-05 22:12:31 +00:00
Jimmy Ma
ff1ebb0e0a Improve performance of list connection operations (#20264)
* Enable source/destination filtering in /web_backend/connection/list

* Add tests on connection filtering

* Remove redundant DB call

* Make some methods static to avoid sneaky db calls

* Minor refactor

* Small refactoring + add filtering by source for catalog fetch events

* Add comment

* Trim WebBackendConnectionList response payload

* fix build errors

* Remove requests to list_by_workspace and list_latest

* Add sourcedefid and destdefid to source/dest snippets read

* fixed sourceDefinitionId and destinationDefinitionId

* Fix webbackend handler tests

Co-authored-by: Volodymyr Petrov <volodymyr.s.petrov@globallogic.com>
Co-authored-by: KC <krishna@airbyte.io>
2023-01-03 13:54:44 -08:00
Davin Chia
d98ddbbae7 Implement Progress Bar Persistence Read/Write (#20787)
Implement the persistence layer changes following #19191.

This PR handles writing and reading stats to the new stream stat_table and columns in the existing sync_stats table.

At the same time we introduce upserts of stats records - i.e. merge updates into a single record - in preparation for real time stats updates vs the current approach where a new stat record is always written.

There will be two remaining PRs after this:
- First PR will be to fully wire up and test the API.
- Second PR will be to actually save stats while jobs are running.
2022-12-28 13:47:42 -08:00
Michael Siega
70ee6b00ed API changes to support configuring column selection (#20259)
* database migration to add column for field selection info

* add field selection info to standard sync persistence

* fix around persistence of field selection info

* API changes to support configuring column selection

* style and testing improvements around column selection api impl

* acceptance test fix for field selection api changes
2022-12-08 23:32:16 +01:00
Jimmy Ma
315c152ac0 Add /v1/web_backend/check_updates (#20041)
* Add /v1/web_backend/check_updates

* Add constant for fallback cases
2022-12-08 09:10:13 -08:00
Benoit Moriceau
020b95a648 Rm DbMigration Controller (#20213) 2022-12-08 08:12:00 -08:00
Xiaohan Song
2a1628529d remove un-used update/delete custom connector api (#20034)
* remove un-used update/delete custom connector api

* also remove create path

* more tests to fix
2022-12-05 10:11:59 -08:00
Anne
f07cef808d Disable broken connections when feature flag is on (#19730)
When auto-detect schema changes feature flag is on, disable connections that have breaking schema changes and connections that have any schema changes where the user has set their preference to disable.
2022-11-29 12:20:26 -08:00
Anne
8287362247 Add schema change attrs to connection create (#19771)
* Add schema change attrs to connection create
2022-11-28 16:53:19 -08:00
Benoit Moriceau
90350c10fb Revert "Revert "Bmoric/add fetch source schema in oauth"" (#19513)
* Revert "Revert "Bmoric/add fetch source schema in oauth (#19392)" (#19512)"

This reverts commit f08b84f94f.

* Fix complete OAuth

* Use var
2022-11-17 13:18:43 -08:00
Michael Siega
d87b38dc0b Add structured dbt cloud information to the operations api (#19395)
* add structured dbt cloud information to the operations api

* remove unused webhook features, test updates

* update tests to use structured dbt cloud operation api

* add missing webhook operator type
2022-11-17 17:49:27 +01:00
Jimmy Ma
693f976efd Fix flaky tests (#19459)
* Expose WorkflowState in JobsDebugInfo

* Make attribute required

* Update the tests

* Protect more tests
2022-11-16 09:18:19 -08:00
Benoit Moriceau
1e551d0466 Update inputs (#19320)
* Update inputs

* PR comments and autogen files
2022-11-11 10:28:40 -08:00
Anne
1d809a7539 Add new workspace api endpoint (#18983)
* Add new workspace api endpoint
2022-11-04 14:20:07 -07:00
Davin Chia
7bb3241781 Progress Bar API Changes. (#18953)
API changes to support the progress bar.

- The eventual idea is for the save_stats route to be called by the workers during replication. Workers will save stats for a job id and attempt number.
- Make modifications to the /jobs/list and the /jobs/get_debug_info routes to also return estimated bytes/records.
We need both estimated metadata, as well as running states to calculate progress bar and throughput.


- add the save_stats route. This is the route that will be called by workers. I've done my best to reuse existing openapi bodies to reduce duplication.
- add the estimatedRecords and estimatedBytes fields to the AttemptStats body. This is part of the AttemptRead and the AttemptStreamStats objects. This eventually filters up to the jobs/list and jobs/get_debug_info objects. This also adds these to all the endpoints that were previously returning stats information. I think the duplicated data is a small issue and don't think it's worth splitting out a new api objects, though I will gladly do so if folks feel strongly.
minor changes to the AttemptApiController to support the new route.
- I've stubbed out the handlers for now since the backend is not yet implemented.
2022-11-04 10:05:07 -07:00
Benoit Moriceau
589f6efbfc Extract OAuth API (#18818)
* Tmp

* Extract the Attempt API from the V1 API

* Add comments

* Move Connection API out of configuration API

* format

* format

* Rename to Controller

* Rename to Controller

* Add values to the factory

* Change the constructor to use hadler instead of objects needed by the handler

* Update with new tags.

* tmp

* Fix PMD errors

* Extract DB migrator

* Add something that I forgot

* extract destination definition api

* restore destination factory initialization

* extract destination definition specification api

* format

* format

* format

* extract health check api

* extract jobs api

* fix test

* format

* Extract logs api

* Add missing declaration

* Fix build

* Tmp

* format and PR comments

* Extract notification API

* re-organize tags

* Extract all Oauth

* Fix PMD
2022-11-02 15:37:15 -07:00
Anne
d26e5bc248 DiscoverSchema endpoints calculates diff and breaking change (#18571)
* update discover schema endpoint to calculate diff
2022-11-02 14:10:07 -07:00
Anne
0c183334bf add nonBreakingChangePreference and notifySchemaChanges (#18636)
* add nonBreakingChangePreference and notifySchemaChanges
2022-10-31 12:58:39 -07:00
Xiaohan Song
21431f6297 use api to do jobpersistence query (#18308)
* use api to do jobpersistence query

* renaming some variables

* fix test
2022-10-25 14:27:42 -07:00
Benoit Moriceau
434a556dd8 Fix the tag in openAPI (#18445)
* Fix the tag

* remove unused
2022-10-25 14:23:47 -07:00
Benoit Moriceau
7ec6779df3 Bmoric/update connection list with breaking (#18125)
* add schemaChange

* merge conflict

* frontend tests

* tests

* l

* fix source catalog id

* test

* formatting

* move schema change to build backend web connection

* check if actor catalog id is different

* fix

* tests and fixes

* remove extra var

* remove logging

* continue to pass back new catalog id

* api updates

* fix mockdata

* tests

* add schemaChange

* merge conflict

* frontend tests

* tests

* l

* fix source catalog id

* test

* formatting

* move schema change to build backend web connection

* check if actor catalog id is different

* fix

* tests and fixes

* remove extra var

* remove logging

* continue to pass back new catalog id

* api updates

* fix mockdata

* tests

* tests

* optional of nullable

* Tmp

* For diff

* Add test

* More test

* Fix test and add some

* Fix merge and test

* Fix PMD

* Fix test

* Rm dead code

* Fix pmd

* Address PR comments

* RM unused column

Co-authored-by: alovew <anne@airbyte.io>
2022-10-24 16:13:38 -07:00
Anne
5082ebfe2a Add SchemaChange to WebBackendConnectionRead object (#17969)
* add schemaChange field to WebBackendConnectionRead and breakingChange to ConnectionRead
2022-10-21 13:08:03 -07:00
Xiaohan Song
6b1c5ee384 save queue name into Attempts table (#17921)
* save queue name

* make input nullable because we changed signature

* PR Comments fix
2022-10-19 17:10:37 -07:00
Michael Siega
e079761509 ensure workspace webhook configs can be persisted correctly (#18034)
* ensure workspace webhook configs can be correctly passed between API and persistence layers

* remove unnecessary logging

* add unit tests to workspace webhook config handling

* additional testing and style cleanup around workspace webhook config handling
2022-10-17 01:23:29 +02:00
Michael Siega
359b560de9 Introduce webhook operations to the operations API and persistence (#17984)
* introduce webhook operations to the operations API and persistence

* add unit tests for webhooks in operations endpoint handler

* fixes and additional testing in webhook operations handler

* cleanup refactor around operations handling to reduce duplicate code
2022-10-14 23:08:12 +02:00
Michael Siega
6a48da9226 Introduce webhook configs into workspace api and persistence (#17950)
* wip

* handle webhook configs in workspaces endpoint and split/hydrate secrets

* style improvements to documentation around webhook configs

* Clarify documentation around webhook auth tokens

* More documentation clarification around webhook configs

* Format.

* unit test coverage for webhook config handling

* use common json parsing libraries around webhook configs

* clean up around testing webhook operation configs

Co-authored-by: Davin Chia <davinchia@gmail.com>
2022-10-14 02:59:02 +02:00
Lake Mossman
ec5496840d Add workspace ID to connector check calls to fix segment tracking (#17816)
* add workspace ID to source/dest check and discover endpoints

* pass workspaceId to API from frontend

* make it work for destinations too
2022-10-11 09:55:39 -07:00
Anne
ca2605db95 Add breakingChange to catalogDiff (#17588)
* Add breaking field to FieldTransform on catalogDiff
2022-10-10 18:04:34 -07:00
Parker Mossman
fb9efb378d Add Workspace and Connection Geography Support to API (#17650)
* progress on adding geography throughout api

* fix workspace handler test

* more progress

* implement workspace defaulting and add/update more tests

* fix bootloader tests

* set defaultGeography in missing places

* add Geography column when reading Connection record from DB

* fix pmd

* add more comments/description

* format

* description
2022-10-10 13:34:19 -07:00
Parker Mossman
a8c72121f8 Remove catalog from web_backend/connections/list (#17002)
* Use PATCH Api for toggling connections

* remove catalog from web backend connection list, and move icon to source/destination field in response

* Adjust FE code

* comment out failing tests

* Resolve merge conflict

* add back in tests and make them pass with new list items

* format

* leave repository layer alone for now, just remove catalog from API response

* format

* load the icon when returning

* update sourceHandler and destinationHandler test to account for icons

* add icon to source and destination in webBackendConnectionHandlerTest

* change icon test to actually load an svg rather than using static mocks

* also fix icon test for WebBackendConnectionsHandlerTest

* make PMD happy

Co-authored-by: Tim Roes <tim@airbyte.io>
Co-authored-by: Davin Chia <davinchia@gmail.com>
Co-authored-by: KC <krishna@airbyte.io>
2022-09-28 12:01:10 -07:00
Davin Chia
517466eb66 Remove unused webbackend search code. (#17008)
* Remove unused webbackend search code.

* Remove unused request body.

* Remove unused request body.

* Remove failing test.

* Remove failing test.

* Remove failing test.

Co-authored-by: Parker Mossman <parker@airbyte.io>
2022-09-26 10:46:01 -07:00
Michael Siega
32a984123e convert the workspace update api to patch style (#16739)
* convert the workspace api to patch style

* check for empty email in workspace update
2022-09-26 11:29:51 +02:00
Davin Chia
03ae8bc4a4 Remove the webbackend list all route. (#17006)
Web backend routes are used by the Frontend.

This is not used today, and we don't imagine using it in the near future.
2022-09-21 16:21:09 -05:00
Parker Mossman
1a0ea82c34 Change ConnectionUpdate to PATCH behavior (#16157)
* remove operationIds from WebBackendConnectionUpdate, just use operations

* refactor connection updates to patch-style update, where null fields remain unchanged

* better comment and arg name

* format

* make sure we are still 'dual-writing' to the old schedule column, even when the patch doesn't specify anything for it

* update acceptance test to update with new schedule syntax

* add catalog sorting to preserve stream order during patch, and more tests

* format

* add description, throw runtime exception for impossible branches, move streamReset to private helper

* PR suggestions

* add nested test classes and write a test for the catalog sorting method

* format

* add comment clarifying that the catalog sort is for UX, and isn't critical

* format

* format

* update acceptance tests to send proper catalog patches instead of whole new catalog

* format

* format

* simplify catalog patching - now, if a catalog is present on the request, replace the entire catalog with it.
Otherwise, if catalog on the request is null, leave the catalog unchanged

* format

* format

* Revert "update acceptance tests to send proper catalog patches instead of whole new catalog"

This reverts commit 71922648b4e070f46ff6c468813b7ab8dd9d6651.

* adjust description
2022-09-19 18:36:34 -05:00
Parker Mossman
8852d52c9c Rename jobs/get-light to jobs/get_light and log response (#16685)
* test

* update jobInfoLight route and add log
2022-09-13 20:46:26 -07:00
Parker Mossman
1d29672122 add jobInfoLight API endpoint that excludes attempt information (#16682)
* add jobInfoLight API endpoint that excludes attempt information, which can be enormous as it includes all log lines

* update replication activity to call new light endpoint
2022-09-13 17:04:47 -07:00
Lake Mossman
a15288ad0f Improve job list API with more fetching capabilities (#16415)
* start implementation of new persistence method

* add includingJobId and totalJobCount to job list request

* format

* update local openapi as well

* refactor queries into JOOQ and return empty list if target job cannot be found

* fix descriptions and undo changes from other branch

* switch including job to starting job

* fix job history handler tests

* rewrite jobs subqueries in jooq

* fix multiple config type querying

* remove unnecessary casts

* switch back to 'including' and return multiple of page size necessary to include job

* undo webapp changes

* fix test description

* format
2022-09-12 16:32:04 -07:00