[GitHub] [tinkerpop] spmallette commented on issue #1094: TINKERPOP-2195: Add finally block in HttpGremlinEndpointHandler to commit transaction

2019-04-16 Thread GitBox
spmallette commented on issue #1094: TINKERPOP-2195: Add finally block in 
HttpGremlinEndpointHandler to commit transaction
URL: https://github.com/apache/tinkerpop/pull/1094#issuecomment-483782752
 
 
   Seems like we've resolved this by way of the workaround options i presented. 
Going to close this PR without merging. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette commented on issue #1094: TINKERPOP-2195: Add finally block in HttpGremlinEndpointHandler to commit transaction

2019-04-10 Thread GitBox
spmallette commented on issue #1094: TINKERPOP-2195: Add finally block in 
HttpGremlinEndpointHandler to commit transaction
URL: https://github.com/apache/tinkerpop/pull/1094#issuecomment-481643815
 
 
   I assume that the additional information you are adding in the custom 
serializer is something where you do more traversing on returned objects or 
gather data from other sources? I'm not sure a serializer is the best place for 
that. A serializer should only be about transforming the data to its network 
payload form and probably shouldn't contain other logic. 
   
   A custom strategy on the other hand, seems like a better place to keep that 
sort of logic. You could "detach" and then add your additional data (nothing 
says you are restricted to detaching only in the strategy) Or, if that seems 
unsuitable for some reason then you should probably create a custom 
`Channelizer` and your own implementation of that REST endpoint.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette commented on issue #1094: TINKERPOP-2195: Add finally block in HttpGremlinEndpointHandler to commit transaction

2019-04-09 Thread GitBox
spmallette commented on issue #1094: TINKERPOP-2195: Add finally block in 
HttpGremlinEndpointHandler to commit transaction
URL: https://github.com/apache/tinkerpop/pull/1094#issuecomment-481354208
 
 
   I think that your implementation should configure `ReferenceElementStrategy` 
(which for 3.4.0 is enabled by default):
   
   
https://github.com/apache/tinkerpop/blob/7062595b72108e9545eaceb62e45b4ea7d946ed6/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/ReferenceElementStrategy.java
   
   and which will detach your elements at iteration time when building the 
`ResponseMessage`. No new transaction will be opened on serialization. If you 
don't like the "references" that `ReferenceElementStrategy` produces then you 
could write your own strategy to produce "detached" objects just as easily to 
same effect - just used `DetachedFactory` rather than `ReferenceFactory`:
   
   
https://github.com/apache/tinkerpop/blob/7062595b72108e9545eaceb62e45b4ea7d946ed6/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedFactory.java
   
   That should solve your problem without this change - right?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services