Skip to content

Fix pylint false positives for ThreadPoolExecutor#4244

Merged
xrmx merged 11 commits into
open-telemetry:mainfrom
srikaaviya:fix-threadpool-pylint
Apr 14, 2026
Merged

Fix pylint false positives for ThreadPoolExecutor#4244
xrmx merged 11 commits into
open-telemetry:mainfrom
srikaaviya:fix-threadpool-pylint

Conversation

@srikaaviya

Copy link
Copy Markdown
Contributor

Description

This PR changes the concurrent.futures import style in three files to bypass a known no-name-in-module pylint parsing bug introduced when adding Python 3.14 support.

By using import concurrent.futures and fully qualifying concurrent.futures.ThreadPoolExecutor and concurrent.futures.Future, we cleanly resolve the false positive without needing any # pylint: disable comments or global config overrides.

Fixes #4199

Type of change

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

The official tox linting suites passed successfully:

Does This PR Require a Core Repo Change?

No.

Checklist:

  • Followed the style guidelines of this project
  • Changelogs - (N/A - purely internal linting fix)
  • Unit tests - (N/A - fixing lint false positive)
  • Documentation - (N/A)

@srikaaviya
srikaaviya requested a review from a team as a code owner February 20, 2026 23:58
@srikaaviya
srikaaviya force-pushed the fix-threadpool-pylint branch from 3d58728 to bdd972d Compare February 23, 2026 22:17
@xrmx xrmx moved this to Ready for review in Python PR digest Feb 24, 2026
@xrmx xrmx moved this from Ready for review to Reviewed PRs that need fixes in Python PR digest Feb 24, 2026

@xrmx xrmx left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't think this is the right way to fix this. We should fix all the issue we have with a newer pylint version and then remove the comments.

@JWinermaSplunk

Copy link
Copy Markdown
Contributor

I agree with @xrmx in that we should bump the pylint version instead of using the fully qualified names.

@srikaaviya
srikaaviya force-pushed the fix-threadpool-pylint branch from bdd972d to 59e2617 Compare February 24, 2026 23:05
@srikaaviya

srikaaviya commented Feb 24, 2026

Copy link
Copy Markdown
Contributor Author

@xrmx @DylanRussell @JWinermaSplunk I bumped pylint to 4.0.5, as anticipated, the upgrade surfaces 41 lint job failures across the repo. Should I address them in this PR? What would you recommend?

@xrmx

xrmx commented Feb 26, 2026

Copy link
Copy Markdown
Contributor

@xrmx @DylanRussell @JWinermaSplunk I bumped pylint to 4.0.5, as anticipated, the upgrade surfaces 41 lint job failures across the repo. Should I address them in this PR? What would you recommend?

I would start by changing the pylint configuration to:

[DESIGN]
max-positional-arguments=10

And then re-evaluate what's left. I see there are files with 12 or even 18 occurrences but there would probably good to add a local comment to disable the warnings.

@xrmx

xrmx commented Mar 2, 2026

Copy link
Copy Markdown
Contributor

@srikaaviya I've opened a PR to fix a bunch of reported issues here #4272 , I would suggest to wait for that to get in and then do the required fixes for the bump in this PR.

@srikaaviya

srikaaviya commented Mar 2, 2026

Copy link
Copy Markdown
Contributor Author

@srikaaviya I've opened a PR to fix a bunch of reported issues here #4272 , I would suggest to wait for that to get in and then do the required fixes for the bump in this PR.

Sure, I'll wait until #4272 is merged.

@xrmx

xrmx commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

@srikaaviya I've merged #4272

…l-arguments=10, Add pylint: disable=too-many-positional-arguments to functions that legitimately exceed the limit

@emdneto emdneto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

it seems there are more lint cases to fix

Comment thread .pylintrc Outdated
Comment thread CHANGELOG.md Outdated
Comment thread .pylintrc Outdated
@xrmx

xrmx commented Mar 16, 2026

Copy link
Copy Markdown
Contributor

it seems there are more lint cases to fix

baggage should be ignored, openai-agents is the very same error as these, for botocore I guess removing the return is enough.

Comment thread .pylintrc Outdated
Comment thread CHANGELOG.md
@srikaaviya

Copy link
Copy Markdown
Contributor Author

@xrmx I have addressed the changes. Please let me know if there's anything else!

@xrmx
xrmx self-requested a review April 10, 2026 08:53
@xrmx
xrmx requested a review from emdneto April 14, 2026 12:45
@github-project-automation github-project-automation Bot moved this from Reviewed PRs that need fixes to Approved PRs in Python PR digest Apr 14, 2026
@xrmx
xrmx merged commit dcf86d0 into open-telemetry:main Apr 14, 2026
750 checks passed
@github-project-automation github-project-automation Bot moved this from Approved PRs to Done in Python PR digest Apr 14, 2026
shuningc pushed a commit to shuningc/opentelemetry-python-contrib that referenced this pull request Apr 16, 2026
* Bump pylint to 4.0.5 to fix Python 3.14 concurrent.futures false positives

* Fix too-many-positional-arguments pylint failures - Add max-positional-arguments=10, Add pylint: disable=too-many-positional-arguments to functions that legitimately exceed the limit

* Bump max-positional-arguments to 12 and remove unnecessary disable comments

* Address review comments: fix CHANGELOG, remove stale pylintrc comment, add openai-agents disable

* Fix formatting: restore blank line in CHANGELOG and remove extra blank line in .pylintrc

* Update processor.py

* Update test_botocore_bedrock.py

---------

Co-authored-by: Riccardo Magliocchetti <[email protected]>
aabmass pushed a commit that referenced this pull request Apr 16, 2026
* linting fix

* Updating changelog

* Updating changelog PR number

* Removing embedding events emission

* Refatoring and adding input token metric for Embedding invocation

* Merging and removing unused import

* build(deps): bump aiohttp from 3.13.3 to 3.13.4 (#4386)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.13.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Revert "Build list of required jobs in generate-workflow (#4326)" (#4413)

This reverts commit 22879d6.

Now that we have just one job to check we don't need to build the list anymore.

* Drop Python 3.9 support (#4412)

* Drop Python 3.9 support

Signed-off-by: emdneto <[email protected]>

* generate-workflows

Signed-off-by: emdneto <[email protected]>

* fixes

Signed-off-by: emdneto <[email protected]>

* remove extra reference to pypy310

Signed-off-by: emdneto <[email protected]>

* changelog

Signed-off-by: emdneto <[email protected]>

* fix flask tests

Signed-off-by: emdneto <[email protected]>

* fix google-genai tests

Signed-off-by: emdneto <[email protected]>

* fix google-genai tests

Signed-off-by: emdneto <[email protected]>

* fix

Signed-off-by: emdneto <[email protected]>

* remove unused _ensure_gzip_single_response

Signed-off-by: emdneto <[email protected]>

---------

Signed-off-by: emdneto <[email protected]>
Co-authored-by: Riccardo Magliocchetti <[email protected]>

* Add AGENTS.md with project structure and commands (#4233)

* Add CLAUDE.md with project structure and commands

* Add AGENTS.md symlink to CLAUDE.md

* Move guidance to AGENTS.md and address review feedback

- Move main content from CLAUDE.md to AGENTS.md so all AI agents
  (not only Claude) pick up the guidance; CLAUDE.md now just references
  it via `@AGENTS.md`.
- Add general rules, PR scoping, and `Assisted-by:` commit trailer
  guidance (inspired by the Collector's AGENTS.md).
- Clarify that only instrumentation packages live under
  `src/opentelemetry/instrumentation/{name}/`; other package types use
  their own namespace.

---------

Co-authored-by: Riccardo Magliocchetti <[email protected]>

* scripts: drop update_sha (#4430)

It's buggy and unused.

* Fix pylint false positives for ThreadPoolExecutor (#4244)

* Bump pylint to 4.0.5 to fix Python 3.14 concurrent.futures false positives

* Fix too-many-positional-arguments pylint failures - Add max-positional-arguments=10, Add pylint: disable=too-many-positional-arguments to functions that legitimately exceed the limit

* Bump max-positional-arguments to 12 and remove unnecessary disable comments

* Address review comments: fix CHANGELOG, remove stale pylintrc comment, add openai-agents disable

* Fix formatting: restore blank line in CHANGELOG and remove extra blank line in .pylintrc

* Update processor.py

* Update test_botocore_bedrock.py

---------

Co-authored-by: Riccardo Magliocchetti <[email protected]>

* feat(util-genai): refactor and make API smaller and more user-friendly (#4391)

* Refactor public API on GenAI utils

* more lint

* review feedback

* update tests to use named params

* address some of the comments

* up

* fix failing checks and clean up imports

* lint

* lint

* fix lint

* replace @deprecated with docstring info to avoid warnings for users

* up

* common code for context manager

* Adding metrics call for Embedding type after refactoring

* Updating metrics tests with embedding

* Adding fix for markdown-link-check

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: emdneto <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Riccardo Magliocchetti <[email protected]>
Co-authored-by: Emídio Neto <[email protected]>
Co-authored-by: Marcelo Trylesinski <[email protected]>
Co-authored-by: Sri Kaaviya <[email protected]>
Co-authored-by: Liudmila Molkova <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Fix pylint false positives for ThreadPoolExecutor

8 participants