- Is this your first time deploying Airbyte?: Yes
- OS Version / Instance: MacOS M1
- Memory / Disk: 10Gb / 1 Tb
- Deployment: Docker
- Airbyte Version: latest
- Source name/version: Postgres - latest
- Destination name/version: Postgres - latest
- Step: Sync
- Description:
I am evaluating using airbyte for a new DW. For a POC i built a postgres to postgres connection for 5 tables local, docker deployment, basic normalization and incremental with dedup history replication. The initial load works great, but every subsequent sync fails where it trying to make a second jdbc connection back to the source db. Seems like a race condition, maybe due to both db instances on localhost w/ different ports ? It is not an intermittent problem. This is all on a M1 mac so i had to build everything from latest to run native arm. On the source postgres db I set the max_wal_workers to 1 because there is only one replication slot, increasing this value just causes a different connection error saying the replication slot is already in use.
Here is the error from log:
2022-04-26 13:44:42 [43mdestination[0m > 2022-04-26 13:44:42 [32mINFO[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onStartFunction$1):126 - Preparing tmp table in destination started for stream django_celery_beat_crontabschedule. schema: public, tmp table name: _airbyte_tmp_khf_django_celery_beat_crontabschedule
2022-04-26 13:44:42 [44msource[0m > 2022-04-26 13:44:42 [32mINFO[m i.d.c.p.PostgresSchema(printReplicaIdentityInfo):116 - REPLICA IDENTITY for 'public.django_celery_beat_periodictask' is 'DEFAULT'; UPDATE and DELETE events will contain previous values only for PK columns
2022-04-26 13:44:42 [44msource[0m > 2022-04-26 13:44:42 [32mINFO[m i.d.c.p.PostgresSchema(printReplicaIdentityInfo):116 - REPLICA IDENTITY for 'public.django_celery_beat_crontabschedule' is 'DEFAULT'; UPDATE and DELETE events will contain previous values only for PK columns
2022-04-26 13:44:42 [44msource[0m > 2022-04-26 13:44:42 [32mINFO[m i.d.c.p.PostgresSchema(printReplicaIdentityInfo):116 - REPLICA IDENTITY for 'public.django_celery_beat_intervalschedule' is 'DEFAULT'; UPDATE and DELETE events will contain previous values only for PK columns
2022-04-26 13:44:42 [44msource[0m > 2022-04-26 13:44:42 [32mINFO[m i.d.c.p.PostgresSchema(printReplicaIdentityInfo):116 - REPLICA IDENTITY for 'public.django_celery_beat_clockedschedule' is 'DEFAULT'; UPDATE and DELETE events will contain previous values only for PK columns
2022-04-26 13:44:42 [44msource[0m > 2022-04-26 13:44:42 [32mINFO[m i.d.c.p.PostgresStreamingChangeEventSource(searchWalPosition):268 - Searching for WAL resume position
2022-04-26 13:44:42 [43mdestination[0m > 2022-04-26 13:44:42 [32mINFO[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onStartFunction$1):126 - Preparing tmp table in destination started for stream django_celery_beat_intervalschedule. schema: public, tmp table name: _airbyte_tmp_pdu_django_celery_beat_intervalschedule
2022-04-26 13:44:42 [43mdestination[0m > 2022-04-26 13:44:42 [32mINFO[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onStartFunction$1):126 - Preparing tmp table in destination started for stream django_celery_beat_periodictask. schema: public, tmp table name: _airbyte_tmp_gth_django_celery_beat_periodictask
2022-04-26 13:44:42 [43mdestination[0m > 2022-04-26 13:44:42 [32mINFO[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onStartFunction$1):132 - Preparing tables in destination completed.
2022-04-26 13:44:43 [44msource[0m > 2022-04-26 13:44:42 [32mINFO[m i.d.c.p.c.WalPositionLocator(resumeFromLsn):60 - First LSN 'LSN{0/241F10B8}' received
2022-04-26 13:44:43 [44msource[0m > 2022-04-26 13:44:42 [32mINFO[m i.d.c.p.PostgresStreamingChangeEventSource(searchWalPosition):287 - WAL resume position 'LSN{0/241F10B8}' discovered
2022-04-26 13:44:43 [44msource[0m > 2022-04-26 13:44:43 [32mINFO[m i.d.j.JdbcConnection(lambda$doClose$3):945 - Connection gracefully closed
2022-04-26 13:44:43 [44msource[0m > 2022-04-26 13:44:43 [1;31mERROR[m i.d.p.ErrorHandler(setProducerThrowable):31 - Producer failure
2022-04-26 13:44:43 [44msource[0m > org.postgresql.util.PSQLException: FATAL: number of requested standby connections exceeds max_wal_senders (currently 1)
2022-04-26 13:44:43 [44msource[0m > at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:613) ~[postgresql-42.2.18.jar:42.2.18]
2022-04-26 13:44:43 [44msource[0m > at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:161) ~[postgresql-42.2.18.jar:42.2.18]
2022-04-26 13:44:43 [44msource[0m > at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:213) ~[postgresql-42.2.18.jar:42.2.18]
2022-04-26 13:44:43 [44msource[0m > at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51) ~[postgresql-42.2.18.jar:42.2.18]
2022-04-26 13:44:43 [44msource[0m > at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:225) ~[postgresql-42.2.18.jar:42.2.18]
2022-04-26 13:44:43 [44msource[0m > at org.postgresql.Driver.makeConnection(Driver.java:465) ~[postgresql-42.2.18.jar:42.2.18]
2022-04-26 13:44:43 [44msource[0m > at org.postgresql.Driver.connect(Driver.java:264) ~[postgresql-42.2.18.jar:42.2.18]
2022-04-26 13:44:43 [44msource[0m > at io.debezium.jdbc.JdbcConnection.lambda$patternBasedFactory$1(JdbcConnection.java:230) ~[debezium-core-1.4.2.Final.jar:1.4.2.Final]
2022-04-26 13:44:43 [44msource[0m > at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:871) ~[debezium-core-1.4.2.Final.jar:1.4.2.Final]
2022-04-26 13:44:43 [44msource[0m > at io.debezium.connector.postgresql.connection.PostgresReplicationConnection.reconnect(PostgresReplicationConnection.java:613) ~[debezium-connector-postgres-1.4.2.Final.jar:1.4.2.Final]
2022-04-26 13:44:43 [44msource[0m > at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:142) ~[debezium-connector-postgres-1.4.2.Final.jar:1.4.2.Final]
2022-04-26 13:44:43 [44msource[0m > at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:140) ~[debezium-core-1.4.2.Final.jar:1.4.2.Final]
2022-04-26 13:44:43 [44msource[0m > at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:113) ~[debezium-core-1.4.2.Final.jar:1.4.2.Final]
2022-04-26 13:44:43 [44msource[0m > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
2022-04-26 13:44:43 [44msource[0m > at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
2022-04-26 13:44:43 [44msource[0m > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
2022-04-26 13:44:43 [44msource[0m > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
2022-04-26 13:44:43 [44msource[0m > at java.lang.Thread.run(Thread.java:833) [?:?] (edited)