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
Describe the bug
Schema of GMS GraphQL indicates that domains object returned by listDomains query has a function entities which takes DomainEntitiesInput as input, which in turn contains variable filters which, according to the schema, allows for fields:
With an indication that value field is deprecated and values should be used instead. Unfortunately handling of values is not properly implemented - trying to issue query having input containing values instead of value field ends up with a server side exception.
Instead of expected output, a list of server-side exceptions (code 500) is returned. Closer look at GMS logs indicates that (log comes from datahub version 0.12.0 so line numbers do not match but problem persists in current master):
Caused by: java.lang.NullPointerException: Cannot set field value of com.linkedin.metadata.query.filter.Criterion to null
at com.linkedin.metadata.query.filter.Criterion.setValue(Criterion.java:304)
at com.linkedin.datahub.graphql.resolvers.domain.DomainEntitiesResolver.lambda$get$0(DomainEntitiesResolver.java:77)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at com.linkedin.datahub.graphql.resolvers.domain.DomainEntitiesResolver.lambda$get$1(DomainEntitiesResolver.java:76)
Expected behavior values field is used in the filter criterion. Additionally value field should be supported too as schema indicates it is supported but deprecated. As to what should happen if both of them are provided I am not sure.
@jjoyce0510 Is this a known issue? any plan to fix soon?
While we could overcome this by using the deprecated value fiend until fixed, we access GMS GraphQL through a GraphQL Mesh component which has an issue preventing us using deprecated fields 😅 So the request on fixing in GMS
This issue is stale because it has been open for 30 days with no activity. If you believe this is still an issue on the latest DataHub release please leave a comment with the version that you tested it with. If this is a question/discussion please head to https://slack.datahubproject.io. For feature requests please use https://feature-requests.datahubproject.io
Describe the bug
Schema of GMS GraphQL indicates that
domains
object returned bylistDomains
query has a functionentities
which takesDomainEntitiesInput
as input, which in turn contains variablefilters
which, according to the schema, allows for fields:With an indication that
value
field is deprecated andvalues
should be used instead. Unfortunately handling ofvalues
is not properly implemented - trying to issue query having input containingvalues
instead ofvalue
field ends up with a server side exception.To Reproduce
Issue GraphQL query:
Instead of expected output, a list of server-side exceptions (code 500) is returned. Closer look at GMS logs indicates that (log comes from datahub version
0.12.0
so line numbers do not match but problem persists in currentmaster
):Expected behavior
values
field is used in the filter criterion. Additionallyvalue
field should be supported too as schema indicates it is supported but deprecated. As to what should happen if both of them are provided I am not sure.Additional context
There is clear indication what stands behind this bug, the class implementation uses
filter.getValue()
and notgetValues()
at all:https://github.com/datahub-project/datahub/blob/master/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/domain/DomainEntitiesResolver.java#L83
The text was updated successfully, but these errors were encountered: