You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our codebase has a circular import where zetta_utils.load_all_modules() loads internal, which loads from zetta_utils. This seems to be the cause of issues with using dill.dumps with recurse=True.
I have investigated using cloudpickle as an alternative, but this seems result in probabilistically inconsistent serialisation across processes that have been started using spawn. It seems to happen very consistently on GitHub CI but not when running locally, and investigating the serialised bytecode shows that the entrypoints are different:
It's not definite, but the most likely culprit for this is still the circular import as partially initialised modules are known to cause inconsistent behaviour across runs.
The text was updated successfully, but these errors were encountered:
Our codebase has a circular import where
zetta_utils.load_all_modules()
loadsinternal
, which loads fromzetta_utils
. This seems to be the cause of issues with usingdill.dumps
withrecurse=True
.I have investigated using
cloudpickle
as an alternative, but this seems result in probabilistically inconsistent serialisation across processes that have been started usingspawn
. It seems to happen very consistently on GitHub CI but not when running locally, and investigating the serialised bytecode shows that the entrypoints are different:vs.
It's not definite, but the most likely culprit for this is still the circular import as partially initialised modules are known to cause inconsistent behaviour across runs.
The text was updated successfully, but these errors were encountered: