airbytehq / airbyte

The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.
https://airbyte.com
Other
16.15k stars 4.13k forks source link

Add ability to pause/unpause temporal workflows for specific connections #13832

Closed lmossman closed 1 year ago

lmossman commented 2 years ago

What

When investigating OC issues, especially those that are affecting all connections, it would be useful to be able to pause and unpause the temporal workflows for all or for specific connections. This can help greatly in cutting down the noise in logs, isolating the issue to a limited set of connections, and testing if issues are related to scale or not.

How

Add logic to the beginning of the connection manager temporal workflow that checks something to decide whether it should continue running the workflow. If not, the temporal workflow should await, with an unblock condition that is fired when the connection is unpaused.

This something could take a few forms:

The main thing to keep in mind here is that this flag should be visible and easily configurable, unlike the old "quarantined" status that connections would be put into, where it was nearly impossible to understand which connections were quarantined, and very cumbersome to unquarantine them.

Ideally, when a connection is "paused" in this way it would be made visible in the Airbyte UI, e.g. displaying a message such as This connection has been paused by an Airbyte administrator. This may require a new connection status to be added to the database.

Goal

Start out with a spike into LaunchDarkly to see if it satisfies some or all of these requirements

lmossman commented 2 years ago
davinchia commented 1 year ago

This is less relevant with the introduction of 'self-healing' workflows.