Github user mattallenuk commented on the issue:
https://github.com/apache/tinkerpop/pull/922
@spmallette Ok so your above code runs fine and returns a value. It appears
that my call to g.V(1).property() is not liked.
My request looks like this now:
`[RequestMessage{, requestId=7baf2b77-ca79-4679-9812-f3e0d8d3dbb5,
op='eval', processor='', args={gremlin=g.V(1).property(card, nm, val),
aliases={g=gmodern}, bindings={card={typeName=Cardinality, elementName=set},
nm=test, val=12}, language=gremlin-groovy,
accept=application/vnd.gremlin-v2.0+json}}]`
The full error I get is as follows:
`java.lang.IllegalArgumentException: The provided key/value array length
must be a multiple of two
at
org.apache.tinkerpop.gremlin.structure.Element$Exceptions.providedKeyValuesMustBeAMultipleOfTwo
(Element.java:125)
at
org.apache.tinkerpop.gremlin.process.traversal.step.util.Parameters.set
(Parameters.java:175)
at
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.AddPropertyStep.addPropertyMutations
(AddPropertyStep.java:80)
at
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal.property
(GraphTraversal.java:2066)
at
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal.property
(GraphTraversal.java:2094)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke
(PojoMetaMethodSite.java:192)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call
(PojoMetaMethodSite.java:56)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall
(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
(AbstractCallSite.java:144)
at Script7.run (Script7.groovy:1)
at
org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval
(GremlinGroovyScriptEngine.java:856)
at
org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval
(GremlinGroovyScriptEngine.java:561)
at javax.script.AbstractScriptEngine.eval
(AbstractScriptEngine.java:233)
at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines.eval
(ScriptEngines.java:135)
at
org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0
(GremlinExecutor.java:291)
at java.util.concurrent.FutureTask.run (FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call
(Executors.java:511)
at java.util.concurrent.FutureTask.run (FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:617)
at java.lang.Thread.run (Thread.java:748)`
What is the best way forward, your test proves that non native JS types are
being sent correctly, but my test should also work...
---