[engine] bug fix: to pickle/unpickle within the proper context
Review Request #3761 — Created April 26, 2016 and submitted
|jsirois, kwlzn, patricklaw, stuhood|
We have two places that pickle and unpickle functions are not used within
the proper context.
- StringIO buffer for write, saving buffer to storage happens outside its context.
- lmdb buffer for read, the invalid buffer was used outside transction context.
The earlier attemp is probably red herring: https://rbcommons.com/s/twitter/r/3751/.
Thanks Stu for catching!
These two behaviors are clearly documented, see  and .
(after moving inline lambdas out)
Refactor lambda transform methods out.
Revision 3 (+41 -23)
More readable, thanks.
It seems odd to override default parameters in subclasses like this, but it seems like an "ok" way to solve this. I feel like we might eventually separate get/put into copying/non-copying versions, but let's land this as a fix.