Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

ClassCastException when using Gremlin query #503

Closed
satb opened this Issue · 16 comments

4 participants

@satb

Using Titan 0.4.0 with rexster console and getting an exception on a Gremlin query that is very simple. What could be causing this exception?

I initially populated a property value as an empty value (it was unintentional). In other words, property 'ip' was empty but it got added. I believe, that is what is causing the problem but when I try to actually add a value g.V.has('ip', '').sideEffect {it.ip = '1.1.1.1'} and g.commit()...that didn't change anything. The error still remains. So I am guessing its something internal to Titan that may be causing this but I don't know. On the other hand, this may be totally misleading the troubleshooting. So take this input with a grain of salt.

rexster[groovy]> g.V('email', 'test1@gmail.com').hasNot('excluded').outE('of').inV.inE('of').outV
==>v[512]
==>v[142088]
==>v[824]
...... (removed some noise)
rexster[groovy]> g.V('email', 'test1@gmail.com').hasNot('excluded').outE('of').inV.inE('of').outV.map
==>{dba=test productions}
==>{fax=111-222-3333}
==>{ip=1.1.1.1}
.....(removed some noise)

rexster[groovy]> g.V('email', 'test1@gmail.com').hasNot('excluded').outE('of').inV.inE('of').outV.outE('of')
Nov 27, 2013 10:43:00 AM org.glassfish.grizzly.filterchain.DefaultFilterChain execute
WARNING: Exception during FilterChain execution
java.lang.ClassCastException: com.tinkerpop.rexster.protocol.msg.ErrorResponseMessage cannot be cast to org.glassfish.grizzly.asyncqueue.WritableMessage
    at org.glassfish.grizzly.nio.transport.TCPNIOTransportFilter.handleWrite(TCPNIOTransportFilter.java:111)
    at org.glassfish.grizzly.filterchain.TransportFilter.handleWrite(TransportFilter.java:191)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$8.execute(ExecutorResolver.java:111)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:265)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:78)
    at org.glassfish.grizzly.filterchain.FilterChainContext.write(FilterChainContext.java:652)
    at org.glassfish.grizzly.filterchain.FilterChainContext.write(FilterChainContext.java:533)
    at com.tinkerpop.rexster.client.RexProClientFilter.handleRead(RexProClientFilter.java:155)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:265)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:78)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:815)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:567)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:547)
    at java.lang.Thread.run(Thread.java:722)

rexster[groovy]> g.V('ip','1.1.1.1').out
Nov 27, 2013 2:21:32 PM org.glassfish.grizzly.filterchain.DefaultFilterChain execute

WARNING: Exception during FilterChain execution
java.lang.ClassCastException: com.tinkerpop.rexster.protocol.msg.ErrorResponseMessage cannot be cast to org.glassfish.grizzly.asyncqueue.WritableMessage
    at org.glassfish.grizzly.nio.transport.TCPNIOTransportFilter.handleWrite(TCPNIOTransportFilter.java:111)
    at org.glassfish.grizzly.filterchain.TransportFilter.handleWrite(TransportFilter.java:191)

In trying to take a closer look at what's wrong with this vertex to cause problems, I don't see any.

rexster[groovy]> g.V('ip','1.1.1.1').in
rexster[groovy]> g.V('ip','1.1.1.1').map
==>{ip=1.1.1.1}

@spmallette
Owner

I can't seem to reproduce this in a simple way. Could you please connect directly to the cassandra backend of Titan Server through bin/gremlin.sh and try your failing query there to see what you get back? I'd be interested to know what g.V('ip','1.1.1.1').in is returning that Rexster doesn't want to serialize.

@satb

Thanks. Looks like we are getting somewhere.

gremlin> g = TitanFactory.open('conf/titan-cassandra-es.properties')
gremlin> g.v('ip', '1.1.1.1')
==>null
==>null
gremlin> g.v('ip', '1.1.1.1').out
java.lang.NullPointerException
Display stack trace? [yN] y
java.lang.NullPointerException
    at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart(VertexQueryPipe.java:86)
    at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart(VertexQueryPipe.java:19)
    at com.tinkerpop.pipes.AbstractPipe.hasNext(AbstractPipe.java:98)
    at com.tinkerpop.pipes.util.Pipeline.hasNext(Pipeline.java:105)
    at com.tinkerpop.pipes.transform.ToStringPipe.processNextStart(ToStringPipe.java:24)
    at com.tinkerpop.pipes.transform.ToStringPipe.processNextStart(ToStringPipe.java:16)
    at com.tinkerpop.pipes.AbstractPipe.hasNext(AbstractPipe.java:98)
    at com.tinkerpop.gremlin.groovy.console.ResultHookClosure.call(ResultHookClosure.java:25)
    at groovy.lang.Closure.call(Closure.java:428)
    at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:231)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:64)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
    at org.codehaus.groovy.tools.shell.Groovysh.setLastResult(Groovysh.groovy:324)
    at org.codehaus.groovy.tools.shell.Groovysh.this$3$setLastResult(Groovysh.groovy)
    at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
@dkuppitz
Owner

Fix your Gremlin code. Should be

g.V('ip','1.1.1.1').out

@dkuppitz dkuppitz closed this
@dkuppitz
Owner

Sorry, didn't want to close yet. Reopen if the problem is still unsolved.

@satb

Sorry, I was trying to investigate this error and accidentally left the lower case v. Don't know if this is somewhat related. I've seen this a few times.

gremlin> g.v(32).out
....
....lots of vertices...
....
==>v[5610856]
==>v[5548672]
==>v[5645484]
==>v[5610888]
==>v[5548684]
==>v[5645520]
Permanent exception during backend operation
Display stack trace? [yN] y
com.thinkaurelius.titan.core.TitanException: Permanent exception during backend operation
    at com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:64)
    at com.thinkaurelius.titan.diskstorage.BackendTransaction.executeRead(BackendTransaction.java:288)
    at com.thinkaurelius.titan.diskstorage.BackendTransaction.edgeStoreQuery(BackendTransaction.java:166)
    at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.edgeQuery(StandardTitanGraph.java:201)
    at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4$2.get(StandardTitanTx.java:720)
    at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4$2.get(StandardTitanTx.java:717)
    at com.thinkaurelius.titan.graphdb.vertices.CacheVertex.loadRelations(CacheVertex.java:64)
    at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4.execute(StandardTitanTx.java:717)
    at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4.execute(StandardTitanTx.java:674)
    at com.thinkaurelius.titan.graphdb.query.QueryProcessor$LimitAdjustingIterator.hasNext(QueryProcessor.java:236)
    at com.google.common.collect.Iterators$7.computeNext(Iterators.java:700)
    at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
    at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
    at com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.nextInternal(QueryProcessor.java:74)
    at com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.next(QueryProcessor.java:85)
    at com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.next(QueryProcessor.java:48)
    at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
    at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart(VertexQueryPipe.java:81)
    at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart(VertexQueryPipe.java:19)
    at com.tinkerpop.pipes.AbstractPipe.hasNext(AbstractPipe.java:98)
    at com.tinkerpop.pipes.util.Pipeline.hasNext(Pipeline.java:105)
    at com.tinkerpop.pipes.transform.ToStringPipe.processNextStart(ToStringPipe.java:24)
    at com.tinkerpop.pipes.transform.ToStringPipe.processNextStart(ToStringPipe.java:16)
    at com.tinkerpop.pipes.AbstractPipe.hasNext(AbstractPipe.java:98)
    at com.tinkerpop.gremlin.groovy.console.ResultHookClosure.call(ResultHookClosure.java:25)
    at groovy.lang.Closure.call(Closure.java:428)
    at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:231)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:64)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
    at org.codehaus.groovy.tools.shell.Groovysh.setLastResult(Groovysh.groovy:324)
    at org.codehaus.groovy.tools.shell.Groovysh.this$3$setLastResult(Groovysh.groovy)
    at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
@spmallette spmallette reopened this
@spmallette
Owner

Hmmm...well, if it can't be iterated in the Gremlin REPL, Rexster won't be able to iterate it either. There still might be something weird with Rexster Console though. It should handle the serialized error better than how it is. There were some changes in 2.4.0 around RexPro and perhaps the console doesn't respect those changes as well as it should.

@mbroecheler any ideas what might be going on here?

@satb

The same query through rexster (connecting to the remote host) is causing the class cast exception

 titan-server-0.4.0 $./bin/rexster-console.sh -rh 10.132.3.21
        (l_(l
(_______( 0 0
(        (-Y-) <woof>
l l-----l l
l l,,   l l,,
opening session [10.132.3.21:8184]
?h for help

rexster[groovy]> g = rexster.getGraph("graph")
==>titangraph[cassandra:null]
rexster[groovy]> g.v(32).out
Dec 02, 2013 10:49:03 AM org.glassfish.grizzly.filterchain.DefaultFilterChain execute
WARNING: Exception during FilterChain execution
java.lang.ClassCastException: com.tinkerpop.rexster.protocol.msg.ErrorResponseMessage cannot be cast to org.glassfish.grizzly.asyncqueue.WritableMessage
    at org.glassfish.grizzly.nio.transport.TCPNIOTransportFilter.handleWrite(TCPNIOTransportFilter.java:111)
    at org.glassfish.grizzly.filterchain.TransportFilter.handleWrite(TransportFilter.java:191)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$8.execute(ExecutorResolver.java:111)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:265)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:78)
    at org.glassfish.grizzly.filterchain.FilterChainContext.write(FilterChainContext.java:652)
    at org.glassfish.grizzly.filterchain.FilterChainContext.write(FilterChainContext.java:533)
    at com.tinkerpop.rexster.client.RexProClientFilter.handleRead(RexProClientFilter.java:155)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:265)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:78)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:815)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:567)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:547)
    at java.lang.Thread.run(Thread.java:722)
@spmallette
Owner

What I was trying to say was that I have this feeling that the ClassCastException is related to Rexster throwing an exception on the server which is not being handled in the client side console. I suspect that exception on the server is the same one you are encountering in the Gremlin REPL. Again...if you can't iterate in the Gremlin REPL, it is doubtful that Rexster will be able to. At the moment I'm not sure I understand why you are getting this error.

@satb

I have some suspicion it has something to do with some empty values that got loaded for the vertices. For example, for this node with id=32, it was originally empty, then I updated it to NA (as mentioned at the beginning of this issue). So, now, if I look at this vertex, it shows 'NA' as expected but something internal to Titan doesn't seem to like the empty value perhaps...just guessing.

rexster[groovy]> g.v(32).map
==>{cust_svc_ph=NA}

@mbroecheler
Owner

@satb: Do you have the full stack trace for the exception that was produced in the Gremlin REPL. There should be a "caused by" line below that I need to see what caused this error. Thanks.

@spmallette
Owner

fwiw, I tried to recreate a failure of this type with just Rexster and Rexster Console and could not. Still not quite sure how Rexster is generating that classcastexception, though i'm still feeling like the root of the problem can be solved by looking at the full stack trace of the Gremlin REPL @mbroecheler requested.

@satb

Here we go...so I guess I too see the problem now. Looks like some configuration change is required with v(32) being a super node, may need a bigger thrift frame size?

That said, Rexster gives me the same ClassCastException for the same query. So maybe its not a Titan issue but rather a Rexster issue.

Permanent exception during backend operation
Display stack trace? [yN] y
com.thinkaurelius.titan.core.TitanException: Permanent exception during backend operation
    at com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:64)
    at com.thinkaurelius.titan.diskstorage.BackendTransaction.executeRead(BackendTransaction.java:288)
    at com.thinkaurelius.titan.diskstorage.BackendTransaction.edgeStoreQuery(BackendTransaction.java:166)
    at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.edgeQuery(StandardTitanGraph.java:201)
    at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4$2.get(StandardTitanTx.java:720)
    at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4$2.get(StandardTitanTx.java:717)
    at com.thinkaurelius.titan.graphdb.vertices.CacheVertex.loadRelations(CacheVertex.java:64)
    at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4.execute(StandardTitanTx.java:717)
    at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4.execute(StandardTitanTx.java:674)
    at com.thinkaurelius.titan.graphdb.query.QueryProcessor$LimitAdjustingIterator.hasNext(QueryProcessor.java:236)
    at com.google.common.collect.Iterators$7.computeNext(Iterators.java:700)
    at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
    at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
    at com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.nextInternal(QueryProcessor.java:74)
    at com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.next(QueryProcessor.java:85)
    at com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.next(QueryProcessor.java:48)
    at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
    at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart(VertexQueryPipe.java:81)
    at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart(VertexQueryPipe.java:19)
    at com.tinkerpop.pipes.AbstractPipe.hasNext(AbstractPipe.java:98)
    at com.tinkerpop.pipes.util.Pipeline.hasNext(Pipeline.java:105)
    at com.tinkerpop.pipes.transform.ToStringPipe.processNextStart(ToStringPipe.java:24)
    at com.tinkerpop.pipes.transform.ToStringPipe.processNextStart(ToStringPipe.java:16)
    at com.tinkerpop.pipes.AbstractPipe.hasNext(AbstractPipe.java:98)
    at com.tinkerpop.gremlin.groovy.console.ResultHookClosure.call(ResultHookClosure.java:25)
    at groovy.lang.Closure.call(Closure.java:428)
    at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:231)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:64)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
    at org.codehaus.groovy.tools.shell.Groovysh.setLastResult(Groovysh.groovy:324)
    at org.codehaus.groovy.tools.shell.Groovysh.this$3$setLastResult(Groovysh.groovy)
    at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
    at groovy.lang.MetaClassImpl.setProperty(MetaClassImpl.java:2416)
    at groovy.lang.MetaClassImpl.setProperty(MetaClassImpl.java:3347)
    at org.codehaus.groovy.tools.shell.Shell.setProperty(Shell.groovy)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.setGroovyObjectProperty(ScriptBytecodeAdapter.java:528)
    at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:152)
    at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:114)
    at org.codehaus.groovy.tools.shell.Shell$leftShift$0.call(Unknown Source)
    at org.codehaus.groovy.tools.shell.ShellRunner.work(ShellRunner.groovy:88)
    at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$work(InteractiveShellRunner.groovy)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1079)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:128)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:148)
    at org.codehaus.groovy.tools.shell.InteractiveShellRunner.work(InteractiveShellRunner.groovy:100)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:272)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:52)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:137)
    at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:57)
    at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1079)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:128)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:148)
    at org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:66)
    at com.thinkaurelius.titan.tinkerpop.gremlin.Console.<init>(Console.java:57)
    at com.thinkaurelius.titan.tinkerpop.gremlin.Console.<init>(Console.java:70)
    at com.thinkaurelius.titan.tinkerpop.gremlin.Console.main(Console.java:96)
