Lyndon
ATApache TinkerPop
•Created by masterhugo on 2/10/2025 in #questions
Gremlin python trying to connect Neptune WS when is down
The intention is that when connect is called, it passes in the connection options here https://github.com/apache/tinkerpop/blob/3.7.1/gremlin-python/src/main/python/gremlin_python/driver/aiohttp/transport.py#L69 via the aiohttp_kwargs.
Now looking at aiohttp.ClientSession.ws_connect, we see that the ClientSession takes in a timeout=ClientTimeout directly, stating default is 5 minutes, with 30 seconds for socket timeout. This was added in 3.7 and tinkerpop expects 3.8 or greater so this should be usable. That said, we do not actually pass any args to the ClientSession and instead pass to ws_connect. ws_connect also takes a timeout, which is actually of aiohttp.ClientWSTimeout type.
So in theory, if you pass in a timeout of that type to it, it should pass right through, but with that said I tried it and it didn't work for me, however I was constantly getting a timeout of 3 seconds, not 15 like you experienced so I am not entirely sure what is going on there.
I am not sure why this is not working, or why our environments are getting different default timeouts. Are you trying to connect to a random ip that is invalid or something different? I just tried using my docker network with an invalid ip addr to test myself.
39 replies
ATApache TinkerPop
•Created by masterhugo on 2/10/2025 in #questions
Gremlin python trying to connect Neptune WS when is down
Hey sorry just saw this. Looking now
39 replies
ATApache TinkerPop
•Created by Lyndon on 10/16/2024 in #questions
CollectingBarrierStep bug
Overriding this function seems to fix
6 replies
ATApache TinkerPop
•Created by Lyndon on 10/16/2024 in #questions
CollectingBarrierStep bug
actual issue seems to stem from AbstractStep
@Override
public boolean hasNext() {
if (EmptyTraverser.instance() != this.nextEnd)
return true;
else {
try {
while (true) {
if (Thread.interrupted()) throw new TraversalInterruptedException();
this.nextEnd = this.processNextStart();
if (this.nextEnd.bulk() > 0)
return true;
else
this.nextEnd = EmptyTraverser.instance();
}
} catch (final NoSuchElementException e) {
return false;
}
}
}
the no such element exception is producing from the collecting barrier
6 replies
ATApache TinkerPop
•Created by Lyndon on 10/16/2024 in #questions
CollectingBarrierStep bug
found out that is not actual the offending line. Not sure what is but the statement about barrier not executing the next section is still true
6 replies
ATApache TinkerPop
•Created by joshb on 8/29/2024 in #questions
Is it possible to configure SSL with PEM certificate types?
Driver to connect would be any GLV
6 replies
ATApache TinkerPop
•Created by joshb on 8/29/2024 in #questions
Is it possible to configure SSL with PEM certificate types?
Hey @ColeGreer - I think the main problem is configuring gremlin-server in a way where it takes in a PEM file, sounds like that doesn't work and the solution is to use something like openssl to convert the PEM to PKS12. Would possibly be a nice feature to wrap that support in gremlin-server in the future but if it's not there that's fine
6 replies
ATApache TinkerPop
•Created by Lyndon on 6/14/2024 in #questions
Anyone had issues with gremlinpython driver async_timeout?
Well looks like its just me so i wont dig into fixing this.
4 replies
ATApache TinkerPop
•Created by Lyndon on 5/29/2024 in #questions
Potential bug in evaluationTimeout when using auth?
though you could say that the check later on should drill into the optiosn to look for it
10 replies
ATApache TinkerPop
•Created by Lyndon on 5/29/2024 in #questions
Potential bug in evaluationTimeout when using auth?
which is not copied
10 replies
ATApache TinkerPop
•Created by Lyndon on 5/29/2024 in #questions
Potential bug in evaluationTimeout when using auth?
The incoming requestMessage has "evaluationTimeout" as a top level argument
10 replies
ATApache TinkerPop
•Created by Lyndon on 5/29/2024 in #questions
Potential bug in evaluationTimeout when using auth?

10 replies
ATApache TinkerPop
•Created by Lyndon on 5/29/2024 in #questions
Potential bug in evaluationTimeout when using auth?
The problem appears to be in this block of code
10 replies
ATApache TinkerPop
•Created by pm_osc on 5/17/2024 in #questions
Authorization with transaction results in error
Looks like authentication is garbling traversal arguments
12 replies
ATApache TinkerPop
•Created by pm_osc on 5/17/2024 in #questions
Authorization with transaction results in error
Any movement on this? It seems similar to the issue I think I found
12 replies
ATApache TinkerPop
•Created by Lyndon on 5/29/2024 in #questions
Potential bug in evaluationTimeout when using auth?
Seems like call step piece of it is irrelevant. With authentication enabled, even g.with("evaluationTimeout", X).V().next() doesnt properly set the evaluationTimeout
10 replies
ATApache TinkerPop
•Created by Lyndon on 5/29/2024 in #questions
Potential bug in evaluationTimeout when using auth?

10 replies
ATApache TinkerPop
•Created by Lyndon on 5/7/2024 in #questions
Traversal Inspection for properties used
I would add a way to disable it, but basically would just run it when the query comes in before I execute the actual query, so it would be accurate for the duration of that query
20 replies
ATApache TinkerPop
•Created by Lyndon on 5/7/2024 in #questions
Traversal Inspection for properties used
g.V(<id>) would just pop out a mock vertex, out() would pop out another mock vertex, etc.
I'd expect it to run inside the provider database inside a strategy, it would keeping track of what step emits which vertex and then each vertex would keep track of which property keys on it were invoked, or if all were.
Then the strategy would give that info to the rest of the strategies/step replacements so they could appropriately pushdown property grabs on the vertices.
Definitely a workaround
20 replies
ATApache TinkerPop
•Created by Lyndon on 5/7/2024 in #questions
Traversal Inspection for properties used
What Valentyn mentioned about doing a wrapped element and checking what properties are used is an interesting idea.
So I could potentially just execute a mock equivalent traversal (if there is no repeats and if/else logic), with fake data, and each time a step returns a vertex I attach the wrapped vertex to that step, then that wrapped vertex accumulates a list of the property keys which are invoked (or if all are called)
Still might be kind of hard to do, but seems possible.
20 replies