[ https://issues.apache.org/jira/browse/TINKERPOP-2546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17320494#comment-17320494 ]
ASF GitHub Bot commented on TINKERPOP-2546: ------------------------------------------- lyndonb-bq opened a new pull request #1416: URL: https://github.com/apache/tinkerpop/pull/1416 Switching branch to fix commit history, old pull request is here: https://github.com/apache/tinkerpop/pull/1415 https://issues.apache.org/jira/browse/TINKERPOP-2546 # Motivation The current Tornado implementation of gremlin-python has a number of issues including heartbeat timeout, multithreading issues with DriverRemoteConnection, errors in the build due to the IOLoop, and issues with being unable to use the asyncio event loop when using the driver. Because Python 2 support is dropped for Tinkerpop 3.5, this is a good time to switch to another implementation and do a clean cut of all these issues. This implementation uses AIOHTTP, this will also put gremlin-python one step closer to having a fully asyncio compatible solution that properly leverages the async/await syntax. See more on the discussion here https://lists.apache.org/thread.html/rc4d047ba0245fde3261bad0ea156a0f35db1ab0f92c8e80d4fb1b815%40%3Cdev.tinkerpop.apache.org%3E ## Changes The following changes were made: - Removed Tornado - Added AIOHTTP implementation - Added dependency on AIOHTTP and removed dependency on Tornado - Added max_content_length and heartbeat parameters to transport - Removed compression_options parameter from transport - Added some unit tests - Switched transport.closed to `abc.abstractmethod`/`@property` from `@abstractproperty` since the latter is deprecated ### Applicable Tickets Ticket for change to be made https://issues.apache.org/jira/browse/TINKERPOP-2546 The following issues are fixed with these changes: - Heartbeat timeout issue: https://issues.apache.org/jira/browse/TINKERPOP-1886 - DriverRemoteConnection multithreading issue: https://issues.apache.org/jira/browse/TINKERPOP-2388 - IOLoop close build errors: https://issues.apache.org/jira/browse/TINKERPOP-2484 ### Testing Consideration The following tests were done - Builds with `mvn clean install -pl gremlin-python` - Manually tested that if idleConnectionTimeout is set and a heartbeat is provided, connection does not drop - Manually tested that if idleConnectionTimeout is set and a heartbeat is NOT provided, connection does drop - Observed that the build output no longer prints IOLoop errors -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Change transport layer to use AIOHTTP instead of Tornado > -------------------------------------------------------- > > Key: TINKERPOP-2546 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2546 > Project: TinkerPop > Issue Type: Improvement > Components: python > Affects Versions: 3.5.0 > Reporter: Lyndon Bauto > Priority: Major > Fix For: 3.5.0 > > > Following discussion here > https://lists.apache.org/thread.html/rc4d047ba0245fde3261bad0ea156a0f35db1ab0f92c8e80d4fb1b815%40%3Cdev.tinkerpop.apache.org%3E, > this ticket will track rewriting the tranport layer of gremlin-python to use > AIOHTTP instead of Tornado. I am currently working on this and will have a > pull request shortly. -- This message was sent by Atlassian Jira (v8.3.4#803005)