Skip to content
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

Fix cyclic-import edge exclusion with --jobs #8820

Conversation

jacobtylerwalls
Copy link
Member

Type of Changes

Type
βœ“ πŸ› Bug fix

Description

Follow-up to bf8051b. I need to also combine the data collected during the multiprocessing about excluded edges. I wondered about this during development but unfortunately didn't fully test it.

(Sorry for all the PR volume! It won't be like this forever. No rush on the reviews.)

@jacobtylerwalls jacobtylerwalls added Bug πŸͺ² Unreleased Skip news πŸ”‡ This change does not require a changelog entry labels Jul 4, 2023
@jacobtylerwalls jacobtylerwalls added this to the 3.0.0a7 milestone Jul 4, 2023
@codecov
Copy link

codecov bot commented Jul 4, 2023

Codecov Report

Merging #8820 (7910e2f) into main (b00d3c9) will increase coverage by 0.00%.
The diff coverage is 83.33%.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #8820   +/-   ##
=======================================
  Coverage   95.89%   95.89%           
=======================================
  Files         173      173           
  Lines       18508    18511    +3     
=======================================
+ Hits        17749    17752    +3     
  Misses        759      759           
Impacted Files Coverage Ξ”
pylint/checkers/imports.py 94.21% <83.33%> (+0.03%) ⬆️

... and 1 file with indirect coverage changes

@github-actions
Copy link
Contributor

github-actions bot commented Jul 4, 2023

πŸ€– According to the primer, this change has no effect on the checked open source code. πŸ€–πŸŽ‰

This comment was generated for commit 7910e2f

Copy link
Member

@Pierre-Sassoulas Pierre-Sassoulas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM !

Sorry for all the PR volume! It won't be like this forever. No rush on the reviews.

Ho no, I was hoping you'd fix all the major problems in pylint in 2 weeks, considering the frequency and importance of problems resolved, you were on track to do it πŸ˜„

@jacobtylerwalls jacobtylerwalls merged commit f815e9f into pylint-dev:main Jul 4, 2023
43 of 44 checks passed
@jacobtylerwalls jacobtylerwalls deleted the cyclic-import-jobs-follow-on branch July 4, 2023 12:16
@jacobtylerwalls jacobtylerwalls changed the title Fix cyclic import edge exclusion with --jobs Fix cyclic-import edge exclusion with --jobs Jul 4, 2023
cdce8p added a commit to cdce8p/pylint that referenced this pull request Jul 8, 2023
cdce8p added a commit to cdce8p/pylint that referenced this pull request Jul 8, 2023
@cdce8p
Copy link
Member

cdce8p commented Jul 8, 2023

I'm currently catching up on the latest changes. This one seems to break my custom CI runs for Home Assistant. Every time I include it, shortly before I expect pylint to finish, I get a Error: The operation was canceled. message.

Reverting just f815e9f does fix it though.

Example CI runs:
Good (768c026): https://github.com/cdce8p/ha-core/actions/runs/5496467930/jobs/10016508120#step:17:32
Bad (f815e9f): https://github.com/cdce8p/ha-core/actions/runs/5496471817/jobs/10016514653#step:17:33

@jacobtylerwalls
Copy link
Member Author

I'll take a look. Does disabling cyclic-import also resolve the issue?

@jacobtylerwalls
Copy link
Member Author

Every time I include it, shortly before I expect pylint to finish, I get a Error: The operation was canceled. message.

What I'm worried about is that the memory cost of the cyclic import checker algorithm is the problem, rather than this PR, and that it's been swept under the rug this whole time because the whole check never even ran with --jobs before. If that's the case, how do you think we should proceed?

@cdce8p
Copy link
Member

cdce8p commented Jul 9, 2023

Does disabling cyclic-import also resolve the issue?

It was already disabled, so unfortunately no.

Every time I include it, shortly before I expect pylint to finish, I get a Error: The operation was canceled. message.

What I'm worried about is that the memory cost of the cyclic import checker algorithm is the problem, rather than this PR

I've never before gotten the message The operation was canceled without any indication to what actually caused it, so it could be a memory issue. However, I also just ran a test with jobs=1 which worked fine.

That leads me to believe it's actually the step that combines the results which might be the problem.

@jacobtylerwalls
Copy link
Member Author

It was already disabled, so unfortunately no.

That sounds like an easy problem to address. Opened #8838 for it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug πŸͺ² Skip news πŸ”‡ This change does not require a changelog entry Unreleased
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants