[
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)