Summary
How to check error logs for source or destination setup in Airbyte platform when establishing a connection fails
Question
Which container do you check for any error or logs generated during source or destination setup? The ephemeral container doesn’t have enough logs but my attempt to establish postgres destination connection is failing.
This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. Click here if you want to access the original thread.
Join the conversation on Slack
["error-logs", "source-setup", "destination-setup", "postgres-connection", "ephemeral-container"]
You never really see any log output in the source or dest containers beyond some initial setup messages.
Generally all logs get shipped to the Worker and are emitted to stdout along with the worker logs. However, workers are emitting logs for all the jobs they are managing, so they are all muddled together.
The job logs can be uploaded to cloud storage too; and should be more persistent there. (at least in https://docs.airbyte.com/deploying-airbyte/on-kubernetes-via-helm#external-logs|K8S)
Thank you for response <@U04GVA45P43>, I am currently trying to connect postgres destination and not seeing enough logs on the ephemeral container created, so I was wondering where can I see what’s actually happening. I’ll check and report back.
I don’t use the postgres destination; but all destinations typically test the connection on creation - did you have any issues creating the connection?
if not, then its likely some issue with permissions, like it cannot create the table it needs
I’m seeing some errors:
ERROR StatusConsoleListener Could not create plugin of type class com.van.logging.log4j2.Log4j2Appender for element Log4j2Appender: java.lang.RuntimeException: Cannot build appender due to errors
java.lang.RuntimeException: Cannot build appender due to errors
at com.van.logging.log4j2.Log4j2AppenderBuilder.build(Log4j2AppenderBuilder.java:147)
at com.van.logging.log4j2.Log4j2AppenderBuilder.build(Log4j2AppenderBuilder.java:25)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1162)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:```
unsure if that is a legit error or not; it seems to be an issue with the logger itself
this one might be noise. I see issues like that in my own workers, and if you trace it back, it starts from (at least for me) KubePodProcess.exitValue
– ie: when the job is shutting down
although throwing an exception here at all is a bit odd; so this could be a bug
That looks like a bug and I see some issues related to this in github. Regardless of that error, this was helpful where to check connection logs.
it seems to be something to do with :
│ Caused by: java.lang.IllegalStateException: Only one of Region or EndpointConfiguration may be set. │
My issue appears to be more related to this https://github.com/airbytehq/airbyte/issues/34539|issue.
Cannot create enum from ${env:S3_LOG_BUCKET_REGION} value!
I think perhaps I found the issue
The log4j2 string sustituter is not being given a default value; and when that happens, the substituted string remains in-place; your s3-region is literally set to ${env:S3_LOG_BUCKET_REGION}
as a work-around; you may be able to set the value to a space " "
character
i believe the log4j appender that uses this trims spaces and ignores empty strings
although if this is your s3 bucket region not being set; i’d advise you set it to your bucket region
in my case its similar but for the s3-endpoint
which should be empty; since it only makes sense when you are using minio