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
14.73k stars 3.78k forks source link

[deploy] Getting 500 Server Error: Internal Server Error #38101

Open BenameurZyad opened 1 month ago

BenameurZyad commented 1 month ago

Platform Version

0.59.0

What step the error happened?

Other

Relevant information

Good day !

We are running Airbyte OSS on docker-compose in Codespace VSCode straight after installation.

# clone Airbyte from GitHub
git clone --depth=1 https://github.com/airbytehq/airbyte.git

# switch into Airbyte directory
cd airbyte

# start Airbyte
./run-ab-platform.sh

and we get this http error 500 when using the API (which should not happen)

500 Server Error: Internal Server Error for url: http://localhost:8001/api/public/v1/sources?workspaceIds=3f23c18f-a6af-4af1-ba05-62ade0b4e063&limit=100&offset=0

The main point we found in the full error message is : "Message: Could not resolve placeholder ${AIRBYTE_API_HOST}",

We found the solution by this addition in the docker-compose.yml :

  server:
    image: airbyte/server:${VERSION}
    logging: *default-logging
    container_name: airbyte-server
    restart: unless-stopped
    environment:
      - AIRBYTE_API_HOST=${AIRBYTE_API_HOST}

We added the env var in the server service. After that, the API worked like a charm. :-)

We wonder if this is normal or a bug ?

Relevant log output

{
    "message": "Internal Server Error: Error instantiating bean of type  [io.airbyte.server.apis.publicapi.controllers.SourcesController]\n\nMessage: Could not resolve placeholder ${AIRBYTE_API_HOST}\nPath Taken: new SourcesController(SourceService sourceService,TrackingHelper trackingHelper,ApiAuthorizationHelper apiAuthorizationHelper,CurrentUserService currentUserService) --> new SourcesController([SourceService sourceService],TrackingHelper trackingHelper,ApiAuthorizationHelper apiAuthorizationHelper,CurrentUserService currentUserService)",
    "exceptionClassName": "io.micronaut.context.exceptions.BeanInstantiationException",
    "exceptionStack": [
        "io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type  [io.airbyte.server.apis.publicapi.controllers.SourcesController]",
        "",
        "Message: Could not resolve placeholder ${AIRBYTE_API_HOST}",
        "Path Taken: new SourcesController(SourceService sourceService,TrackingHelper trackingHelper,ApiAuthorizationHelper apiAuthorizationHelper,CurrentUserService currentUserService) --> new SourcesController([SourceService sourceService],TrackingHelper trackingHelper,ApiAuthorizationHelper apiAuthorizationHelper,CurrentUserService currentUserService)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2326)",
        "\tat io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2281)",
        "\tat io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2293)",
        "\tat io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3095)",
        "\tat io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)",
        "\tat io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2997)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2958)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2732)",
        "\tat io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1731)",
        "\tat io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:89)",
        "\tat io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2161)",
        "\tat io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1324)",
        "\tat io.airbyte.server.apis.publicapi.controllers.$SourcesController$Definition.instantiate(Unknown Source)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2311)",
        "\tat io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2281)",
        "\tat io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2293)",
        "\tat io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3095)",
        "\tat io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)",
        "\tat io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2997)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2958)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2932)",
        "\tat io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1697)",
        "\tat io.micronaut.context.DefaultBeanContext$BeanContextExecutionHandle.getTarget(DefaultBeanContext.java:4265)",
        "\tat io.micronaut.context.DefaultBeanContext$BeanContextUnsafeExecutionHandle.invokeUnsafe(DefaultBeanContext.java:4232)",
        "\tat io.micronaut.web.router.AbstractRouteMatch.execute(AbstractRouteMatch.java:236)",
        "\tat io.micronaut.http.server.RouteExecutor.executeRouteAndConvertBody(RouteExecutor.java:488)",
        "\tat io.micronaut.http.server.RouteExecutor.lambda$callRoute$6(RouteExecutor.java:465)",
        "\tat io.micronaut.core.execution.ExecutionFlow.lambda$async$1(ExecutionFlow.java:87)",
        "\tat io.micronaut.core.propagation.PropagatedContext.lambda$wrap$3(PropagatedContext.java:211)",
        "\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)",
        "\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)",
        "\tat java.base/java.lang.Thread.run(Thread.java:1583)",
        "Caused by: io.micronaut.context.exceptions.ConfigurationException: Could not resolve placeholder ${AIRBYTE_API_HOST}",
        "\tat io.micronaut.context.env.DefaultPropertyPlaceholderResolver$PlaceholderSegment.getValue(DefaultPropertyPlaceholderResolver.java:391)",
        "\tat io.micronaut.context.env.DefaultPropertyPlaceholderResolver.resolveRequiredPlaceholdersObject(DefaultPropertyPlaceholderResolver.java:116)",
        "\tat io.micronaut.context.env.PropertySourcePropertyResolver.resolvePlaceHoldersIfNecessary(PropertySourcePropertyResolver.java:791)",
        "\tat io.micronaut.context.env.PropertySourcePropertyResolver.getProperty(PropertySourcePropertyResolver.java:388)",
        "\tat io.micronaut.core.value.PropertyResolver.getProperty(PropertyResolver.java:140)",
        "\tat io.micronaut.core.value.PropertyResolver.getProperty(PropertyResolver.java:157)",
        "\tat io.micronaut.context.env.DefaultPropertyPlaceholderResolver.resolveOptionalExpression(DefaultPropertyPlaceholderResolver.java:245)",
        "\tat io.micronaut.context.env.DefaultPropertyPlaceholderResolver$PlaceholderSegment.findValue(DefaultPropertyPlaceholderResolver.java:398)",
        "\tat io.micronaut.context.env.DefaultPropertyPlaceholderResolver.resolvePlaceholders(DefaultPropertyPlaceholderResolver.java:96)",
        "\tat io.micronaut.context.DefaultApplicationContext.resolvePlaceholders(DefaultApplicationContext.java:649)",
        "\tat io.micronaut.context.AbstractInitializableBeanDefinition.resolveValue(AbstractInitializableBeanDefinition.java:2188)",
        "\tat io.micronaut.context.AbstractInitializableBeanDefinition.resolveValue(AbstractInitializableBeanDefinition.java:2037)",
        "\tat io.micronaut.context.AbstractInitializableBeanDefinition.getValueForField(AbstractInitializableBeanDefinition.java:1699)",
        "\tat io.airbyte.server.apis.publicapi.services.$SourceServiceImpl$Definition.inject(Unknown Source)",
        "\tat io.airbyte.server.apis.publicapi.services.$SourceServiceImpl$Definition.instantiate(Unknown Source)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2311)",
        "\t... 31 more"
    ],
    "rootCauseExceptionClassName": "java.lang.Class",
    "rootCauseExceptionStack": [
        "io.micronaut.context.exceptions.ConfigurationException: Could not resolve placeholder ${AIRBYTE_API_HOST}",
        "\tat io.micronaut.context.env.DefaultPropertyPlaceholderResolver$PlaceholderSegment.getValue(DefaultPropertyPlaceholderResolver.java:391)",
        "\tat io.micronaut.context.env.DefaultPropertyPlaceholderResolver.resolveRequiredPlaceholdersObject(DefaultPropertyPlaceholderResolver.java:116)",
        "\tat io.micronaut.context.env.PropertySourcePropertyResolver.resolvePlaceHoldersIfNecessary(PropertySourcePropertyResolver.java:791)",
        "\tat io.micronaut.context.env.PropertySourcePropertyResolver.getProperty(PropertySourcePropertyResolver.java:388)",
        "\tat io.micronaut.core.value.PropertyResolver.getProperty(PropertyResolver.java:140)",
        "\tat io.micronaut.core.value.PropertyResolver.getProperty(PropertyResolver.java:157)",
        "\tat io.micronaut.context.env.DefaultPropertyPlaceholderResolver.resolveOptionalExpression(DefaultPropertyPlaceholderResolver.java:245)",
        "\tat io.micronaut.context.env.DefaultPropertyPlaceholderResolver$PlaceholderSegment.findValue(DefaultPropertyPlaceholderResolver.java:398)",
        "\tat io.micronaut.context.env.DefaultPropertyPlaceholderResolver.resolvePlaceholders(DefaultPropertyPlaceholderResolver.java:96)",
        "\tat io.micronaut.context.DefaultApplicationContext.resolvePlaceholders(DefaultApplicationContext.java:649)",
        "\tat io.micronaut.context.AbstractInitializableBeanDefinition.resolveValue(AbstractInitializableBeanDefinition.java:2188)",
        "\tat io.micronaut.context.AbstractInitializableBeanDefinition.resolveValue(AbstractInitializableBeanDefinition.java:2037)",
        "\tat io.micronaut.context.AbstractInitializableBeanDefinition.getValueForField(AbstractInitializableBeanDefinition.java:1699)",
        "\tat io.airbyte.server.apis.publicapi.services.$SourceServiceImpl$Definition.inject(Unknown Source)",
        "\tat io.airbyte.server.apis.publicapi.services.$SourceServiceImpl$Definition.instantiate(Unknown Source)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2311)",
        "\tat io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2281)",
        "\tat io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2293)",
        "\tat io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3095)",
        "\tat io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)",
        "\tat io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2997)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2958)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2732)",
        "\tat io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1731)",
        "\tat io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:89)",
        "\tat io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2161)",
        "\tat io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1324)",
        "\tat io.airbyte.server.apis.publicapi.controllers.$SourcesController$Definition.instantiate(Unknown Source)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2311)",
        "\tat io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2281)",
        "\tat io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2293)",
        "\tat io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3095)",
        "\tat io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)",
        "\tat io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2997)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2958)",
        "\tat io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2932)",
        "\tat io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1697)",
        "\tat io.micronaut.context.DefaultBeanContext$BeanContextExecutionHandle.getTarget(DefaultBeanContext.java:4265)",
        "\tat io.micronaut.context.DefaultBeanContext$BeanContextUnsafeExecutionHandle.invokeUnsafe(DefaultBeanContext.java:4232)",
        "\tat io.micronaut.web.router.AbstractRouteMatch.execute(AbstractRouteMatch.java:236)",
        "\tat io.micronaut.http.server.RouteExecutor.executeRouteAndConvertBody(RouteExecutor.java:488)",
        "\tat io.micronaut.http.server.RouteExecutor.lambda$callRoute$6(RouteExecutor.java:465)",
        "\tat io.micronaut.core.execution.ExecutionFlow.lambda$async$1(ExecutionFlow.java:87)",
        "\tat io.micronaut.core.propagation.PropagatedContext.lambda$wrap$3(PropagatedContext.java:211)",
        "\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)",
        "\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)",
        "\tat java.base/java.lang.Thread.run(Thread.java:1583)"
    ]
}
marcosmarxm commented 1 month ago

Thanks for bringing this to our attention @BenameurZyad. I've informed the engineers to review and correct it.