Open benclifford opened 5 years ago
This looks like the same problem as in #548, for the globus SDK class globus_sdk.exc.GlobusTimeoutError
which at some point calls a superclass __init__
in a way that causes trouble: see the description #548 and https://bugs.python.org/issue1692335#msg52351
The solution for #548 was to remove the offending call.
The solution for this might be the same, or not - depending on whether globus_sdk
people believe that their exceptions should support pickling.
The solution for this might be the same, or not - depending on whether
globus_sdk
people believe that their exceptions should support pickling.
I've only just learned about this issue, but I'm afraid that pickling the SDK errors and responses is tricky business. In each case, there may be an underlying requests
object, which we want to preserve if possible. requests.Response
does not pickle cleanly, and other objects may also cause trouble.
I've done some work in this space in the distant past, and I'm not sure we're prepared to fully guarantee that an unpickled response will act the same as the original. But we can take steps to try to make sure that the object can make it through -- even if we need to do things like setting self._response = None
. I'll think about this more.
With commit 74df7017a09a18d05bb5a39fdf57ae76303691af on master: