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...


---

Reply via email to