@@ -204,6 +204,17 @@ def __init__(
204204 'Runner %s is not a PipelineRunner object or the '
205205 'name of a registered runner.' % runner )
206206
207+ # Runner can specify the default runner to be used.
208+ if (self ._options .view_as (SetupOptions ).pickle_library == 'default' and
209+ runner .default_pickle_library_override () is not None ):
210+ logging .info (
211+ "Runner defaulting to pickling library: %s." ,
212+ runner .default_pickle_library_override ())
213+ self ._options .view_as (
214+ SetupOptions ).pickle_library = runner .default_pickle_library_override (
215+ )
216+ pickler .set_library (self ._options .view_as (SetupOptions ).pickle_library )
217+
207218 # Validate pipeline options
208219 errors = PipelineOptionsValidator (self ._options , runner ).validate ()
209220 if errors :
@@ -223,15 +234,6 @@ def __init__(
223234 # Default runner to be used.
224235 self .runner = runner
225236
226- if (self ._options .view_as (SetupOptions ).pickle_library == 'default' and
227- self .runner .default_pickle_library_override () is not None ):
228- logging .info (
229- "Default pickling library set to : %s." ,
230- runner .default_pickle_library_override ())
231- self ._options .view_as (
232- SetupOptions ).pickle_library = runner .default_pickle_library_override (
233- )
234- pickler .set_library (self ._options .view_as (SetupOptions ).pickle_library )
235237 # Stack of transforms generated by nested apply() calls. The stack will
236238 # contain a root node as an enclosing (parent) node for top transforms.
237239 self .transforms_stack = [
0 commit comments