[ https://issues.apache.org/jira/browse/TINKERPOP-2988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Taylor Riggan updated TINKERPOP-2988: ------------------------------------- Description: The following throws an `Invalid OpProcessor requested [null] (499)` exception. The cause is due to an invalid `RequestId` (an non-conformant UUID is being used): {{resp = client.stream ("g.V()", {}, \{ batchSize: 1, requestId: 'foo', userAgent: 'bar', evaluationTimeout: 5000 });}} The error was diagnosed using Gremlin Server 3.7.0 and seeing the following in the server logs: {{[WARN] o.a.t.g.s.h.WsGremlinBinaryRequestDecoder - Serialization error while decoding request}} {{org.apache.tinkerpop.gremlin.driver.ser.SerializationException: org.apache.tinkerpop.shaded.jackson.databind.JsonMappingException: Could not deserialize the JSON value as required. Nested exception: org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.UUID` from String "foo": UUID has to be represented by standard 36-char representation}} {{{} at [Source: (byte[])"{"requestId":{}}}{{{}{"@type":"g:UUID","@value":"foo"}{}}}{{{},"op":"eval","processor":"","args":{"gremlin":"g.V()","aliases":{}}}{{{}{"g":"g"}{}}}{{{},"batchSize":1,"userAgent":"bar","evaluationTimeout":5000,"bindings":{},"language":"gremlin-groovy","accept":"application/vnd.gremlin-v3.0+json"}}"; line: 1, column: 41]{}}} {{{} at [Source: (byte[])"{"requestId":{}}}{{{}{"@type":"g:UUID","@value":"foo"}{}}}{{{},"op":"eval","processor":"","args":{"gremlin":"g.V()","aliases":{}}}{{{}{"g":"g"}{}}}{{{},"batchSize":1,"userAgent":"bar","evaluationTimeout":5000,"bindings":{},"language":"gremlin-groovy","accept":"application/vnd.gremlin-v3.0+json"}}"; line: 1, column: 41] (through reference chain: java.util.LinkedHashMap["requestId"]){}}} {{ at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0.deserializeRequest(AbstractGraphSONMessageSerializerV2d0.java:124)}} {{ at org.apache.tinkerpop.gremlin.server.handler.WsGremlinBinaryRequestDecoder.decode(WsGremlinBinaryRequestDecoder.java:77)}} {{....}} A better client side error message is needed in order to provide the user with guidance on how to fix the issue. `Invalid OpProcessor` is too ambiguous. was: The following throws an `Invalid OpProcessor requested [null] (499)` exception. The cause is due to an invalid `RequestId` (an non-conformant UUID is being used): ``` resp = client.stream ("g.V()", {}, \{ batchSize: 1, requestId: 'foo', userAgent: 'bar', evaluationTimeout: 5000 }); ``` The error was diagnosed using Gremlin Server 3.7.0 and seeing the following in the server logs: ``` [WARN] o.a.t.g.s.h.WsGremlinBinaryRequestDecoder - Serialization error while decoding request org.apache.tinkerpop.gremlin.driver.ser.SerializationException: org.apache.tinkerpop.shaded.jackson.databind.JsonMappingException: Could not deserialize the JSON value as required. Nested exception: org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.UUID` from String "foo": UUID has to be represented by standard 36-char representation at [Source: (byte[])"\{"requestId":{"@type":"g:UUID","@value":"foo"},"op":"eval","processor":"","args":\{"gremlin":"g.V()","aliases":{"g":"g"},"batchSize":1,"userAgent":"bar","evaluationTimeout":5000,"bindings":{},"language":"gremlin-groovy","accept":"application/vnd.gremlin-v3.0+json"}}"; line: 1, column: 41] at [Source: (byte[])"\{"requestId":{"@type":"g:UUID","@value":"foo"},"op":"eval","processor":"","args":\{"gremlin":"g.V()","aliases":{"g":"g"},"batchSize":1,"userAgent":"bar","evaluationTimeout":5000,"bindings":{},"language":"gremlin-groovy","accept":"application/vnd.gremlin-v3.0+json"}}"; line: 1, column: 41] (through reference chain: java.util.LinkedHashMap["requestId"]) at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0.deserializeRequest(AbstractGraphSONMessageSerializerV2d0.java:124) at org.apache.tinkerpop.gremlin.server.handler.WsGremlinBinaryRequestDecoder.decode(WsGremlinBinaryRequestDecoder.java:77) .... ``` A better client side error message is needed in order to provide the user with guidance on how to fix the issue. `Invalid OpProcessor` is too ambiguous. > Serialization error throws an Invalid OpProcessor exception when using > stream() API > ----------------------------------------------------------------------------------- > > Key: TINKERPOP-2988 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2988 > Project: TinkerPop > Issue Type: Improvement > Affects Versions: 3.7.0 > Reporter: Taylor Riggan > Priority: Minor > > The following throws an `Invalid OpProcessor requested [null] (499)` > exception. The cause is due to an invalid `RequestId` (an non-conformant > UUID is being used): > {{resp = client.stream ("g.V()", {}, \{ batchSize: 1, requestId: 'foo', > userAgent: 'bar', evaluationTimeout: 5000 });}} > > The error was diagnosed using Gremlin Server 3.7.0 and seeing the following > in the server logs: > {{[WARN] o.a.t.g.s.h.WsGremlinBinaryRequestDecoder - Serialization error > while decoding request}} > {{org.apache.tinkerpop.gremlin.driver.ser.SerializationException: > org.apache.tinkerpop.shaded.jackson.databind.JsonMappingException: Could not > deserialize the JSON value as required. Nested exception: > org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidFormatException: > Cannot deserialize value of type `java.util.UUID` from String "foo": UUID has > to be represented by standard 36-char representation}} > {{{} at [Source: > (byte[])"{"requestId":{}}}{{{}{"@type":"g:UUID","@value":"foo"}{}}}{{{},"op":"eval","processor":"","args":{"gremlin":"g.V()","aliases":{}}}{{{}{"g":"g"}{}}}{{{},"batchSize":1,"userAgent":"bar","evaluationTimeout":5000,"bindings":{},"language":"gremlin-groovy","accept":"application/vnd.gremlin-v3.0+json"}}"; > line: 1, column: 41]{}}} > {{{} at [Source: > (byte[])"{"requestId":{}}}{{{}{"@type":"g:UUID","@value":"foo"}{}}}{{{},"op":"eval","processor":"","args":{"gremlin":"g.V()","aliases":{}}}{{{}{"g":"g"}{}}}{{{},"batchSize":1,"userAgent":"bar","evaluationTimeout":5000,"bindings":{},"language":"gremlin-groovy","accept":"application/vnd.gremlin-v3.0+json"}}"; > line: 1, column: 41] (through reference chain: > java.util.LinkedHashMap["requestId"]){}}} > {{ at > org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0.deserializeRequest(AbstractGraphSONMessageSerializerV2d0.java:124)}} > {{ at > org.apache.tinkerpop.gremlin.server.handler.WsGremlinBinaryRequestDecoder.decode(WsGremlinBinaryRequestDecoder.java:77)}} > {{....}} > A better client side error message is needed in order to provide the user > with guidance on how to fix the issue. `Invalid OpProcessor` is too > ambiguous. -- This message was sent by Atlassian Jira (v8.20.10#820010)