-
Notifications
You must be signed in to change notification settings - Fork 381
Closed
Description
The DatasourceDatasetFacet schema specifies two fields, both of which are (implicitly) optional. However, leaving either of these fields blank when POSTing a run event to a Marquez server results in the following kind of error:
ERROR [2022-03-02 17:02:57,555] marquez.api.OpenLineageResource: Unexpected error while processing request
! java.lang.NullPointerException: null
! at java.base/java.net.URI$Parser.parse(Unknown Source)
! at java.base/java.net.URI.<init>(Unknown Source)
! at marquez.db.OpenLineageDao.getUrlOrNull(OpenLineageDao.java:290)
! at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
! at org.jdbi.v3.core.internal.exceptions.Unchecked.lambda$function$4(Unchecked.java:76)
! at org.jdbi.v3.sqlobject.DefaultMethodHandler.invoke(DefaultMethodHandler.java:50)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.lambda$invoke$0(SqlObjectInitData.java:132)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
! at org.jdbi.v3.core.LazyHandleSupplier.lambda$invokeInContext$1(LazyHandleSupplier.java:77)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
! at org.jdbi.v3.core.LazyHandleSupplier.invokeInContext(LazyHandleSupplier.java:76)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.call(SqlObjectInitData.java:138)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.invoke(SqlObjectInitData.java:132)
! at org.jdbi.v3.sqlobject.SqlObjectFactory.lambda$attach$2(SqlObjectFactory.java:110)
! at com.sun.proxy.$Proxy122.getUrlOrNull(Unknown Source)
! at marquez.db.OpenLineageDao.upsertLineageDataset(OpenLineageDao.java:332)
! at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
! at org.jdbi.v3.core.internal.exceptions.Unchecked.lambda$function$4(Unchecked.java:76)
! at org.jdbi.v3.sqlobject.DefaultMethodHandler.invoke(DefaultMethodHandler.java:50)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.lambda$invoke$0(SqlObjectInitData.java:132)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
! at org.jdbi.v3.core.LazyHandleSupplier.lambda$invokeInContext$1(LazyHandleSupplier.java:77)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
! at org.jdbi.v3.core.LazyHandleSupplier.invokeInContext(LazyHandleSupplier.java:76)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.call(SqlObjectInitData.java:138)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.invoke(SqlObjectInitData.java:132)
! at org.jdbi.v3.sqlobject.SqlObjectFactory.lambda$attach$2(SqlObjectFactory.java:110)
! at com.sun.proxy.$Proxy122.upsertLineageDataset(Unknown Source)
! at marquez.db.OpenLineageDao.updateBaseMarquezModel(OpenLineageDao.java:222)
! at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
! at org.jdbi.v3.core.internal.exceptions.Unchecked.lambda$function$4(Unchecked.java:76)
! at org.jdbi.v3.sqlobject.DefaultMethodHandler.invoke(DefaultMethodHandler.java:50)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.lambda$invoke$0(SqlObjectInitData.java:132)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
! at org.jdbi.v3.core.LazyHandleSupplier.lambda$invokeInContext$1(LazyHandleSupplier.java:77)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
! at org.jdbi.v3.core.LazyHandleSupplier.invokeInContext(LazyHandleSupplier.java:76)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.call(SqlObjectInitData.java:138)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.invoke(SqlObjectInitData.java:132)
! at org.jdbi.v3.sqlobject.SqlObjectFactory.lambda$attach$2(SqlObjectFactory.java:110)
! at com.sun.proxy.$Proxy122.updateBaseMarquezModel(Unknown Source)
! at marquez.db.OpenLineageDao.updateMarquezModel(OpenLineageDao.java:73)
! at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
! at org.jdbi.v3.core.internal.exceptions.Unchecked.lambda$function$4(Unchecked.java:76)
! at org.jdbi.v3.sqlobject.DefaultMethodHandler.invoke(DefaultMethodHandler.java:50)
! at org.jdbi.v3.sqlobject.transaction.internal.TransactionDecorator.lambda$decorateHandler$3(TransactionDecorator.java:46)
! at org.jdbi.v3.core.transaction.LocalTransactionHandler$BoundLocalTransactionHandler.inTransaction(LocalTransactionHandler.java:208)
! at org.jdbi.v3.core.transaction.LocalTransactionHandler$BoundLocalTransactionHandler.inTransaction(LocalTransactionHandler.java:233)
! at org.jdbi.v3.core.Handle.inTransaction(Handle.java:505)
! at org.jdbi.v3.sqlobject.transaction.internal.TransactionDecorator.lambda$decorateHandler$4(TransactionDecorator.java:54)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.lambda$invoke$0(SqlObjectInitData.java:132)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
! at org.jdbi.v3.core.LazyHandleSupplier.lambda$invokeInContext$1(LazyHandleSupplier.java:77)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
! at org.jdbi.v3.core.LazyHandleSupplier.invokeInContext(LazyHandleSupplier.java:76)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.call(SqlObjectInitData.java:138)
! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.invoke(SqlObjectInitData.java:132)
! at org.jdbi.v3.sqlobject.SqlObjectFactory.lambda$attach$2(SqlObjectFactory.java:110)
! at org.jdbi.v3.core.internal.OnDemandExtensions.lambda$invoke$5(OnDemandExtensions.java:98)
! at org.jdbi.v3.core.internal.exceptions.Unchecked.lambda$function$4(Unchecked.java:76)
! at org.jdbi.v3.core.internal.OnDemandExtensions.invoke(OnDemandExtensions.java:98)
! at org.jdbi.v3.core.internal.OnDemandExtensions.lambda$createProxy$2(OnDemandExtensions.java:82)
! at org.jdbi.v3.core.Jdbi.callWithExtension(Jdbi.java:476)
! at org.jdbi.v3.core.Jdbi.withExtension(Jdbi.java:463)
! at org.jdbi.v3.core.internal.OnDemandExtensions.lambda$createProxy$3(OnDemandExtensions.java:82)
! at com.sun.proxy.$Proxy90.updateMarquezModel(Unknown Source)
! at marquez.service.DelegatingDaos$DelegatingOpenLineageDao.updateMarquezModel(DelegatingDaos.java:59)
! at marquez.service.OpenLineageService.lambda$createAsync$0(OpenLineageService.java:55)
! at marquez.tracing.SentryPropagating$SentryPropagatingSupplier.get(SentryPropagating.java:23)
! ... 7 common frames omitted
! Causing: java.util.concurrent.CompletionException: java.lang.NullPointerException
! at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source)
! at java.base/java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source)
! at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
! at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(Unknown Source)
! at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
! at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
! at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
! at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
! at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
172.18.0.1 - - [02/Mar/2022:17:02:57 +0000] "POST /api/v1/lineage HTTP/1.1" 500 0 "-" "-" 32
Here is the query in question causing the error:
{
"eventType": "START",
"eventTime": "2022-03-02T18:09:08.621531103+01:00",
"run": {
"runId": "28b5c373-1eef-4845-82a6-98bba8f7541c",
"facets": {}
},
"job": {
"namespace": "my-namespace",
"name": "a-job",
"facets": {}
},
"inputs": [
{
"namespace": "imdb",
"name": "movies",
"facets": {
"dataSource": {
"_producer": "",
"_schemaURL": "https://github.com/OpenLineage/OpenLineage/blob/0.5.2/spec/facets/DatasourceDatasetFacet.json",
"name": "movies.csv"
}
},
"inputFacets": {}
}
],
"outputs": [],
"producer": "my-producer",
"schemaUrl": "https://openlineage.io/spec/1-0-2/OpenLineage.json"
}Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Type
Projects
Status
Done