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
15.88k stars 4.07k forks source link

Bootloader fails on upgrade to v0.42.0 on AWS EC2 #24086

Open mattimoller opened 1 year ago

mattimoller commented 1 year ago

Environment

Current Behavior

When upgrading airbyte from 0.40.28 -> 0.42.0 the bootloader fails on docker compose up with error message "service "bootloader" didn't complete successfully: exit 255"

The bootloader logs show the following error: resource DATABASE_PORT=5432 not found.

Expected Behavior

Airbyte should start as expected on docker compose up command with new version

Logs

The bootloader logs from docker compose logs -f bootloader are attached

Steps to Reproduce

  1. Install Airbyte version 0.40.28 on EC2 instance
  2. Compose down and fetch 0.42.0 files
  3. docker compose up

Are you willing to submit a PR?

Yes

mattimoller commented 1 year ago

bootloader_logs.txt

MattApril commented 1 year ago

Did you figure this out? I'm having the same error, but when upgrading FROM v0.42

MattApril commented 1 year ago

Update: I'm not really sure what I did to get it working, but after trying many different versions and killing some containers it eventually worked.

tahasonmez commented 1 year ago

Same issue here and couldn't find a way to fix it..

totheroh commented 5 months ago

Same issue, different underlying error in the container:

Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: character varying = non_breaking_change_preference_type
airbyte-bootloader  |   Hint: No operator matches the given name and argument types. You might need to add explicit type casts.
Dirkmal commented 4 months ago

Were you able to figure out how to fix this? I am currently having the same challenge and not so experienced with airbyte to know what to troubleshoot

Dirkmal commented 4 months ago

Here's a seciton of the logs in my console airbyte-db | 2024-05-24 16:53:17.009 UTC [95] ERROR: operator does not exist: character varying = non_breaking_change_preference_type at character 64 airbyte-db | 2024-05-24 16:53:17.009 UTC [95] HINT: No operator matches the given name and argument types. You might need to add explicit type casts. airbyte-db | 2024-05-24 16:53:17.009 UTC [95] STATEMENT: select id from connection where non_breaking_change_preference = cast($1 as "non_breaking_change_preference_type") airbyte-bootloader | 2024-05-24 16:53:17 ERROR o.f.c.i.l.s.Slf4jLog(error):45 - Migration of schema "public" to version "0.44.4.002 - MigrateNonBreakingChangeToEnum" failed! Changes successfully rolled back.

AKranz-dev commented 4 months ago

I had the same issue trying to upgrade from version 0.42 to 0.59. Simply deleting the bootloader container (docker rm) and re-running docker compose up resolved the issue. Hope this helps!

echatzig commented 4 months ago

in my case, I attempted a fresh installation from the latest master branch. The failing migration is from 0.44.4.001 ->0.44.4.002 as shown below:

airbyte-bootloader | 2024-06-11 16:00:05 INFO o.f.c.i.l.s.Slf4jLog(info):37 - Current version of schema "public": 0.44.4.001 airbyte-bootloader | 2024-06-11 16:00:05 INFO o.f.c.i.l.s.Slf4jLog(info):37 - Migrating schema "public" to version "0.44.4.002 - MigrateNonBreakingChangeToEnum" airbyte-db | 2024-06-11 16:00:05.807 UTC [79] ERROR: operator does not exist: character varying = non_breaking_change_preference_type at character 64

Alien2150 commented 3 months ago

I found a workaround. Connect to postgres and run:

alter table connection
    rename column non_breaking_change_preference to non_breaking_change_preference_bak;

alter table connection
    add column  non_breaking_change_preference non_breaking_change_preference_type default 'ignore';

non_breaking_change_preference_bak column can be removed afterwards. But seems to cause an issue on the UI:

Screenshot 2024-06-21 at 23 21 28

Uodate.: This could be solved by dropping the column afterwards as airbyte uses a "select connection.*" operator