ert
ert copied to clipboard
Stop pickling RecordTransmitters and serialize its configuration instead
-
A storage session in a remote environment (e.g. a unix prefect task), assumes to find
storage_server.json
in order to know how to connect to storage. ARecordTransmitter
should not rely onstorage_server.json
, it should inherently know how to connect. -
RecordTransmitter
is serialized usingpickle
. This is probably not a good idea for a IO-bound instance, as the same instance will likely have to operate in two wildly different environments (e.g. RGS vs docker in azure). The configuration for aRecordTransmitter
should be serialized instead. Also,pickle
will not call__init__
, which might cause confusion in the long run.
Definition of done
-
RecordTransmitter
s are no longer pickled -
RecordTransmitter
s inherently know how to connect
An implementation was started here https://github.com/equinor/ert/pull/2050 but abandoned because it did not fix the issue it was trying to fix.
Closing as related to ert3, which is no longer the direction taken by the project
This is part of ert.data
, and is still relevant
There are is longer any class RecordTransmitter in ert.data
so there is no pickling of this class. I am closing the issue. If there is some other class that should not be pickled, we can make a new issue for it.