Skip to content

Internal server error 500 - field name too long #1758

@mandy-chessell

Description

@mandy-chessell

Marquez returns a 500 if the following open lineage event is sent to it:

{"producer":"https://egeria-project.org/","schemaURL":"https://openlineage.io/spec/1-0-2/OpenLineage.json#/$defs/RunEvent","eventType":"START","eventTime":"2021-11-06T14:15:45.536Z","run":{"runId":"b978fa80-e28c-4891-908d-63e84b7c830a","facets":{"nominalTime":{"_producer":"https://egeria-project.org/","_schemaURL":"https://openlineage.io/spec/facets/1-0-0/NominalTimeRunFacet.json#/$defs/NominalTimeRunFacet","nominalStartTime":"2021-11-06T14:15:33.398Z"},"additionalProperties":{}},"additionalProperties":{}},"job":{"namespace":"governance-action-process:clinical-trials:drop-foot:weekly-measurements:onboarding","name":"provision-weekly-measurements-governance-action-type"},"inputs":[{"namespace":"governance-action-process:clinical-trials:drop-foot:weekly-measurements:onboarding","name":"sourceFile"}]}

This is the error log:

marquez-db                  | 2021-11-06 14:15:48.409 UTC [83] ERROR:  value too long for type character varying(64)
marquez-db                  | 2021-11-06 14:15:48.409 UTC [83] STATEMENT:  /* NamespaceDao.upsertNamespaceRow */ INSERT INTO namespaces ( uuid, created_at, updated_at, name, current_owner_name ) VALUES ($1, $2, $3, $4, $5) ON CONFLICT(name) DO UPDATE SET updated_at = EXCLUDED.updated_at RETURNING *
marquez-api                 | ERROR [2021-11-06 14:15:48,445] marquez.api.OpenLineageResource: Unexpected error while processing request
marquez-api                 | ! org.postgresql.util.PSQLException: ERROR: value too long for type character varying(64)
marquez-api                 | ! at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2565)
marquez-api                 | ! at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2297)
marquez-api                 | ! at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:322)
marquez-api                 | ! at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:481)
marquez-api                 | ! at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:401)
marquez-api                 | ! at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:164)
marquez-api                 | ! at org.postgresql.jdbc.PgPreparedStatement.execute(PgPreparedStatement.java:153)
marquez-api                 | ! at jdk.internal.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
marquez-api                 | ! at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
marquez-api                 | ! at java.base/java.lang.reflect.Method.invoke(Unknown Source)
marquez-api                 | ! at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:118)
marquez-api                 | ! at com.sun.proxy.$Proxy42.execute(Unknown Source)
marquez-api                 | ! at org.jdbi.v3.core.statement.SqlLoggerUtil.wrap(SqlLoggerUtil.java:31)
marquez-api                 | ! at org.jdbi.v3.core.statement.SqlStatement.internalExecute(SqlStatement.java:1782)
marquez-api                 | ! ... 77 common frames omitted
marquez-api                 | ! Causing: org.jdbi.v3.core.statement.UnableToExecuteStatementException: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(64) [statement:"/* NamespaceDao.upsertNamespaceRow */ INSERT INTO namespaces ( uuid, created_at, updated_at, name, current_owner_name ) VALUES (:uuid, :now, :now, :name, :currentOwnerName) ON CONFLICT(name) DO UPDATE SET updated_at = EXCLUDED.updated_at RETURNING *", arguments:{positional:{0:b362973a-a073-45ab-b00b-a1fafa5ef729,1:2021-11-06T14:15:45.536Z,2:governance-action-process:clinical-trials:drop-foot:weekly-measurements:onboarding,3:anonymous}, named:{now:2021-11-06T14:15:45.536Z,name:governance-action-process:clinical-trials:drop-foot:weekly-measurements:onboarding,uuid:b362973a-a073-45ab-b00b-a1fafa5ef729,currentOwnerName:anonymous}, finder:[]}]
marquez-api                 | ! at org.jdbi.v3.core.statement.SqlStatement.internalExecute(SqlStatement.java:1790)
marquez-api                 | ! at org.jdbi.v3.core.result.ResultProducers.lambda$getResultSet$2(ResultProducers.java:64)
marquez-api                 | ! at org.jdbi.v3.core.result.ResultIterable.lambda$of$0(ResultIterable.java:54)
marquez-api                 | ! at org.jdbi.v3.core.result.ResultIterable.findFirst(ResultIterable.java:203)
marquez-api                 | ! at org.jdbi.v3.sqlobject.statement.internal.ResultReturner$CollectedResultReturner.mappedResult(ResultReturner.java:277)
marquez-api                 | ! at org.jdbi.v3.sqlobject.statement.internal.SqlQueryHandler.lambda$configureReturner$0(SqlQueryHandler.java:61)
marquez-api                 | ! at org.jdbi.v3.sqlobject.statement.internal.CustomizingStatementHandler.invoke(CustomizingStatementHandler.java:187)
marquez-api                 | ! at org.jdbi.v3.sqlobject.statement.internal.SqlQueryHandler.invoke(SqlQueryHandler.java:27)
marquez-api                 | ! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.lambda$invoke$0(SqlObjectInitData.java:132)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
marquez-api                 | ! at org.jdbi.v3.core.LazyHandleSupplier.lambda$invokeInContext$1(LazyHandleSupplier.java:77)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
marquez-api                 | ! at org.jdbi.v3.core.LazyHandleSupplier.invokeInContext(LazyHandleSupplier.java:76)
marquez-api                 | ! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.call(SqlObjectInitData.java:138)
marquez-api                 | ! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.invoke(SqlObjectInitData.java:132)
marquez-api                 | ! at org.jdbi.v3.sqlobject.SqlObjectFactory.lambda$attach$2(SqlObjectFactory.java:110)
marquez-api                 | ! at org.jdbi.v3.core.internal.OnDemandExtensions.lambda$invoke$5(OnDemandExtensions.java:98)
marquez-api                 | ! at org.jdbi.v3.core.internal.exceptions.Unchecked.lambda$function$4(Unchecked.java:76)
marquez-api                 | ! at org.jdbi.v3.core.internal.OnDemandExtensions.invoke(OnDemandExtensions.java:98)
marquez-api                 | ! at org.jdbi.v3.core.internal.OnDemandExtensions.lambda$createProxy$2(OnDemandExtensions.java:82)
marquez-api                 | ! at org.jdbi.v3.core.Jdbi.callWithExtension(Jdbi.java:476)
marquez-api                 | ! at org.jdbi.v3.core.Jdbi.withExtension(Jdbi.java:458)
marquez-api                 | ! at org.jdbi.v3.core.internal.OnDemandExtensions.lambda$createProxy$3(OnDemandExtensions.java:82)
marquez-api                 | ! at com.sun.proxy.$Proxy80.upsertNamespaceRow(Unknown Source)
marquez-api                 | ! at marquez.db.OpenLineageDao.updateBaseMarquezModel(OpenLineageDao.java:97)
marquez-api                 | ! at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
marquez-api                 | ! at org.jdbi.v3.core.internal.exceptions.Unchecked.lambda$function$4(Unchecked.java:76)
marquez-api                 | ! at org.jdbi.v3.sqlobject.DefaultMethodHandler.invoke(DefaultMethodHandler.java:50)
marquez-api                 | ! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.lambda$invoke$0(SqlObjectInitData.java:132)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
marquez-api                 | ! at org.jdbi.v3.core.LazyHandleSupplier.lambda$invokeInContext$1(LazyHandleSupplier.java:77)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
marquez-api                 | ! at org.jdbi.v3.core.LazyHandleSupplier.invokeInContext(LazyHandleSupplier.java:76)
marquez-api                 | ! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.call(SqlObjectInitData.java:138)
marquez-api                 | ! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.invoke(SqlObjectInitData.java:132)
marquez-api                 | ! at org.jdbi.v3.sqlobject.SqlObjectFactory.lambda$attach$2(SqlObjectFactory.java:110)
marquez-api                 | ! at com.sun.proxy.$Proxy132.updateBaseMarquezModel(Unknown Source)
marquez-api                 | ! at marquez.db.OpenLineageDao.updateMarquezModel(OpenLineageDao.java:73)
marquez-api                 | ! at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
marquez-api                 | ! at org.jdbi.v3.core.internal.exceptions.Unchecked.lambda$function$4(Unchecked.java:76)
marquez-api                 | ! at org.jdbi.v3.sqlobject.DefaultMethodHandler.invoke(DefaultMethodHandler.java:50)
marquez-api                 | ! at org.jdbi.v3.sqlobject.transaction.internal.TransactionDecorator.lambda$decorateHandler$3(TransactionDecorator.java:46)
marquez-api                 | ! at org.jdbi.v3.core.transaction.LocalTransactionHandler$BoundLocalTransactionHandler.inTransaction(LocalTransactionHandler.java:208)
marquez-api                 | ! at org.jdbi.v3.core.transaction.LocalTransactionHandler$BoundLocalTransactionHandler.inTransaction(LocalTransactionHandler.java:233)
marquez-api                 | ! at org.jdbi.v3.core.Handle.inTransaction(Handle.java:505)
marquez-api                 | ! at org.jdbi.v3.sqlobject.transaction.internal.TransactionDecorator.lambda$decorateHandler$4(TransactionDecorator.java:54)
marquez-api                 | ! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.lambda$invoke$0(SqlObjectInitData.java:132)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
marquez-api                 | ! at org.jdbi.v3.core.LazyHandleSupplier.lambda$invokeInContext$1(LazyHandleSupplier.java:77)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:44)
marquez-api                 | ! at org.jdbi.v3.core.internal.Invocations.invokeWith(Invocations.java:26)
marquez-api                 | ! at org.jdbi.v3.core.LazyHandleSupplier.invokeInContext(LazyHandleSupplier.java:76)
marquez-api                 | ! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.call(SqlObjectInitData.java:138)
marquez-api                 | ! at org.jdbi.v3.sqlobject.internal.SqlObjectInitData$1.invoke(SqlObjectInitData.java:132)
marquez-api                 | ! at org.jdbi.v3.sqlobject.SqlObjectFactory.lambda$attach$2(SqlObjectFactory.java:110)
marquez-api                 | ! at org.jdbi.v3.core.internal.OnDemandExtensions.lambda$invoke$5(OnDemandExtensions.java:98)
marquez-api                 | ! at org.jdbi.v3.core.internal.exceptions.Unchecked.lambda$function$4(Unchecked.java:76)
marquez-api                 | ! at org.jdbi.v3.core.internal.OnDemandExtensions.invoke(OnDemandExtensions.java:98)
marquez-api                 | ! at org.jdbi.v3.core.internal.OnDemandExtensions.lambda$createProxy$2(OnDemandExtensions.java:82)
marquez-api                 | ! at org.jdbi.v3.core.Jdbi.callWithExtension(Jdbi.java:476)
marquez-api                 | ! at org.jdbi.v3.core.Jdbi.withExtension(Jdbi.java:463)
marquez-api                 | ! at org.jdbi.v3.core.internal.OnDemandExtensions.lambda$createProxy$3(OnDemandExtensions.java:82)
marquez-api                 | ! at com.sun.proxy.$Proxy90.updateMarquezModel(Unknown Source)
marquez-api                 | ! at marquez.service.DelegatingDaos$DelegatingOpenLineageDao.updateMarquezModel(DelegatingDaos.java:59)
marquez-api                 | ! at marquez.service.OpenLineageService.lambda$createAsync$0(OpenLineageService.java:55)
marquez-api                 | ! at marquez.tracing.SentryPropagating$SentryPropagatingSupplier.get(SentryPropagating.java:23)
marquez-api                 | ! ... 7 common frames omitted
marquez-api                 | ! Causing: java.util.concurrent.CompletionException: org.jdbi.v3.core.statement.UnableToExecuteStatementException: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(64) [statement:"/* NamespaceDao.upsertNamespaceRow */ INSERT INTO namespaces ( uuid, created_at, updated_at, name, current_owner_name ) VALUES (:uuid, :now, :now, :name, :currentOwnerName) ON CONFLICT(name) DO UPDATE SET updated_at = EXCLUDED.updated_at RETURNING *", arguments:{positional:{0:b362973a-a073-45ab-b00b-a1fafa5ef729,1:2021-11-06T14:15:45.536Z,2:governance-action-process:clinical-trials:drop-foot:weekly-measurements:onboarding,3:anonymous}, named:{now:2021-11-06T14:15:45.536Z,name:governance-action-process:clinical-trials:drop-foot:weekly-measurements:onboarding,uuid:b362973a-a073-45ab-b00b-a1fafa5ef729,currentOwnerName:anonymous}, finder:[]}]
marquez-api                 | ! at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source)
marquez-api                 | ! at java.base/java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source)
marquez-api                 | ! at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
marquez-api                 | ! at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(Unknown Source)
marquez-api                 | ! at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
marquez-api                 | ! at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
marquez-api                 | ! at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
marquez-api                 | ! at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
marquez-api                 | ! at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
marquez-api                 | 172.19.0.1 - - [06/Nov/2021:14:15:48 +0000] "POST /api/v1/lineage HTTP/1.1" 500 0 "-" "Java/11.0.12" 67

I am guessing that my namespace value of governance-action-process:clinical-trials:drop-foot:weekly-measurements:onboarding is causing the problem? Is this a limitation of Marquez, or something that should be a restriction in the Open Lineage spec?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions