Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-1148

ConcurrentModificationException with bindings in Gremlin Server

    XMLWordPrintableJSON

    Details

      Description

      When bulk loading data through Gremlin Server, this exception pops up from time to time and ultimately kills the BLVP job if the dataset is large enough:

      WARN  [gremlin-server-worker-1] 2016-02-11 18:36:39,055  OpExecutorHandler.java:77 - null
      java.util.ConcurrentModificationException: null
              at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429) ~[na:1.8.0_40]
              at java.util.HashMap$EntryIterator.next(HashMap.java:1463) ~[na:1.8.0_40]
              at java.util.HashMap$EntryIterator.next(HashMap.java:1461) ~[na:1.8.0_40]
              at javax.script.SimpleBindings.putAll(SimpleBindings.java:97) ~[na:1.8.0_40]
              at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.eval(GremlinExecutor.java:249) ~[gremlin-groovy-3.1.1-20160128-20db86cb.jar:3.1.1-20160128-20db86cb]
              at com.datastax.bdp.graph.plugin.DseSessionOpProcessor.evalOpInternal(DseSessionOpProcessor.java:151) ~[dse-graph-5.0.0-DSP-5881.jar:5.0.0-DSP-5881]
              at com.datastax.bdp.graph.plugin.DseSessionOpProcessor.evalOp(DseSessionOpProcessor.java:55) ~[dse-graph-5.0.0-DSP-5881.jar:5.0.0-DSP-5881]
              at org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor$$Lambda$665/1222772686.accept(Unknown Source) ~[na:na]
              at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) [gremlin-server-3.1.1-20160128-20db86cb.jar:3.1.1-20160128-20db86cb]
              at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:43) [gremlin-server-3.1.1-20160128-20db86cb.jar:3.1.1-20160128-20db86cb]
              at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.34.Final.jar:4.0.34.Final]
              at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:307) [netty-all-4.0.34.Final.jar:4.0.34.Final]
              at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:293) [netty-all-4.0.34.Final.jar:4.0.34.Final]
              at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-all-4.0.34.Final.jar:4.0.34.Final]
              at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:307) [netty-all-4.0.34.Final.jar:4.0.34.Final]
              at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:293) [netty-all-4.0.34.Final.jar:4.0.34.Final]
      ...
      

      Another exception, which seems to be a follow up error, is this:

      WARN  [pool-235-thread-1] 2016-02-11 18:36:28,348  DseSessionOpProcessor.java:166 - Exception processing a script on request [RequestMessage{, requestId=624f7cae-2ae6-43bb-8f12-ea32a9f19dcd, op='eval', processor='session', args={gremlin=createVertex(l, i), session=9df05f13-5a68-4231-a021-2e270709d84d, bindings={i=null, l=user}, batchSize=64}}].
      groovy.lang.MissingPropertyException: No such property: l for class: Script2
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53) ~[groovy-2.4.5-indy.jar:2.4.5]
              at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:52) ~[groovy-2.4.5-indy.jar:2.4.5]
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:307) ~[groovy-2.4.5-indy.jar:2.4.5]
              at Script2.run(Script2.groovy:1) ~[na:na]
              at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:534) ~[gremlin-groovy-3.1.1-20160128-20db86cb.jar:3.1.1-20160128-20db86cb]
              at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:374) ~[gremlin-groovy-3.1.1-20160128-20db86cb.jar:3.1.1-20160128-20db86cb]
              at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233) ~[na:1.8.0_40]
              at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines.eval(ScriptEngines.java:102) ~[gremlin-groovy-3.1.1-20160128-20db86cb.jar:3.1.1-20160128-20db86cb]
              at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$15(GremlinExecutor.java:258) ~[gremlin-groovy-3.1.1-20160128-20db86cb.jar:3.1.1-20160128-20db86cb]
              at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor$$Lambda$489/399043474.call(Unknown Source) [gremlin-groovy-3.1.1-20160128-20db86cb.jar:3.1.1-20160128-20db86cb]
              at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_40]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_40]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_40]
              at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
      

        Attachments

          Activity

            People

            • Assignee:
              spmallette Stephen Mallette
              Reporter:
              dkuppitz Daniel Kuppitz
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: