[
https://issues.apache.org/jira/browse/TINKERPOP-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878661#comment-16878661
]
Stark Arya edited comment on TINKERPOP-2252 at 7/4/19 1:43 PM:
---------------------------------------------------------------
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。
Thank your for nicely and Timely replay,Look forward to your reply!
was (Author: stark arya):
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)