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

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

            Dates

              Created:
              Updated:
              Resolved: