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

Stark Arya updated TINKERPOP-2252:
----------------------------------
    Affects Version/s: 3.3.3
           Attachment: image-2019-07-02-10-23-50-901.png
        Fix Version/s: 3.4.3
          Description: 
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。

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!

 
          Component/s: groovy
              Summary: a tricky and meaningful way to support session based 
byteCode interaction through  gremlin-driver  (was: a tricky andway to support 
session based byteCode interaction for  gremlin-driver)

> a tricky and 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
>             Fix For: 3.4.3
>
>         Attachments: image-2019-07-02-10-23-50-901.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。
> 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