File tree 1 file changed +16
-7
lines changed
metaflow/plugins/metadata_providers
1 file changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -350,23 +350,32 @@ def filter_tasks_by_metadata(
350
350
List[str]
351
351
List of task pathspecs that satisfy the query
352
352
"""
353
- query_params = {
354
- "metadata_field_name" : field_name ,
355
- "pattern" : pattern ,
356
- "step_name" : step_name ,
357
- }
353
+ query_params = {}
354
+
355
+ if pattern == ".*" :
356
+ # we do not need to filter tasks at all if pattern allows 'any'
357
+ query_params = {}
358
+ else :
359
+ if field_name :
360
+ query_params ["metadata_field_name" ] = field_name
361
+ if pattern :
362
+ query_params ["pattern" ] = pattern
363
+
358
364
url = ServiceMetadataProvider ._obj_path (flow_name , run_id , step_name )
359
365
url = f"{ url } /filtered_tasks?{ urlencode (query_params )} "
366
+
360
367
try :
361
- resp = cls ._request (None , url , "GET" )
368
+ resp , _ = cls ._request (None , url , "GET" )
362
369
except Exception as e :
363
370
if e .http_code == 404 :
364
371
# filter_tasks_by_metadata endpoint does not exist in the version of metadata service
365
372
# deployed currently. Raise a more informative error message.
366
373
raise MetaflowInternalError (
367
374
"The version of metadata service deployed currently does not support filtering tasks by metadata. "
368
- "Upgrade Metadata service to version 2.15 or greater to use this feature."
375
+ "Upgrade Metadata service to version 2.5.0 or greater to use this feature."
369
376
) from e
377
+ # Other unknown exception
378
+ raise e
370
379
return resp
371
380
372
381
@staticmethod
You can’t perform that action at this time.
0 commit comments