Caused by: com.thinkaurelius.titan.diskstorage.PermanentStorageException: Permanent failure in storage backend
    at com.thinkaurelius.titan.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.convertException(CassandraThriftKeyColumnValueStore.java:313)
    at com.thinkaurelius.titan.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.getNamesSlice(CassandraThriftKeyColumnValueStore.java:196)
    at com.thinkaurelius.titan.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.getSlice(CassandraThriftKeyColumnValueStore.java:120)
    at com.thinkaurelius.titan.diskstorage.keycolumnvalue.BufferedKeyColumnValueStore.getSlice(BufferedKeyColumnValueStore.java:40)
    at com.thinkaurelius.titan.diskstorage.keycolumnvalue.CachedKeyColumnValueStore.getSlice(CachedKeyColumnValueStore.java:92)
    at com.thinkaurelius.titan.diskstorage.locking.consistentkey.ExpectedValueCheckingStore.getSlice(ExpectedValueCheckingStore.java:77)
    at com.thinkaurelius.titan.diskstorage.util.MetricInstrumentedStore$1.call(MetricInstrumentedStore.java:178)
    at com.thinkaurelius.titan.diskstorage.util.MetricInstrumentedStore$1.call(MetricInstrumentedStore.java:175)
    at com.thinkaurelius.titan.diskstorage.util.MetricInstrumentedStore.getSliceWithMetrics(MetricInstrumentedStore.java:208)
    at com.thinkaurelius.titan.diskstorage.util.MetricInstrumentedStore.getSlice(MetricInstrumentedStore.java:175)
    at com.thinkaurelius.titan.diskstorage.BackendTransaction$1.call(BackendTransaction.java:169)
    at com.thinkaurelius.titan.diskstorage.BackendTransaction$1.call(BackendTransaction.java:166)
    at com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:61)
    ... 79 more
Caused by: org.apache.thrift.transport.TTransportException: Frame size (20010299) larger than max length (15728640)!
    at org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:137)
    at org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)
    at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
    at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:378)
    at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297)
    at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204)
    at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
    at org.apache.cassandra.thrift.Cassandra$Client.recv_multiget_slice(Cassandra.java:664)
    at org.apache.cassandra.thrift.Cassandra$Client.multiget_slice(Cassandra.java:648)
    at com.thinkaurelius.titan.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.getNamesSlice(CassandraThriftKeyColumnValueStore.java:176)
    ... 90 more

rexster[groovy]> g.v(32).out
Dec 04, 2013 9:31:22 AM org.glassfish.grizzly.filterchain.DefaultFilterChain execute
WARNING: Exception during FilterChain execution
java.lang.ClassCastException: com.tinkerpop.rexster.protocol.msg.ErrorResponseMessage cannot be cast to org.glassfish.grizzly.asyncqueue.WritableMessage
    at org.glassfish.grizzly.nio.transport.TCPNIOTransportFilter.handleWrite(TCPNIOTransportFilter.java:111)
    at org.glassfish.grizzly.filterchain.TransportFilter.handleWrite(TransportFilter.java:191)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$8.execute(ExecutorResolver.java:111)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:265)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:78)
    at org.glassfish.grizzly.filterchain.FilterChainContext.write(FilterChainContext.java:652)
    at org.glassfish.grizzly.filterchain.FilterChainContext.write(FilterChainContext.java:533)
    at com.tinkerpop.rexster.client.RexProClientFilter.handleRead(RexProClientFilter.java:155)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:265)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:78)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:815)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:567)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:547)
    at java.lang.Thread.run(Thread.java:722)


@mbroecheler
Owner
@spmallette
Owner

I'll take a look from the Rexster side (tinkerpop/rexster#331), but I would assume that increasing the frame size, changing the model/query, etc. would allow this to work.

@satb

OK. Thanks. Will see what I can do. Is something like pagination an option? For example, in RDBMS, you have a limit option and I've been using the [0..10] to get the top 10 results and that seems to work. But want to check to see if there are any issues with that approach because that approach would rely on the assumption that the order remains the same on the result set.

@mbroecheler
Owner
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.