[ 
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)

Reply via email to