1
0
mirror of synced 2026-01-06 06:04:16 -05:00
Commit Graph

223 Commits

Author SHA1 Message Date
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
Parker Mossman
e30476e4fd Remove default value from namespaceDefinitionType (#17177)
* remove default value from namespaceDefinitionType

* fix test

* switch some tests to use PATCH-style connection update

* add default logic to connection creation

Co-authored-by: Michael Siega <michael@airbyte.io>
2022-09-26 15:43:17 -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
Jimmy Ma
9ad847bd8e Store protocol version from spec (#16416)
* Update protocol version from actor defs API operations

* Implement default airbyte protocol version support

* Add version parsing

* Add acceptance tests

* Fix Acceptance Tests

* format

* Make test package private
2022-09-08 18:21:28 -07:00
Anne
d856731029 Implement more Error Prone PMD rules (#15491)
* AvoidFieldNameMatchingTypeName rule
* AvoidInstanceofChecksInCatchClause
* compareObjectsWithEquals
* DoNotTerminateVM and ConstructorCallsOverridableMethod
* EmptyIfStmt and EmptyStatementNotInLoop
* ImplicitSwitchFallThrough, InvalidLogMessageFormat, and MoreThanOneLogger
2022-09-07 13:20:32 -07:00
Charles
ce201bc412 deprecate import / export endpoints (#16175)
* deprecate import / export endpoints

* remove fe deps on import / export

* additional fe clean up
2022-09-06 09:34:18 -07:00
Parker Mossman
6a06c5b0ff Upgrade OpenAPI Generator to 6.1.0-SNAPSHOT (#16026) 2022-08-26 18:36:01 -07:00
Parker Mossman
614ebb615d Multi-Cloud MVP: Combined branch for testing and merge (#15997)
* add new Configs for multi-cloud

* add api endpoints for setting workflow attempt id and createOrUpdate state

* update activities to call APIs instead of persistence

* workerApp refactor to separately initialize control or data plane dependencies

* modify syncWorkflow to call new activity that decides which task queue for data plane tasks

* misc to get build working

* move StateConverter to worker, so that server and worker can both access without needing to introduce any new dependencies

* update configs - remove extranneous helpers, clarify naming and comments, removed COMBINED value

* forgot to actually remove COMBINED enum value, this removes it

* add WorkerApp todo for breaking API Client into a scoped client

* rename decideTaskQueueActivity var to routeToTaskQueueActivity

* pr comments

* naming fix

* refactor secretHydrator instantiation

* WorkerApp PR feedback: move API client logic to separate class, use updated configs, etc

* add a RouterService class that is injected into RouteToTaskQueueActivityImpl

* AttemptApi cleanup and added unit test coverage

* fix confusion between AttemptId and AttemptNumber in new AttemptApi

* remove unused getDataPlaneSecretsHydrator

* remove unused import

Co-authored-by: Xiaohan Song <xiaohan@airbyte.io>
2022-08-26 14:10:19 -07:00
Lake Mossman
377a1499cf Move 'updateNew' logic into 'update', and remove 'updateNew' (#15863)
* save

* clean up more usages and remove withRefreshedCatalog

* make webapp use correct endpoint

* add back intercept

* fix acceptance test

* fix log

* remove 'new' from test name
2022-08-23 11:36:48 -07:00
Michael Siega
294ee8f226 Expose cron scheduling in the Connections APIs (#15253)
* Expose cron scheduling in the Connections APIs

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

Co-authored-by: terencecho <terence@airbyte.io>

* Update airbyte-server/src/test/java/io/airbyte/server/helpers/ConnectionHelpers.java

Co-authored-by: terencecho <terence@airbyte.io>

* update octavia-cli tests for new schedule schema, and fix update API impl

* check for null schedule data before updating

* handle new schedule related fields in generate / apply / import

* update octavia-cli changelog

* ensure that legacy manual schedule flag is consistent with schedule_type

* update octavia cli test coverage for new schedule schema

* fix failing octavia cli integration tests

* fix file diff check

* Update octavia-cli/unit_tests/test_apply/test_resources.py

Co-authored-by: Augustin <augustin.lafanechere@gmail.com>

Co-authored-by: terencecho <terence@airbyte.io>
Co-authored-by: alafanechere <augustin.lafanechere@gmail.com>
2022-08-11 19:27:08 +02:00
Jonathan Pearlin
10bcd9fc73 Generate separate server endpoints per domain (#15513) 2022-08-11 10:05:40 -04:00
terencecho
4910f2502b Add source type to SourceDefinitionRead (#14967) 2022-07-25 09:38:11 -07:00
Anne
2285c2e854 update open api in correct place (#14652)
* update open api in correct place
2022-07-13 10:05:05 -07:00
Harshith Mullapudi
a140c3e6ab fix: clone api doesn't take update configurations (#13592)
* fix: clone api doesn't take update configurations

* fix: you will be able to create clone in different workspace

* fix: added description to source/destination body
2022-07-04 21:29:19 +05:30
Charles
96d021ccbf add state type endpoint (#14111) 2022-06-27 22:40:21 -07:00
Charles
4c6d518154 fix stream name in stream transformation update (#14044) 2022-06-24 07:43:30 -07:00
Charles
2378b87157 add streams to reset to job info (#13919) 2022-06-22 10:52:54 -07:00
Charles
bbb340f9f1 add catalog diff connection read (#13918) 2022-06-22 08:57:36 -07:00
Charles
e89846cba9 update api for per stream (#13835) 2022-06-17 10:59:41 -07:00
Davin Chia
7788594e22 Start publishing proper artifacts. (#13484)
## What
Finale of https://github.com/airbytehq/airbyte/pull/13122.

We've renamed all directories in previous PRs. Here we remove the fat jar configuration and add publishing to all subprojects.

Explanation for what is happening:

Identically named subprojects have the following issues:
* publishing as is leads to classpath confusion when the jars with the same names are placed in the Java distribution. This leads to NoClassDefFound errors on runtime.
* deconflicting the jar names without changing directory names leads to dependency errors as the OSS jar pom files are generated using project dependencies (suggesting a dependency a sibling subproject in the same repo) that use subprojects group and name as a reference. This means the generated jars look for Jars that do not exists (as their names have been changed) and cannot compile.
* the workaround to changing a subproject's name involves resetting the subproject's name in the settings.gradle and depending on the new name in each build.gradle. This increases configuration burden and decreases the ease of reading, since one will have to check the settings.gradle to know what the right subproject name is. See https://github.com/gradle/gradle/issues/847 for more info.
* given that Gradle itself doesn't have support for identically named subprojects (see the linked issue), the simplest solution is to not allow duplicated directories. I've only renamed conflicting directories here to keep things simple. I will create a follow up issues to enforce non-identical subproject names in our builds.

## How
* Remove fat jar configuration.
* Add publishing to all subprojects.
2022-06-06 17:15:25 +08:00
Augustin
c3170f9240 airbyte-api: add jackson model annotations to remove null values from responses (#13370) 2022-06-03 12:01:30 +02:00
Evan Tahler
9aaa5135fd Display additional failure information when sync is expanded and jump to relevant log line (#12896)
* Display addtional failure information when sync is expanded

* rename

* Update airbyte-webapp/src/components/JobItem/components/FailureDetails.tsx

Co-authored-by: Tim Roes <tim@airbyte.io>

* fix bad merge

* jump to timestamp

* cleat timestamp when logs colapsed

* speed up search

* rename

* Do what @pedroslopez says

* Rebase from master after big API update

* `floor` matchtimes for greater range matching

* Update airbyte-webapp/src/components/JobItem/components/ErrorDetails.tsx

Co-authored-by: Tim Roes <tim@airbyte.io>

* Update airbyte-webapp/src/components/JobItem/components/ErrorDetails.tsx

Co-authored-by: Tim Roes <tim@airbyte.io>

* Update airbyte-webapp/src/components/JobItem/components/Logs.tsx

Co-authored-by: Tim Roes <tim@airbyte.io>

* Update airbyte-webapp/src/components/JobItem/JobItem.tsx

Co-authored-by: Tim Roes <tim@airbyte.io>

* replace regexp with `dayJs`

* Extract dayjs into globals module

* mach time in full-second resolution

* revert `dayJs` and use `Date.parse`

* Just show failure timestamp rather than scroll

Co-authored-by: Tim Roes <tim@airbyte.io>
2022-05-26 15:36:49 -07:00
Jonathan Pearlin
880c759cac Use "generated" in generated code package names (#13183) 2022-05-26 11:11:23 -04:00
Alexandre Girard
3894134d11 Bump year in license short to 2022 (#13191)
* Bump to 2022

* format
2022-05-25 17:56:49 -07:00
Lake Mossman
e8084c0189 Repair temporal state when performing manual actions (#12289)
* Repair temporal state when performing manual actions

* refactor temporal client and fix tests

* add unreachable workflow exception

* format

* test repeated deletion

* add acceptance tests for automatic workflow repair

* rename and DRY up manual operation methods in SchedulerHandler

* refactor temporal client to batch signal and start requests together in repair case

* add comment

* remove main method

* fix job id fetching

* only overwrite workflowState if reset flags are true on input

* fix test

* fix cancel endpoint

* Clean job state before creating new jobs in connection manager workflow (#12589)

* first working iteration of cleaning job state on first workflow run

* second iteration, with tests

* undo local testing changes

* move method

* add comment explaining placement of clean job state logic

* change connection_workflow failure origin value to platform

* remove cast from new query

* create static var for non terminal job statuses

* change failure origin value to airbyte_platform

* tweak external message wording

* remove unused variable

* reword external message

* fix merge conflict

* remove log lines

* move cleaning job state to beginning of workflow

* do not clean job state if there is already a job id for this workflow, and add test

* see if sleeping fixes test on CI

* add repeated test annotation to protect from flakiness

* fail jobs before creating new ones to protect from quarantined state

* update external message for cleaning job state error
2022-05-12 17:43:19 -07:00
Augustin
07068b0fe0 🐙 octavia-cli: use model serialization (#12133) 2022-05-06 18:55:22 +02:00
Malik Diarra
dda50e142f Update the sourceCatalogId field when the schema is updated (#12505)
* Set SourceCatalogId during connectionUpdate operation

* Return catalogId when get a connection

* Fix db operation of standardSync.sourceCatalogId

- value is not set correctly during update operation
- value is not read

* UI modification to set the sourceCatalogId

* remove sourceCatalogId from diff computation

Co-authored-by: alafanechere <augustin.lafanechere@gmail.com>
2022-05-04 07:57:05 -07:00
Azhar Dewji
d3dd403c9a fix: various nullable resources in OpenAPI config (#12260) 2022-04-29 14:21:22 +02:00
Ohcui
e45d1fafc0 OpenPI config: remove stale required key (#12341) 2022-04-28 15:35:19 +02:00
Subodh Kant Chaturvedi
405bf4daad workspaceId should be part of spec request (#12112)
* workspaceId should be part of spec request

* address review comment

* fix test

* format

* update octavia according to API changes

* create integration test for definition generation

* fix test

* fix test

Co-authored-by: alafanechere <augustin.lafanechere@gmail.com>
2022-04-22 19:30:06 +05:30
Malik Diarra
82e31c7ce7 Store the identifier of the catalog of the source when creating a new connection (#11610)
* Store source_catalog_id when creating a connection

* Set sourceCatalogId when creating a new connection

* Fix formatting
2022-04-21 15:31:11 -07:00
Huseyin Yilmaz
6a174e8f3d Update openapi schema. (#11807) 2022-04-07 11:01:30 -07:00
Tim Roes
25b65c6bb1 Improve onboarding performance (#11682)
* Improve onboarding performance

* Fix auto import issues

* Fix minor issues

* Regenerate index.html

* Add JUnit tests
2022-04-04 18:49:22 -07:00
terencecho
e0aa76d357 Create CustomerIO email notification client (#11220)
* Create CustomerIO email notification client

* remove unused docker yaml changes

* Remove unused comments

* Add unit test

* Rename to customerio specific notification client

* Rename email to customerio

* re-build
2022-03-31 08:01:46 -07:00
Peter Hu
bd54d4ac99 Define APIs for scoped connector definitions (#11244)
* listActorDefinitions apis now require workspaceId

- listSourceDefinitions takes workspaceId
- listDestinationDefinitions takes workspaceId

* actorDefinitionCreate apis now require workspaceId

- SourceDefinitionCreate takes workspaceId
- DestinationDefinitionCreate takes workspaceId

* source_definitions/list_opt_in

* destination_definitions/list_opt_in

* create/delete source definition grants

* create/delete destination definition grants

* PR feedback

- remove use of opt-in
- update description of definition list apis

* new create/list source definition routes

- create new routes instead of making breaking changes to existing ones
- existing create/list routes will be repurposed as admin only routes

* new create/list destination definition routes

- create new routes instead of making breaking changes to existing ones
- existing create/list routes will be repurposed as admin only routes

* revert acceptance test changes

* new update/delete actor definition routes

- create new routes instead of making breaking changes to existing ones
- existing create/list routes will be repurposed as admin only routes

* rearrange routes in config.yaml

* PR feedback

* new create actor definition routes

- create new routes instead of making breaking changes to existing ones
- existing create/list routes will be repurposed as admin only routes

* typo

* typo
2022-03-21 19:05:10 -07:00
Malik Diarra
3d9f9ec5a8 Cache schema during discoverSchema (#10820)
* Make SchedulerHandler store schema after fetching it

* Add `disable_cache` parameter to discover_schema API

* Return cached catalog if it already exists

* Address code review comments

* Add tests for caching of catalog in SchedulerHandler

* Format fixes

* Fix Acceptance tests

* New code review fixes

- Use upper case for global variable
- Inline definition and assignment of variable
2022-03-17 06:40:58 -07:00
Harshith Mullapudi
fa8cd83e30 Harshith/connection updates (#11153)
* Feat: first cut to allow naming for connections

* fix

* fix: migration

* fix: migration

* fix: formatting

* fix: formatting

* fix: tests

* fix: -> is bit outside of what we do generally

* fix: tests are failing

* fix: tests are failing

* fix: tests are failing

* fix: tests are failing

* fix: tests are failing
2022-03-16 03:05:18 +05:30
Harshith Mullapudi
0afc31baa3 Revert "Feat: first cut to allow naming for connections (#10889)" (#11152)
This reverts commit 6225eecf29.
2022-03-15 15:38:49 +05:30
Harshith Mullapudi
6225eecf29 Feat: first cut to allow naming for connections (#10889)
* Feat: first cut to allow naming for connections

* fix

* fix: migration

* fix: migration

* fix: formatting

* fix: formatting

* fix: tests

* fix: -> is bit outside of what we do generally
2022-03-15 14:05:31 +05:30
Charles
c1c8675366 Add readmes to all modules (#8893) 2022-03-13 14:45:36 -07:00
Parker Mossman
74007e2749 Remove deprecated FailureReason enum values (#10773)
* Remove deprecated/unused enum values from json schema, migration to update records to use corrected values

* make migration-specific classes handle any string, and remove extranneous comments/annotations for readability. also test that an unrecognized enum value is left alone and doesn't cause deserialization errors

* gradle format

* fix test

* fix jobTrackerTest with new enum values
2022-03-11 12:50:16 -08:00
Alasdair Brown
4e8c7bd521 fix[api] inconsistent casing on OperationID for Operations API (#10464)
* #10307 Fixes inconsistent casing on OperationID for Operations API

* update generated doc

Co-authored-by: alafanechere <augustin.lafanechere@gmail.com>
2022-03-01 17:07:02 +01:00
Azhar Dewji
05504e5e1f fix[api]: nullable connection schedule (#10107) 2022-03-01 16:40:40 +01:00
Charles
8078302bc3 Set resource limits for connector definitions: api layer (#10482) 2022-02-23 14:22:00 -08:00