-
Notifications
You must be signed in to change notification settings - Fork 1k
chore: update to Python 3.9 #10809
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: update to Python 3.9 #10809
Conversation
For the development (outer) environment, update to Python 3.9.10 - latest as of this writing. Signed-off-by: Mike Fiedler <[email protected]>
Move us to 3.9.10 - latest release. Signed-off-by: Mike Fiedler <[email protected]>
Test failure is for coverage missing a branch-jump for a raise, will need to investigate further. |
I'm a bit stymied here. Current output: + python -m coverage report -m --fail-under 100
Name Stmts Miss Branch BrPart Cover Missing
-----------------------------------------------------------------------
warehouse/search/tasks.py 112 0 20 1 99% 199->225
-----------------------------------------------------------------------
TOTAL 9104 0 2551 1 99% Here's a link to the segment in question, with some added context: If I read the coverage report correctly, it's telling us that the I've tried upgrading The only test I was able to track down that would be relevant seemed to be test_fails_when_raising - but wasn't able to figure out why coverage reports the segment covered in 3.8, but not in 3.9. Any ideas? |
Looks like this is nedbat/coveragepy#1041 |
(I'm fine with adding a |
In the move to Python 3.9, we are subject to a coverage behavior that has yet to be corrected. In the interest of keeping the coverage report to 100%, we exclude the statement that coverage.py reports as not being executed, despite it being executed via tests. Refs: nedbat/coveragepy#1041 Signed-off-by: Mike Fiedler <[email protected]>
@di thanks for the linkage, I've added another commit disabling coverage reporting for that step. |
@ewdurbin Thanks! How does one find out when this is released, and live? I was looking at https://p.datadoghq.com/sb/7dc8b3250-85dcf667bd - hoping to see if there was better CPU/memory utilization, bit I don't think that's currently graphed. |
You can see it going live in the "PyPI Backend HTTP Requests (req/sec)" when the color of the graph changes (those show releases). We don't publicly chart cpu/mem for the services, and I'm not sure that we should necessarily (as it gives insight if someone wants to DoS us), but here's a snapshot of the last four hours: I wouldn't take much away from that on resource utilization since the workloads on PyPI backends do vary hour by hour based on what's going on (heavy XMLRPC use, large quantity of new releases, etc). But overall looks pretty much equivalent, so that's good. Is there a particularly reason you expected to see a difference in utilization? |
Thanks for sharing the image! Totally understand why it's not public.
I read there was a memory leak fixed with 3.9 where multiple instantiations of Python - but I may have been off. |
In somebody want to DoS PyPI, absence of public metrics won't stop them. On the other hand public metrics not only help to build DoS resilient service, but also help to bring decent performance. |
* chore: update local/CI execution to Python 3.9 For the development (outer) environment, update to Python 3.9.10 - latest as of this writing. Signed-off-by: Mike Fiedler <[email protected]> * chore: upgrade python version Move us to 3.9.10 - latest release. Signed-off-by: Mike Fiedler <[email protected]> * chore: update requrements hashes for python3.9 * test: exclude statement from coverage report In the move to Python 3.9, we are subject to a coverage behavior that has yet to be corrected. In the interest of keeping the coverage report to 100%, we exclude the statement that coverage.py reports as not being executed, despite it being executed via tests. Refs: nedbat/coveragepy#1041 Signed-off-by: Mike Fiedler <[email protected]> Co-authored-by: Dustin Ingram <[email protected]>
Resolves: #10807