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

Investigate why support for modern kedro datasets breaks for kedro<0.19.7 #592

Closed
Galileo-Galilei opened this issue Sep 22, 2024 · 4 comments · Fixed by #593
Closed

Investigate why support for modern kedro datasets breaks for kedro<0.19.7 #592

Galileo-Galilei opened this issue Sep 22, 2024 · 4 comments · Fixed by #593
Assignees
Labels
bug Something isn't working

Comments

@Galileo-Galilei
Copy link
Owner

Description

#590 introduced support for modern kedro datasets, i.e. with load and save defined on user side instead of private _load and _save. This breaks my tests locally for kedro<0.19.7

FYI @deepyaman, I'll take a stab at it.

Context

I should ensure retrocompatiblity, and this change isn't

Steps to Reproduce

Install the last version of master , install kedro <0.19.7, run tests.

Expected Result

Actual Result

-- If you received an error, place it here.
-- Separate them if you have more than one.

Your Environment

  • kedro and kedro-mlflow version used (pip show kedro and pip show kedro-mlflow):
  • Python version used (python -V):
  • Operating system and version:

Does the bug also happen with the last version on master?

@Galileo-Galilei Galileo-Galilei self-assigned this Sep 22, 2024
@Galileo-Galilei Galileo-Galilei added the bug Something isn't working label Sep 22, 2024
@deepyaman
Copy link
Contributor

@Galileo-Galilei Do you have a stack trace handy, by chance? The only thing I can imagine is if super().save and super().load aren't defined/raise attribute error, in which case may need the if condition to be if hasattr(super(), "save") and ..., etc.

@Galileo-Galilei Galileo-Galilei changed the title Investigate why support for modern kedro datastes breaks for kedro<0.19.7 Investigate why support for modern kedro datasets breaks for kedro<0.19.7 Sep 23, 2024
@Galileo-Galilei
Copy link
Owner Author

Galileo-Galilei commented Sep 23, 2024

There is an "obvious" (after 1 hour of debugging >< ) error in the code : his line misses a return statement and for the old dataset style, it leads to return None when loading.

I am a bit worried that is was not caught by this test in the first place 😕 (EDIT: Got it : when you test with kedro>=0.19.7, the MlflowArtifactDataset._load check against loadwrapped, and enters the first condition. Hard to test all possible combination of kedro x mlflow x python x os in the CI, it would be very expensive*)

Galileo-Galilei added a commit that referenced this issue Sep 23, 2024
* 🐛 Force return on load for old style datasets (#592)

* skip test for kedro<0.19.7

* fix test assert in new mlflow version
@deepyaman
Copy link
Contributor

There is an "obvious" (after 1 hour of debugging >< ) error in the code : his line misses a return statement and for the old dataset style, it leads to return None when loading.

Gah, sorry!!

@Galileo-Galilei
Copy link
Owner Author

No problem, I didn't see it either!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: ✅ Done
Development

Successfully merging a pull request may close this issue.

2 participants