You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There was a change in #1354 which adds an additional DgsGraphQLMetricsInstrumentation.MetricsInstrumentationState parameter to the DgsExecutionTagCustomizer, DgsFieldFetchTagCustomizer, and DgsGraphQLMetricsTagsProvider interfaces. These changes are breaking for any consumers that have implementations of these interfaces.
Expected behavior
Minor releases do not include breaking changes to APIs. The following customizer should work with v5.4.5:
An AbstractMethodError is thrown from DgsGraphQLCollatedMetricsTagsProvider:
Caused by: java.lang.AbstractMethodError: com.indeed.boot.graphql.tracing.DgsMetricsCustomizer.getFieldFetchTags(Lcom/netflix/graphql/dgs/metrics/micrometer/DgsGraphQLMetricsInstrumentation$MetricsInstrumentationState;Lgraphql/execution/instrumentation/parameters/InstrumentationFieldFetchParameters;Ljava/lang/Throwable;)Ljava/lang/Iterable;
at com.netflix.graphql.dgs.metrics.micrometer.DgsGraphQLCollatedMetricsTagsProvider.getFieldFetchTags(DgsGraphQLCollatedMetricsTagsProvider.kt:54)
at com.netflix.graphql.dgs.metrics.micrometer.DgsGraphQLMetricsInstrumentation.recordDataFetcherMetrics(DgsGraphQLMetricsInstrumentation.kt:208)
at com.netflix.graphql.dgs.metrics.micrometer.DgsGraphQLMetricsInstrumentation.instrumentDataFetcher$lambda$2(DgsGraphQLMetricsInstrumentation.kt:157)
at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:282)
at graphql.execution.ExecutionStrategy.resolveFieldWithInfo(ExecutionStrategy.java:211)
at graphql.execution.AsyncExecutionStrategy.execute(AsyncExecutionStrategy.java:59)
at graphql.execution.Execution.executeOperation(Execution.java:159)
at graphql.execution.Execution.execute(Execution.java:105)
at graphql.GraphQL.execute(GraphQL.java:645)
at graphql.GraphQL.lambda$parseValidateAndExecute$11(GraphQL.java:564)
at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:995)
at java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2137)
at graphql.GraphQL.parseValidateAndExecute(GraphQL.java:559)
at graphql.GraphQL.executeAsync(GraphQL.java:527)
at com.netflix.graphql.dgs.internal.BaseDgsQueryExecutor.baseExecute(BaseDgsQueryExecutor.kt:127)
at com.netflix.graphql.dgs.internal.DefaultDgsQueryExecutor.execute(DefaultDgsQueryExecutor.kt:79)
... 74 more
Steps to reproduce
Compile the example DgsMetricsCustomizer class above against v5.4.4 and package into a library. Attempt to use it in a service running v5.4.5.
The text was updated successfully, but these errors were encountered:
Thanks for the detailed description. Apologies for the breakage. We realized this was a breaking change inadvertently after the minor release. Please update your code by adding the additional parameter.
There was a change in #1354 which adds an additional
DgsGraphQLMetricsInstrumentation.MetricsInstrumentationState
parameter to theDgsExecutionTagCustomizer
,DgsFieldFetchTagCustomizer
, andDgsGraphQLMetricsTagsProvider
interfaces. These changes are breaking for any consumers that have implementations of these interfaces.Expected behavior
Minor releases do not include breaking changes to APIs. The following customizer should work with v5.4.5:
Actual behavior
An
AbstractMethodError
is thrown fromDgsGraphQLCollatedMetricsTagsProvider
:Steps to reproduce
Compile the example
DgsMetricsCustomizer
class above against v5.4.4 and package into a library. Attempt to use it in a service running v5.4.5.The text was updated successfully, but these errors were encountered: