Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[destination-postgres] New destination connector with image airbyte/postgres-destination but different registry doesn't work #54691

Open
1 task
daniel-soler opened this issue Feb 26, 2025 · 1 comment

Comments

@daniel-soler
Copy link

Connector Name

destination-postgres

Connector Version

2.4.0

What step the error happened?

During the sync

Relevant information

I am using Airbyte 1.1.0 in EKS and is deployed using Helm.

Due to company requirements I have to use ECR as image registry. I have pulled the official airbyte/postgres-destination:2.4.0 from docker hub and then pushed it to a private ECR repository.

I have created a new destination connector using the UI (Settings > Destinations > + New Connector) using the image from the ECR repository and the tag 2.4.0 -- Note: I tried with 2.4.3 with same results.

All the tests after creation pass, but at the time of creating a new connection and performing the sync, the job fails and requests to downgrade the connector version or upgrade Airbyte to 0.63.7. When using th built-in connector with same version I don't get the error.

Looking into the Airbyte database, the supports_refreshes column for my custom connector is False, while the built-in is True.

SELECT *
FROM actor_definition_version
WHERE actor_definition_id IN (
SELECT id
FROM actor_definition
WHERE name ilike '%postgres%' and actor_type = 'destination'
);"

Image

Please, am I doing something wrong when creating the connector or is this a bug?

Relevant log output

2025-02-26 20:08:00 replication-orchestrator > readFromSource: exception caught
java.lang.IllegalStateException: No exit code found.
	at io.airbyte.workers.internal.ContainerIOHandle.getExitCode(ContainerIOHandle.kt:104) ~[io.airbyte-airbyte-commons-worker-1.1.0.jar:?]
	at io.airbyte.workers.internal.LocalContainerAirbyteSource.getExitValue(LocalContainerAirbyteSource.kt:90) ~[io.airbyte-airbyte-commons-worker-1.1.0.jar:?]
	at io.airbyte.workers.general.BufferedReplicationWorker.readFromSource(BufferedReplicationWorker.java:355) ~[io.airbyte-airbyte-commons-worker-1.1.0.jar:?]
	at io.airbyte.workers.general.BufferedReplicationWorker.lambda$runAsyncWithHeartbeatCheck$3(BufferedReplicationWorker.java:222) ~[io.airbyte-airbyte-commons-worker-1.1.0.jar:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
	at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
2025-02-26 20:08:00 replication-orchestrator > readFromSource: done. (source.isFinished:false, fromSource.isClosed:true)
2025-02-26 20:09:00 replication-orchestrator > Failed to wait for exit value file /source/exitCode.txt to be found.
java.util.concurrent.TimeoutException: null
	at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095) ~[?:?]
	at io.airbyte.workers.internal.ContainerIOHandle.terminate(ContainerIOHandle.kt:120) [io.airbyte-airbyte-commons-worker-1.1.0.jar:?]
	at io.airbyte.workers.internal.ContainerIOHandle.terminate$default(ContainerIOHandle.kt:109) [io.airbyte-airbyte-commons-worker-1.1.0.jar:?]
	at io.airbyte.workers.internal.LocalContainerAirbyteSource.close(LocalContainerAirbyteSource.kt:44) [io.airbyte-airbyte-commons-worker-1.1.0.jar:?]
	at io.airbyte.workers.general.BufferedReplicationWorker.run(BufferedReplicationWorker.java:150) [io.airbyte-airbyte-commons-worker-1.1.0.jar:?]
	at io.airbyte.container_orchestrator.orchestrator.ReplicationJobOrchestrator.run(ReplicationJobOrchestrator.java:119) [io.airbyte-airbyte-container-orchestrator-1.1.0.jar:?]
	at io.airbyte.container_orchestrator.orchestrator.ReplicationJobOrchestrator.runJob(ReplicationJobOrchestrator.java:101) [io.airbyte-airbyte-container-orchestrator-1.1.0.jar:?]
	at io.airbyte.container_orchestrator.Application.run(Application.java:73) [io.airbyte-airbyte-container-orchestrator-1.1.0.jar:?]
	at io.airbyte.container_orchestrator.Application.main(Application.java:37) [io.airbyte-airbyte-container-orchestrator-1.1.0.jar:?]
2025-02-26 20:09:00 replication-orchestrator > Closing StateCheckSumCountEventHandler
2025-02-26 20:09:00 replication-orchestrator > sync summary: {
  "status" : "failed",
  "startTime" : 1740600447962,
  "endTime" : 1740600540930,
  "totalStats" : {
    "bytesEmitted" : 0,
    "destinationStateMessagesEmitted" : 0,
    "destinationWriteEndTime" : 0,
    "destinationWriteStartTime" : 1740600448606,
    "meanSecondsBeforeSourceStateMessageEmitted" : 0,
    "maxSecondsBeforeSourceStateMessageEmitted" : 0,
    "meanSecondsBetweenStateMessageEmittedandCommitted" : 0,
    "recordsEmitted" : 0,
    "replicationEndTime" : 1740600540921,
    "replicationStartTime" : 1740600447962,
    "sourceReadEndTime" : 0,
    "sourceReadStartTime" : 1740600448635,
    "sourceStateMessagesEmitted" : 0
  },
  "streamStats" : [ ],
  "performanceMetrics" : {
    "processFromSource" : {
      "elapsedTimeInNanos" : 0,
      "executionCount" : 0,
      "avgExecTimeInNanos" : "NaN"
    },
    "readFromSource" : {
      "elapsedTimeInNanos" : 32159587237,
      "executionCount" : 1,
      "avgExecTimeInNanos" : 3.2159587237E10
    },
    "processFromDest" : {
      "elapsedTimeInNanos" : 6597622,
      "executionCount" : 1,
      "avgExecTimeInNanos" : 6597622.0
    },
    "writeToDest" : {
      "elapsedTimeInNanos" : 0,
      "executionCount" : 0,
      "avgExecTimeInNanos" : "NaN"
    },
    "readFromDest" : {
      "elapsedTimeInNanos" : 4886676766,
      "executionCount" : 211,
      "avgExecTimeInNanos" : 2.315960552606635E7
    }
  }
}
2025-02-26 20:09:00 replication-orchestrator > failures: [ {
  "failureOrigin" : "destination",
  "failureType" : "config_error",
  "internalMessage" : "io.airbyte.commons.exceptions.ConfigErrorException: You must upgrade your platform version to use this connector version. Either downgrade your connector or upgrade platform to 0.63.7",
  "externalMessage" : "You must upgrade your platform version to use this connector version. Either downgrade your connector or upgrade platform to 0.63.7",
  "metadata" : {
    "attemptNumber" : 0,
    "jobId" : 7421,
    "from_trace_message" : true,
    "connector_command" : "write"
  },
  "stacktrace" : "io.airbyte.commons.exceptions.ConfigErrorException: You must upgrade your platform version to use this connector version. Either downgrade your connector or upgrade platform to 0.63.7\n\tat io.airbyte.integrations.base.destination.typing_deduping.CatalogParser.toStreamConfig(CatalogParser.kt:139)\n\tat io.airbyte.integrations.base.destination.typing_deduping.CatalogParser.parseCatalog(CatalogParser.kt:56)\n\tat io.airbyte.cdk.integrations.destination.jdbc.AbstractJdbcDestination.getV2MessageConsumer(AbstractJdbcDestination.kt:282)\n\tat io.airbyte.cdk.integrations.destination.jdbc.AbstractJdbcDestination.getSerializedMessageConsumer(AbstractJdbcDestination.kt:252)\n\tat io.airbyte.cdk.integrations.base.ssh.SshWrappedDestination.getSerializedMessageConsumer(SshWrappedDestination.kt:129)\n\tat io.airbyte.cdk.integrations.base.IntegrationRunner.runInternal(IntegrationRunner.kt:214)\n\tat io.airbyte.cdk.integrations.base.IntegrationRunner.run(IntegrationRunner.kt:119)\n\tat io.airbyte.cdk.integrations.base.IntegrationRunner.run$default(IntegrationRunner.kt:113)\n\tat io.airbyte.integrations.destination.postgres.PostgresDestination$Companion.main(PostgresDestination.kt:220)\n\tat io.airbyte.integrations.destination.postgres.PostgresDestination.main(PostgresDestination.kt)\n",
  "timestamp" : 1740600453480
}, {
  "failureOrigin" : "destination",
  "internalMessage" : "Destination process exited with non-zero exit code 1",
  "externalMessage" : "Something went wrong within the destination connector",
  "metadata" : {
    "attemptNumber" : 0,
    "jobId" : 7421,
    "connector_command" : "write"
  },
  "stacktrace" : "io.airbyte.workers.internal.exception.DestinationException: Destination process exited with non-zero exit code 1\n\tat io.airbyte.workers.general.BufferedReplicationWorker.readFromDestination(BufferedReplicationWorker.java:500)\n\tat io.airbyte.workers.general.BufferedReplicationWorker.lambda$runAsync$2(BufferedReplicationWorker.java:215)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n",
  "timestamp" : 1740600453819
}, {
  "failureOrigin" : "destination",
  "internalMessage" : "Destination process message delivery failed",
  "externalMessage" : "Something went wrong within the destination connector",
  "metadata" : {
    "attemptNumber" : 0,
    "jobId" : 7421,
    "connector_command" : "write"
  },
  "stacktrace" : "io.airbyte.workers.internal.exception.DestinationException: Destination process message delivery failed\n\tat io.airbyte.workers.general.BufferedReplicationWorker.writeToDestination(BufferedReplicationWorker.java:451)\n\tat io.airbyte.workers.general.BufferedReplicationWorker.lambda$runAsyncWithTimeout$5(BufferedReplicationWorker.java:243)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.IllegalStateException: No exit code found.\n\tat io.airbyte.workers.internal.ContainerIOHandle.getExitCode(ContainerIOHandle.kt:104)\n\tat io.airbyte.workers.internal.LocalContainerAirbyteSource.getExitValue(LocalContainerAirbyteSource.kt:90)\n\tat io.airbyte.workers.general.BufferedReplicationWorker.writeToDestination(BufferedReplicationWorker.java:440)\n\t... 5 more\n",
  "timestamp" : 1740600453827
}, {
  "failureOrigin" : "source",
  "internalMessage" : "Source process read attempt failed",
  "externalMessage" : "Something went wrong within the source connector",
  "metadata" : {
    "attemptNumber" : 0,
    "jobId" : 7421,
    "connector_command" : "read"
  },
  "stacktrace" : "io.airbyte.workers.internal.exception.SourceException: Source process read attempt failed\n\tat io.airbyte.workers.general.BufferedReplicationWorker.readFromSource(BufferedReplicationWorker.java:375)\n\tat io.airbyte.workers.general.BufferedReplicationWorker.lambda$runAsyncWithHeartbeatCheck$3(BufferedReplicationWorker.java:222)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.IllegalStateException: No exit code found.\n\tat io.airbyte.workers.internal.ContainerIOHandle.getExitCode(ContainerIOHandle.kt:104)\n\tat io.airbyte.workers.internal.LocalContainerAirbyteSource.getExitValue(LocalContainerAirbyteSource.kt:90)\n\tat io.airbyte.workers.general.BufferedReplicationWorker.readFromSource(BufferedReplicationWorker.java:355)\n\t... 5 more\n",
  "timestamp" : 1740600480876
}, {
  "failureOrigin" : "replication",
  "internalMessage" : "io.airbyte.workers.exception.WorkerException: Destination process exit with code 1. This warning is normal if the job was cancelled.",
  "externalMessage" : "Something went wrong during replication",
  "metadata" : {
    "attemptNumber" : 0,
    "jobId" : 7421
  },
  "stacktrace" : "java.lang.RuntimeException: io.airbyte.workers.exception.WorkerException: Destination process exit with code 1. This warning is normal if the job was cancelled.\n\tat io.airbyte.workers.general.BufferedReplicationWorker$CloseableWithTimeout.lambda$close$0(BufferedReplicationWorker.java:545)\n\tat io.airbyte.workers.general.BufferedReplicationWorker.lambda$runAsyncWithTimeout$5(BufferedReplicationWorker.java:243)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: io.airbyte.workers.exception.WorkerException: Destination process exit with code 1. This warning is normal if the job was cancelled.\n\tat io.airbyte.workers.internal.LocalContainerAirbyteDestination.close(LocalContainerAirbyteDestination.kt:62)\n\tat io.airbyte.workers.general.BufferedReplicationWorker$CloseableWithTimeout.lambda$close$0(BufferedReplicationWorker.java:543)\n\t... 5 more\n",
  "timestamp" : 1740600480900
} ]
2025-02-26 20:09:00 replication-orchestrator > 
2025-02-26 20:09:00 replication-orchestrator > ----- END REPLICATION -----

Contribute

  • Yes, I want to contribute
@marcosmarxm
Copy link
Member

please upgrade to the latest platform version it has important bugfixes related to external images registries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants