Skip to content

Commit

Permalink
Loading a Job object eagerloads a lot of mappings down to the dataset
Browse files Browse the repository at this point in the history
level. For Jobs with many outputs with large metadata, this can consume
many GB of memory.  Attempt to lazy load instead such that only one row
should be returned for querying jobs (but this could negatively impact
performance in other places).
  • Loading branch information
natefoo committed Feb 26, 2016
1 parent da50cf1 commit 6dbdc43
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions lib/galaxy/model/mapping.py
Expand Up @@ -2100,16 +2100,16 @@ def simple_mapping( model, **kwds ):
user=relation( model.User ),
galaxy_session=relation( model.GalaxySession ),
history=relation( model.History ),
library_folder=relation( model.LibraryFolder ),
parameters=relation( model.JobParameter, lazy=False ),
library_folder=relation( model.LibraryFolder, lazy=True ),
parameters=relation( model.JobParameter, lazy=True ),
input_datasets=relation( model.JobToInputDatasetAssociation ),
output_datasets=relation( model.JobToOutputDatasetAssociation ),
output_dataset_collection_instances=relation( model.JobToOutputDatasetCollectionAssociation ),
output_dataset_collections=relation( model.JobToImplicitOutputDatasetCollectionAssociation ),
output_datasets=relation( model.JobToOutputDatasetAssociation, lazy=True ),
output_dataset_collection_instances=relation( model.JobToOutputDatasetCollectionAssociation, lazy=True ),
output_dataset_collections=relation( model.JobToImplicitOutputDatasetCollectionAssociation, lazy=True ),
post_job_actions=relation( model.PostJobActionAssociation, lazy=False ),
input_library_datasets=relation( model.JobToInputLibraryDatasetAssociation ),
output_library_datasets=relation( model.JobToOutputLibraryDatasetAssociation ),
external_output_metadata=relation( model.JobExternalOutputMetadata, lazy=False ),
output_library_datasets=relation( model.JobToOutputLibraryDatasetAssociation, lazy=True ),
external_output_metadata=relation( model.JobExternalOutputMetadata, lazy=True ),
tasks=relation( model.Task )
) )

Expand Down

0 comments on commit 6dbdc43

Please sign in to comment.