Drop legacy_eager_objectstore_initialization option.

Reduce branching/complexity around when/where objectstore is getting set for downstream work.
This commit is contained in:
John Chilton
2020-11-30 12:28:09 -05:00
parent 2aac2b172c
commit b03e9c8d04
7 changed files with 1 additions and 68 deletions
-21
View File
@@ -630,27 +630,6 @@
:Type: str
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``legacy_eager_objectstore_initialization``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:Description:
As of 18.09, Galaxy defaults to setting up the object store
configuration for output datasets during the job queue step in job
handlers. This should generally provide for more robust job
submission, more configurability, and a better user experience but
may in some cases slightly slow down the job handler job setup
process. On the off chance that an admin would like to or need to
optimize job handlers at the expense of user experience and web
handling this option will remain for some time by setting this
option to true. This behavior however should be considered
deprecated and this option will likely be removed in future
versions of Galaxy. For more information see
https://github.com/galaxyproject/galaxy/issues/6513.
:Default: ``false``
:Type: bool
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``file_sources_config_file``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+1
View File
@@ -316,6 +316,7 @@ OPTION_ACTIONS = {
'communication_server_host': _DeprecatedAndDroppedAction(),
'communication_server_port': _DeprecatedAndDroppedAction(),
'persistent_communication_rooms': _DeprecatedAndDroppedAction(),
'legacy_eager_objectstore_initialization': _DeprecatedAndDroppedAction(),
}
@@ -412,20 +412,6 @@ galaxy:
# option.
#watch_tours: 'false'
# As of 18.09, Galaxy defaults to setting up the object store
# configuration for output datasets during the job queue step in job
# handlers. This should generally provide for more robust job
# submission, more configurability, and a better user experience but
# may in some cases slightly slow down the job handler job setup
# process. On the off chance that an admin would like to or need to
# optimize job handlers at the expense of user experience and web
# handling this option will remain for some time by setting this
# option to true. This behavior however should be considered
# deprecated and this option will likely be removed in future versions
# of Galaxy. For more information see
# https://github.com/galaxyproject/galaxy/issues/6513.
#legacy_eager_objectstore_initialization: false
# Configured FileSource plugins.
# The value of this option will be resolved with respect to
# <config_dir>.
-8
View File
@@ -12,7 +12,6 @@ from galaxy.jobs.actions.post import ActionBox
from galaxy.model import LibraryDatasetDatasetAssociation, WorkflowRequestInputParameter
from galaxy.model.dataset_collections.builder import CollectionBuilder
from galaxy.model.none_like import NoneDataset
from galaxy.objectstore import ObjectStorePopulator
from galaxy.tools.parameters import update_dataset_ids
from galaxy.tools.parameters.basic import DataCollectionToolParameter, DataToolParameter, RuntimeValue
from galaxy.tools.parameters.wrapped import WrappedParameters
@@ -363,7 +362,6 @@ class DefaultToolAction:
# datasets first, then create the associations
parent_to_child_pairs = []
child_dataset_names = set()
object_store_populator = ObjectStorePopulator(app, trans.user)
async_tool = tool.tool_type == 'data_source_async'
def handle_output(name, output, hidden=None):
@@ -415,11 +413,6 @@ class DefaultToolAction:
trans.app.security_agent.set_all_dataset_permissions(data.dataset, output_permissions, new=True, flush=False)
data.copy_tags_to(preserved_tags.values())
if not completed_job and trans.app.config.legacy_eager_objectstore_initialization:
# Must flush before setting object store id currently.
trans.sa_session.flush()
object_store_populator.set_object_store_id(data)
# This may not be neccesary with the new parent/child associations
data.designation = name
# Copy metadata from one of the inputs if requested.
@@ -543,7 +536,6 @@ class DefaultToolAction:
job, galaxy_session = self._new_job_for_session(trans, tool, history)
self._record_inputs(trans, tool, job, incoming, inp_data, inp_dataset_collections)
self._record_outputs(job, out_data, output_collections)
job.object_store_id = object_store_populator.object_store_id
if job_params:
job.params = dumps(job_params)
if completed_job:
@@ -14,7 +14,6 @@ from webob.compat import cgi_FieldStorage
from galaxy import datatypes, util
from galaxy.exceptions import (
ConfigDoesNotAllowException,
ObjectInvalid,
RequestParameterInvalidException,
)
from galaxy.model import tags
@@ -430,14 +429,6 @@ def create_job(trans, params, tool, json_file_path, outputs, folder=None, histor
job.add_output_library_dataset(output_name, dataset)
else:
job.add_output_dataset(output_name, dataset)
# Create an empty file immediately
if not dataset.dataset.external_filename and trans.app.config.legacy_eager_objectstore_initialization:
dataset.dataset.object_store_id = object_store_id
try:
trans.app.object_store.create(dataset.dataset)
except ObjectInvalid:
raise Exception('Unable to create output dataset: object store is full')
object_store_id = dataset.dataset.object_store_id
trans.sa_session.add(output_object)
@@ -471,21 +471,6 @@ mapping:
changes are found, modified tours are automatically reloaded. Takes the same values as the
'watch_tools' option.
legacy_eager_objectstore_initialization:
type: bool
default: false
required: false
desc: |
As of 18.09, Galaxy defaults to setting up the object store configuration
for output datasets during the job queue step in job handlers. This should generally
provide for more robust job submission, more configurability, and a better
user experience but may in some cases slightly slow down the job handler job
setup process. On the off chance that an admin would like to or need to optimize job
handlers at the expense of user experience and web handling this option will remain
for some time by setting this option to true. This behavior however should be
considered deprecated and this option will likely be removed in future versions of
Galaxy. For more information see https://github.com/galaxyproject/galaxy/issues/6513.
file_sources_config_file:
type: str
default: file_sources_conf.yml
-1
View File
@@ -164,7 +164,6 @@ class MockAppConfig(Bunch):
self.shed_tool_config_file_set = False
self.preserve_python_environment = "always"
self.enable_beta_gdpr = False
self.legacy_eager_objectstore_initialization = True
self.version_major = "19.09"