edolivares
ATApache TinkerPop
•Created by Gardanta Spirito on 2/18/2023 in #questions
How to investigate latency
Oh I see. So you mean in the gremlin-console the execution of the query takes 3ms but, it’s 30ms when you call if from your application which I am assuming is sending an HTTP request to a gremlin server?
53 replies
ATApache TinkerPop
•Created by Gardanta Spirito on 2/18/2023 in #questions
How to investigate latency
You could use .path() at the end of your traversals to get what the path is. Perhaps you are making expensive traversals and don’t realize it
53 replies
ATApache TinkerPop
•Created by Gardanta Spirito on 2/18/2023 in #questions
How to investigate latency
Have you tried using the clock class in gremlin? https://tinkerpop.apache.org/javadocs/3.2.1/full/org/apache/tinkerpop/gremlin/util/TimeUtil.html
53 replies
ATApache TinkerPop
•Created by edolivares on 2/15/2023 in #questions
Coalesce steps causing concurrency issues
Thank you two for the reply I really appreciate it, the gremlin and graph community is excellent. There are a few ways I think I could optimize that but, I don’t think I’m our use-case we could really group the worker threads that way. Basically we are copying data from our API into our graphDB. It’s an SQS -> lambda -> Neptune workflow. I only get the issues when I am bootstrapping, in this case running a different lambda to index most of the data from our main API holdings into graphDb as opposed to our usual use-case which is that someone sends a request to the API and it ends up in our indexing queue, typically at a rate far far slower
9 replies
ATApache TinkerPop
•Created by kyano_k on 2/17/2023 in #questions
store edges of a node in a sorted manner
@kyano what would it be sorted by? Like time it was created? Or do you mean to analyze which edges are most commonly traversed or something like that?
23 replies
ATApache TinkerPop
•Created by edolivares on 2/15/2023 in #questions
Coalesce steps causing concurrency issues
I’m still kind of working this out yea I did have a large amount of CME’s and one solution has been a combination of throttling the lambda and adding a retry policy that did ensure that all my nodes at least made it into the graph. I was more so trying to see if there was a source code fix I could make. In this use case throttling isn’t a big deal though (it’s looking like I’m going to have to due to a slow response downstream anyway)
9 replies
ATApache TinkerPop
•Created by edolivares on 2/15/2023 in #questions
Coalesce steps causing concurrency issues
Also I have the latest version of the Neptune engine (upgraded in the last few weeks)
9 replies
ATApache TinkerPop
•Created by edolivares on 2/15/2023 in #questions
Coalesce steps causing concurrency issues
I should mention that this function is being executed by a lambda reading from an SQS queue event that contains the information for what to index into the graph
9 replies
ATApache TinkerPop
•Created by kyano_k on 2/1/2023 in #questions
addV with existing ID doesn't throw error
I think they’re great you all are amazing! I’d need to look at the internals I wasn’t sure if it is actually calling coalesce or if there is some more complicated conditional logic in there under the hood but, the abstraction is nice and intuitive and it does what I would expect.
18 replies
ATApache TinkerPop
•Created by kyano_k on 2/1/2023 in #questions
addV with existing ID doesn't throw error
Yes, I was trying it out locally against docker gremlin-server but, I’ll come back to it once gremlin 3.6.0 is supported by Neptune
18 replies
ATApache TinkerPop
•Created by kyano_k on 2/1/2023 in #questions
addV with existing ID doesn't throw error
Yea this was my problem the other day haha. I wrote a bunch of code that consolidates messy gremlin, locally against the gremlin-server @ 3.6.0 only to realize it’ll have to get stashed until Neptune supports that version
18 replies
ATApache TinkerPop
•Created by edolivares on 1/26/2023 in #questions
using mergeV/E
Thank you! Is that really the only way? Creating the verticies and adding properties was just as easy as using mergeV and passing a map as the argument the only thing is that these only have the default node label) I understand the need to pass the traverser for the T.label value but, why is the id passed twice in this case and the need for the option? It kind of defeats the purpose of replacing the coalace pattern if it’s just as complicated especially since setting the label is essential in a graph
7 replies