[
https://issues.apache.org/jira/browse/TINKERPOP-2774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18134211#comment-18134211
]
ASF GitHub Bot commented on TINKERPOP-2774:
-------------------------------------------
masterhugo commented on PR #3527:
URL: https://github.com/apache/tinkerpop/pull/3527#issuecomment-6497306126
Thanks for bringing this up, @kenhuuu.
Initially, the idea was to reuse the existing classes and hierarchy as much
as possible, but as the implementation evolved, the async requirements diverged
enough that keeping that inheritance started going against SOLID principles
(particularly Liskov Substitution and Interface Segregation), leading to the
workarounds you pointed out.
Since the goal for this version is to maintain both the synchronous and
asynchronous Gremlin engines side by side without polluting or breaking either
path, I completely agree that separating `AsyncClient`, `AsyncConnection`,
`AsyncResultSet`, and `AsyncDriverRemoteConnection` into independent sibling
classes—while keeping `GraphTraversal` inheritance solely to reuse the DSL, is
a much cleaner design.
I will work on refactoring these classes to keep both paths clean and
explicit, and will push the update soon.
> Full async/await support in gremlin-python
> ------------------------------------------
>
> Key: TINKERPOP-2774
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2774
> Project: TinkerPop
> Issue Type: Improvement
> Components: python
> Affects Versions: 3.5.3
> Reporter: Ken Hu
> Priority: Minor
>
> Recently, there have been multiple instances of users asking about issues
> with event loops and aiohttp. This discussion nearly always ends up with the
> user requesting for async/await support in gremlin-python. This means full
> compatibility with asyncio and not needing to use threads.
> Async/await support is also a feature that those using newer, asynchronous
> web frameworks are asking for as gremlin-python can be a performance
> bottleneck due to its lack of support for async/await.
> My intention is that we can use this issue as a means of gauging the interest
> from the community for this feature. If you are interested in having
> gremlin-python support async/await then please leave a comment below.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)