[ 
https://issues.apache.org/jira/browse/TINKERPOP-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878661#comment-16878661
 ] 

Stark Arya commented on TINKERPOP-2252:
---------------------------------------

After some thought....I'm really not in favor of promoting sessions as a way to 
build applications

Yes,I totally agree your opinion。

In fact,my recommend priority is: SessionLess ByteCode > SessionLess Script > 
others and I not even willing to let users known session & threadedTransaction。 
But these guys could easily be excited when they search 
[http://tinkerpop.apache.org/docs/current/reference/]  and find  session & 
threadedTransaction part,this is a little awkward because they could  consider 
Tinkerpop's transaction ability  is strong enough。so in any way,  i think we 
should change our mind from applications to just two little things:
 # if we provide the ability  translate ByteCode to script,  parameterized 
script is also one kind of script expression and one I think more friendly for 
user to use in production though non-parameterized script  perhaps will be easy 
for user to read。


 # as you have said,  from machine view,  parameterized script will provide 
Higher efficiency from all aspects,in many cases the Performance gap more than 
10x,and Tinkerpop  Official recommendation of script   is also   parameterized 
script。

I guess  you maybe  more like let people to have more control of script code 
and make  code more readable,I don't know if I'm right.  I also agree that 
opinion。
g.addV('person').property('name',x).property('active',y)
g.addV('animal').property('species',x).property('genus',y)
g.addV('product').property('type',x).property('name',y)
Thank your for  nicely and Timely replay,Look forward to your reply!

> a  meaningful way to support session based byteCode interaction through  
> gremlin-driver
> ---------------------------------------------------------------------------------------
>
>                 Key: TINKERPOP-2252
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2252
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: groovy
>    Affects Versions: 3.3.3
>            Reporter: Stark Arya
>            Priority: Major
>         Attachments: image-2019-07-02-10-23-50-901.png, 
> image-2019-07-02-22-04-16-651.png, image-2019-07-02-22-05-38-063.png, 
> image-2019-07-02-22-19-19-539.png
>
>
> As in  topic 
> [https://groups.google.com/forum/#!topic/gremlin-users/cHl4FB-H7Nc]  we have 
> discussed,TinkerPop currently support:
>  # Script sessionLess which is auto transaction;
>  # ByteCode sessionLess which is also auto transaction;
>  # Script session which user could control transaction through g.tx().open / 
> rollback / commit;
> As we knows that ByteCode based requests are themselves code written in the 
> native language and  could be checked to validate the Gremlin during the 
> development process。 => so many user prefer to use ByteCode over Script。
> But as we known,auto transaction need to persistence data changes per request 
> which needs high cost and in some scenarios user even unbearable。=>  so in 
> some  performance sensitive situation user prefer to use sessionBased 
> interaction over sessionLess。
> Here,we face the real trouble: if user need both  high performance and  good 
> write experience,we  sank into  despair  because we do not support byteCode 
> session,here is another user‘s 
> sample:[https://stackoverflow.com/questions/55454068/tinkerpop-gremlin-transaction-processor-with-bytecode]。
> We must solve this problem even it is in less use because we all want to 
> provide sufficiently good service to our user,but  better transaction support 
> in TP4 is still far away。 Here is my simple and meaningful solution:
> We can provide a function which change byteCode into Parameterized Scripts 
> (not a simple Script which we already have, Its performance is 10X lower) 。 
> Yes,we just need to add a new translate function in 
> "org.apache.tinkerpop.gremlin.groovy.jsr223.GroovyTranslator.java"。
> The code is ready and through test, if anyone agree that this it's 
> meaningful, i will submit PR later,  thanks for your patience。
> The user code would  like:
> !image-2019-07-02-10-23-50-901.png!
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to