entropy-lab / entropy

BSD 3-Clause "New" or "Revised" License
30 stars 13 forks source link

Migration for fixing ParamStore JSON files #307

Closed urig closed 2 years ago

urig commented 2 years ago

This PR introduces a new Alembic migration that fixes an issue with some ParamStore JSON files.

Users have indicated that following an entropy upgrade to revision 273a9fae6206, their ParamStore instances are failing to read committed data.

The root cause for this was that these users have, in the past, upgraded their projects through revision 06140c96c8c4. That migration wrapped param values in Param instances with qualified name: entropylab.api.in_process_param_store.Param.

Since that revision we have moved the Param class to a different location in the source tree so that its qualified name is now entropylab.pipeline.api.param_store.Param. As a result, when currently reading from such ParamStore JSON files, jsonpickle silently fails to de-serialize the Param instances.

The remedy is the new migration which goes over the ParamStore JSON file and replaced the old qualified name with the new one.

github-actions[bot] commented 2 years ago

Unit Test Results

256 tests   251 :heavy_check_mark:  54s :stopwatch:     1 suites      5 :zzz:     1 files        0 :x:

Results for commit 6055b129.

:recycle: This comment has been updated with latest results.

urig commented 2 years ago

@galwiner I should also open an issue for such de-serialization failures to fail loudly so we can detect and act on them faster.