Skip to content

GraalVM compatibility #3323

@BenFradet

Description

@BenFradet

What

Using the datadog api client in a aws lambda with the graalvm runtime results in the following exception:

Unable to record metrics
org.glassfish.hk2.api.MultiException: A MultiException has 1 exceptions.  They are:
1. java.lang.NoSuchMethodException: Could not find a suitable constructor in org.glassfish.jersey.media.multipart.MultiPartFeature class.
org.jvnet.hk2.internal.Collector.throwIfErrors(Collector.java:65)
org.jvnet.hk2.internal.Utilities.justCreate(Utilities.java:1045)
org.jvnet.hk2.internal.ServiceLocatorImpl.create(ServiceLocatorImpl.java:984)
org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:1088)
org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:1080)
org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.createAndInitialize(AbstractHk2InjectionManager.java:194)
org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.createAndInitialize(ImmediateHk2InjectionManager.java:30)
org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:709)
org.glassfish.jersey.model.internal.CommonConfig.configureMetaProviders(CommonConfig.java:647)
org.glassfish.jersey.client.ClientConfig$State.configureMetaProviders(ClientConfig.java:392)
org.glassfish.jersey.client.ClientConfig$State.initRuntime(ClientConfig.java:445)
org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:317)
org.glassfish.jersey.client.ClientConfig.getRuntime(ClientConfig.java:820)
org.glassfish.jersey.client.ClientRequest.getClientRuntime(ClientRequest.java:176)
org.glassfish.jersey.client.ClientRequest.getInjectionManager(ClientRequest.java:567)
org.glassfish.jersey.client.JerseyWebTarget.onBuilder(JerseyWebTarget.java:371)
org.glassfish.jersey.client.JerseyWebTarget.request(JerseyWebTarget.java:199)
org.glassfish.jersey.client.JerseyWebTarget.request(JerseyWebTarget.java:38)
com.datadog.api.client.ApiClient.createBuilder(ApiClient.java:1847)
com.datadog.api.client.v1.api.MetricsApi.submitDistributionPointsWithHttpInfoAsync(MetricsApi.java:897)
com.datadog.api.client.v1.api.MetricsApi.submitDistributionPointsAsync(MetricsApi.java:760)

To Reproduce

  • deploy a lambda with the graalvm runtime
  • use MetricsApi.submitDistributionPointsAsync(payload)

Expected behavior

We should be able to record metrics in graalvm

Environment and Versions (please complete the following information):

  • version of this library used 2.40.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugBug related issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions