[
https://issues.apache.org/jira/browse/TINKERPOP3-732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14593592#comment-14593592
]
Dylan Millikin commented on TINKERPOP3-732:
-------------------------------------------
I'm not sure I understand what you mean when you say that the keys being
{{Vertex}} instances is an issue. Is this is internal to how the serializer
functions or simply the fact that they are the keys and that it makes it a pain
to handle?
Do you want proposals on what the resulting JSON could look like?
I'm totally biased here as we depend on tree() for several features of our
application, but I think this should make it to GA as it is a selling feature
for graph databases (and a documented one) that won't be functional for people
using drivers with JSON serializing. Which I think is quite a few of the
drivers out there (python, php, js)?
> 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: io
> 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)