mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Fix jobs finishing after update to 21.01
Fixes:
```
Traceback (most recent call last):
File "metadata/set.py", line 1, in <module>
from galaxy_ext.metadata.set_metadata import set_metadata; set_metadata()
File "/cvmfs/test.galaxyproject.org/galaxy/lib/galaxy/metadata/set_metadata.py", line 108, in set_metadata
set_metadata_portable()
File "/cvmfs/test.galaxyproject.org/galaxy/lib/galaxy/metadata/set_metadata.py", line 192, in set_metadata_portable
import_model_store = store.imported_store_for_metadata('metadata/outputs_new', object_store=object_store)
File "/cvmfs/test.galaxyproject.org/galaxy/lib/galaxy/model/store/__init__.py", line 1464, in imported_store_for_metadata
import_model_store = get_import_model_store_for_directory(directory, import_options=import_options, object_store=object_store)
File "/cvmfs/test.galaxyproject.org/galaxy/lib/galaxy/model/store/__init__.py", line 775, in get_import_model_store_for_directory
assert os.path.isdir(archive_dir)
AssertionError
```
This commit is contained in:
@@ -189,12 +189,18 @@ def set_metadata_portable():
|
||||
|
||||
# Load outputs.
|
||||
export_store = store.DirectoryModelExportStore('metadata/outputs_populated', serialize_dataset_objects=True, for_edit=True, strip_metadata_files=False)
|
||||
import_model_store = store.imported_store_for_metadata('metadata/outputs_new', object_store=object_store)
|
||||
try:
|
||||
import_model_store = store.imported_store_for_metadata('metadata/outputs_new', object_store=object_store)
|
||||
except AssertionError:
|
||||
# Remove in 21.09, this should only happen for jobs that started on <= 20.09 and finish now
|
||||
import_model_store = None
|
||||
|
||||
for output_name, output_dict in outputs.items():
|
||||
dataset_instance_id = output_dict["id"]
|
||||
klass = getattr(galaxy.model, output_dict.get('model_class', 'HistoryDatasetAssociation'))
|
||||
dataset = import_model_store.sa_session.query(klass).find(dataset_instance_id)
|
||||
dataset = None
|
||||
if import_model_store:
|
||||
dataset = import_model_store.sa_session.query(klass).find(dataset_instance_id)
|
||||
if dataset is None:
|
||||
# legacy check for jobs that started before 21.01, remove on 21.05
|
||||
filename_in = os.path.join("metadata/metadata_in_%s" % output_name)
|
||||
|
||||
Reference in New Issue
Block a user