Skip to content

CASSPYTHON-13: Remove eventlet, gevent and twisted event loops#1293

Open
brettabamonte wants to merge 2 commits into
apache:trunkfrom
brettabamonte:CASSPYTHON-13
Open

CASSPYTHON-13: Remove eventlet, gevent and twisted event loops#1293
brettabamonte wants to merge 2 commits into
apache:trunkfrom
brettabamonte:CASSPYTHON-13

Conversation

@brettabamonte

Copy link
Copy Markdown

Drops support for the eventlet, gevent, and twisted event loops.

Went through:

  • Event loop code
  • Documentation
  • Testing/CI infrastructure

By dropping these three event loops I don't see why clients would use pyOpenSSL. As a result I dropped all lingering support for it in cassandra/datastax/insights/reporter.py.

Addresses: https://issues.apache.org/jira/browse/CASSPYTHON-13

Testing:

  • Unit tests passed on Python versions 3.10-3.14

@absurdfarce

Copy link
Copy Markdown
Contributor

Thanks for the PR @brettabamonte!

CASSPYTHON-13 is currently aimed at 3.31.0, which is our next minor version bump. We're currently working on getting 3.30.1 out the door; we're close but (as always) it's the details that bog ya down. I mention all of this to say that I'll probably hold off on merging this until 3.30.1 has actually been released. I don't want to merge something aimed at a future release until we know we're good with the current one... otherwise you wind up in the land of reverts, and nobody wants to be there. :)

As soon as 3.30.1 is out we'll be shifting to 3.31.0 pretty quickly... and this removal is definitely a significant part of what we're planning for 3.31.0.

Thanks again!

@brettabamonte

Copy link
Copy Markdown
Author

Thanks for the PR @brettabamonte!

CASSPYTHON-13 is currently aimed at 3.31.0, which is our next minor version bump. We're currently working on getting 3.30.1 out the door; we're close but (as always) it's the details that bog ya down. I mention all of this to say that I'll probably hold off on merging this until 3.30.1 has actually been released. I don't want to merge something aimed at a future release until we know we're good with the current one... otherwise you wind up in the land of reverts, and nobody wants to be there. :)

As soon as 3.30.1 is out we'll be shifting to 3.31.0 pretty quickly... and this removal is definitely a significant part of what we're planning for 3.31.0.

Thanks again!

Thanks for the heads up @absurdfarce. Is there anything for the 3.30.1 release that could use an extra set of hands? Happy to help get more involved in the project.

If not, are there any items from the TODO list that should get focus for 3.31.0?

@absurdfarce

Copy link
Copy Markdown
Contributor

Hey @brettabamonte, apologies for the delay... as usual trying to juggle too many balls and dropping most of them. :(

I would encourage you to join the #cassandra-drivers channel on ASF Slack (if you haven't done so already). There's a discussion ongoing there on this very point; we're discussing the next release or two for the Python and CPP drivers. I can certainly set you up with an invite if you need one.

Short version: there's a debate about whether the next Python release should be 3.31.0 or 4.0.0. If we do bump it to a major release there are several new things that could come into scope there. I need to put together a doc describing what that would look like... just haven't had time yet.

By far the most significant change in 3.31.0/4.0.0 (whichever way we go) will be getting the asyncio reactor to a production-grade quality so that at some point in the not-too-distant future it can become the default. There are several tickets covering changes to those reactors but those need to be evaluated in a more systematic way. The most important question around this effort, though, is testing... what do we need to see to convince ourselves that we're safe to put asyncio into consideration when choosing a reactor? What about making it the default reactor?

I'd welcome anything you could offer in that space, especially anything around the question of testing.

But again, the best thing to do is probably to get you on ASF Slack so that you can become part of the conversation there. Let me know if you need an invite!

@brettabamonte

Copy link
Copy Markdown
Author

@absurdfarce thanks for the reply! Certainly will contribute any way I can.

Could I receive a slack invitation to my personal email, abamonteb@gmail.com.

I do not have an apache.org email.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants