Skip to content

fix: Unpin cloudpickle - #1350

Open
speller26 wants to merge 3 commits into
mainfrom
unpin
Open

speller26 wants to merge 3 commits into
mainfrom
unpin

Conversation

@speller26

Copy link
Copy Markdown
Member

aws/sagemaker-python-sdk#4871 has been resolved

Issue #, if available:

Description of changes:

Testing done:

Merge Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.

General

Tests

  • I have added tests that prove my fix is effective or that my feature works (if appropriate)
  • I have checked that my tests are not configured for a specific region or account (if appropriate)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@speller26
speller26 requested a review from a team as a code owner September 2, 2026 00:40
@speller26 speller26 changed the title Unpin cloudpickle fix: Unpin cloudpickle Sep 2, 2026
@codecov

codecov Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (8019e5a) to head (360a583).

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #1350   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          171       171           
  Lines        11648     11648           
  Branches      1538      1538           
=========================================
  Hits         11648     11648           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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

This change becomes tricky because cloudpickle explicitly doesn't support serializing with one version and deserializing with a different version. If we unpin it, we create the possibility of mismatched versions between a user's client (wherever they are running their code with the @hybrid_job decorator), and the hybrid job container where it runs.

For a specific example: after the job container upgrades to an SDK version with this change, it will get the latest cloudpickle version (3.x), but users of older SDK versions or with older environments will be using old cloudpickle (2.x). This is not guaranteed to work (and in practice we've seen that it often doesn't).

Is there a reason that we truly want/need a newer cloudpickle version? If so, we need to somehow safeguard against the above scenario.

This branch has not been deployed

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants