fruch commented on PR #36755:
URL: https://github.com/apache/airflow/pull/36755#issuecomment-1920943564

   > > Hmm.. I looks like 3.29 version of 
[cassandra-driver](https://github.com/datastax/python-driver/blob/master/CHANGELOG.rst)
 should support Python 3.12
   > 
   > In a way. Looking to the issues and discussions there:
   > 
   > * They are technically Python 3.12 compatible
   > * However, the python client uses by default asyncore reactor - and 
asyncore has been removed from Python 3.12 - see for example here 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1040098
   > * Apparently the natural replacement for asyncore reactor is asyncio 
reactor
   > * The asyncio reactor is technically experimental 
https://docs.datastax.com/en/developer/python-driver/3.29/api/cassandra/io/asyncioreactor/
   > * There is - not merged yet - PR that implements various fixes and 
stabilization changes for various Python versions in asyncio [Fixes to 
stabilize asyncioreactor for multiple versions of python 
datastax/python-driver#1189](https://github.com/datastax/python-driver/pull/1189)
 - as you know asyncio was evolving even in 3.8, 3.9, 3.10, 3.11. 3.12 and 
various versions had various behaviours
   > * the https://datastax-oss.atlassian.net/browse/PYTHON-1375 has been 
created with the goal of merging the stabilization changes and adding all 
necessary tests to make asyncio default reactor. Once done this should be a 
"drop-in" replacement and it should **just work** without us doing anything. It 
is scheduled for 3.30 of python client.
   > * Technically speaking (though I have no idea how and what are  
consequences and potential issues) we could switch to asyncio reactor only for 
3.12, however, I think we need someone who has and uses cassandra and could 
test it
   > 
   > Looking at all that - I think the best course of action is to wait until 
they implement all the stabilization and tests. This will - inevitably - 
happen, requires the least effort from our side and we avoid the case that we 
will have to solve some potential issues that will be uncovered and fixed 
during the stabilization of asyncio reactor by Cassandra maintainers.
   
   @potiuk I'm to auther of 
https://github.com/datastax/python-driver/pull/1189, and one of the maintniers 
of https://github.com/scylladb/python-driver/ (a fork of cassnadra-driver)
   
   just to note that those change doesn't make the asyncio reactor totally 
tested, nor the default.
   that would take some time, but other backend are supported, I high 
recommands the libev backend, if you have any mean of
   suggestion that to your users, it's not the default cause it's has extrenal 
depedecies which aren't python (libev), but if one downloads a wheel, is 
available, and indeed the default (and not asyncore, this one is the fallback, 
if no other reactor was found)
   
   
   nice to see more pythonista pushing the envolpe and adopting 3.12, I know 
it's teidius but it really help the community in general, thanks for those 
efforts.
   
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to