You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Dylan Millikin (JIRA)" <ji...@apache.org> on 2015/06/16 18:08:00 UTC

[jira] [Updated] (TINKERPOP3-732) gremlin-server GraphSON serializer issue with tree()

     [ https://issues.apache.org/jira/browse/TINKERPOP3-732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dylan Millikin updated TINKERPOP3-732:
--------------------------------------
    Description: 
When using the {{tree()}} step with a GraphSON serializer the server hangs (though I've seen some form of serialization errors in more complex scenarios over titan).

The following works fine in the console but fails using the graphSON serializer:
{code:java}
g.V(1).repeat(out()).until(out().count().is(0)).tree() // fails with .next() as well
{code}

The following works without a problem though:
{code:java}
g.V(1).repeat(out()).until(out().count().is(0))
{code}

Here's the configuration file I use for these tests:
{code}
host: localhost
port: 8182
threadPoolWorker: 1
gremlinPool: 8
scriptEvaluationTimeout: 30000
serializedResponseTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
graphs: {
  graph: conf/tinkergraph-empty.properties
}
plugins:
  - tinkerpop.tinkergraph
scriptEngines: {
  gremlin-groovy: {
    imports: [java.lang.Math],
    staticImports: [java.lang.Math.PI],
    scripts: [scripts/generate-classic.groovy]}}
serializers:
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0 }
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true }}
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0 }
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0 }
processors:
  - { className: org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor, config: { sessionTimeout: 28800000 }}
metrics: {
  consoleReporter: {enabled: true, interval: 180000},
  csvReporter: {enabled: true, interval: 180000, fileName: /tmp/gremlin-server-metrics.csv},
  jmxReporter: {enabled: true},
  slf4jReporter: {enabled: true, interval: 180000},
  gangliaReporter: {enabled: false, interval: 180000, addressingMode: MULTICAST},
  graphiteReporter: {enabled: false, interval: 180000}
}
threadPoolBoss: 1
maxInitialLineLength: 4096
maxHeaderSize: 8192
maxChunkSize: 8192
maxContentLength: 65536
maxAccumulationBufferComponents: 1024
resultIterationBatchSize: 64
writeBufferHighWaterMark: 32768
writeBufferHighWaterMark: 65536
ssl: {
  enabled: false} 
{code}

  was:
When using the {{tree()}} step with a GraphSON serializer the server hangs (though I've seen some form of serialization errors in more complex scenarios over titan).

The following works fine in the console but fails using the graphSON serializer:
{code:java}
g.V(1).repeat(out()).until(out().count().is(0)).tree() // fails with .next() as well
{code}

The following works without a problem though:
{code:java}
g.V(1).repeat(out()).until(out().count().is(0))
{code}

Here's the configuration file I use for these tests:
{code}
host: localhost
port: 8182
threadPoolWorker: 1
gremlinPool: 8
scriptEvaluationTimeout: 30000
serializedResponseTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
graphs: {
  graph: conf/tinkergraph-empty.properties
}
plugins:
  - tinkerpop.tinkergraph
scriptEngines: {
  gremlin-groovy: {
    imports: [java.lang.Math],
    staticImports: [java.lang.Math.PI],
    scripts: [scripts/generate-classic.groovy]}}
serializers:
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0 }
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true }}
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0 }
processors:
  - { className: org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor, config: { sessionTimeout: 28800000 }}
metrics: {
  consoleReporter: {enabled: true, interval: 180000},
  csvReporter: {enabled: true, interval: 180000, fileName: /tmp/gremlin-server-metrics.csv},
  jmxReporter: {enabled: true},
  slf4jReporter: {enabled: true, interval: 180000},
  gangliaReporter: {enabled: false, interval: 180000, addressingMode: MULTICAST},
  graphiteReporter: {enabled: false, interval: 180000}
}
threadPoolBoss: 1
maxInitialLineLength: 4096
maxHeaderSize: 8192
maxChunkSize: 8192
maxContentLength: 65536
maxAccumulationBufferComponents: 1024
resultIterationBatchSize: 64
writeBufferHighWaterMark: 32768
writeBufferHighWaterMark: 65536
ssl: {
  enabled: false} 
{code}


> gremlin-server GraphSON serializer issue with tree()
> ----------------------------------------------------
>
>                 Key: TINKERPOP3-732
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-732
>             Project: TinkerPop 3
>          Issue Type: Bug
>          Components: server
>            Reporter: Dylan Millikin
>            Assignee: stephen mallette
>
> When using the {{tree()}} step with a GraphSON serializer the server hangs (though I've seen some form of serialization errors in more complex scenarios over titan).
> The following works fine in the console but fails using the graphSON serializer:
> {code:java}
> g.V(1).repeat(out()).until(out().count().is(0)).tree() // fails with .next() as well
> {code}
> The following works without a problem though:
> {code:java}
> g.V(1).repeat(out()).until(out().count().is(0))
> {code}
> Here's the configuration file I use for these tests:
> {code}
> host: localhost
> port: 8182
> threadPoolWorker: 1
> gremlinPool: 8
> scriptEvaluationTimeout: 30000
> serializedResponseTimeout: 30000
> channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
> graphs: {
>   graph: conf/tinkergraph-empty.properties
> }
> plugins:
>   - tinkerpop.tinkergraph
> scriptEngines: {
>   gremlin-groovy: {
>     imports: [java.lang.Math],
>     staticImports: [java.lang.Math.PI],
>     scripts: [scripts/generate-classic.groovy]}}
> serializers:
>   - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0 }
>   - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true }}
>   - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0 }
>   - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0 }
> processors:
>   - { className: org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor, config: { sessionTimeout: 28800000 }}
> metrics: {
>   consoleReporter: {enabled: true, interval: 180000},
>   csvReporter: {enabled: true, interval: 180000, fileName: /tmp/gremlin-server-metrics.csv},
>   jmxReporter: {enabled: true},
>   slf4jReporter: {enabled: true, interval: 180000},
>   gangliaReporter: {enabled: false, interval: 180000, addressingMode: MULTICAST},
>   graphiteReporter: {enabled: false, interval: 180000}
> }
> threadPoolBoss: 1
> maxInitialLineLength: 4096
> maxHeaderSize: 8192
> maxChunkSize: 8192
> maxContentLength: 65536
> maxAccumulationBufferComponents: 1024
> resultIterationBatchSize: 64
> writeBufferHighWaterMark: 32768
> writeBufferHighWaterMark: 65536
> ssl: {
>   enabled: false} 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)