## 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.
* 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>
* 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
* 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>
* 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>
* 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
* 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
* 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
* 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
* 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
* tombstone added to schema dump
* read/write actor_definition.tombstone in config persistence
* add tombstone field when loading from yaml seed persistence
* add tombstone to normalized_tables_schema.txt
* add test to ensure tombstone defaults to false
* add release_date and release_stage to actor_definition
- migration to add columns
- update json schema to add new fields
- update API schema to include new fields in definition reads
- update tests
* rename definition creation methods to include custom
* add format:date for releaseDate, and define shared releaseStage enum
* handle null releaseDate
* add attempt failure info to api yml
* populate failureSummary in JobConverter
* tests and formatting
* add Partial Success to glossary section of docs
* failure summary naming/enum tweaks
* tweak enum values and add retryable boolean instead of transient failureType
* Allow updating workspace names
* Add additional unit test
* Fix code styling
* Update slug as well
* Update indentations
* Pull name update into separate endpoint
* add optional tombstone field to StandardSourceDefinition and update repository methods to use it
add new ConfigRepository unit tests to cover includeTombstone logic
whitespace nits
remove accidental import
let autoformat decide whitespace
set tombstone false when creating a SourceDefinition
set tombstone in a couple missed places
remove includeTombstone param from get repository methods
check for tombstone sourceDefinition in ConfigDumpImporter
add tombstone to DestinationDefinition as well
add sourceDefinition delete endpoint, handler, and tests. also fix up some variable names (source -> sourceDefinition) because of confusion and conflicts
add api endpoint to delete destination definitions
filter via stream instead of if-continue
fix comment formatting
* gradle format
After a sync is completed, we tag all the workspace with related to this sync as having a first sync completed.
This will then be forwarded to the UI in another PR.
This is part of #5884
* Enhance API for use by cloud to provide per-connector billing information
* Add listAllConnectionsForWorkspace to include deleted
* Config for list all connections
* Merged master, and formatting
* Formatting
* Name change per PR suggestion
* Name change per PR suggestion
* Formatting again
* Change OAuth API
* Change protocol for new OAuthConfigSpecification
* Refactor OAuth classes and tests
* Remove webbackend source/destination creation
* Change from webback to normal API
* Implement new protocol change with OAuth specs
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* format
* format
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* Change OAuth API
* Change protocol for new OAuth Spec (#7827)
* Add examples
* Add protocol object to api too
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* adding google sheets oauth flow to server
* fix oauth type in protocol yaml
* bump sheets version in definitions
* added GDrive scope
* update sheets to master changes
* update protocol incl. cdk
* protocol typing for oauth rootobject
* format
* Add API endpoints for connections, sources, and destinations
* Updating tests
* Tests for source and destination handlers
* Reformat code
* Update airbyte-server/src/main/java/io/airbyte/server/handlers/helpers/ConnectionMatcher.java
Co-authored-by: LiRen Tu <tuliren@gmail.com>
* Adding tests
* Format code
Co-authored-by: LiRen Tu <tuliren@gmail.com>
We do not need authentication on the health check route since this is meant for monitoring.
Disable this by specifying an empty security block in the route.