Commit Graph
1016 Commits
Author SHA1 Message Date
davelopez 0618dd8478 Add test to check quota IDs are encoded correctly 2024-01-22 17:57:55 +01:00
mvdbeek e02a765b7b Merge branch 'release_23.2' into dev 2024-01-18 12:23:00 +01:00
mvdbeek a88dbdd177 Discard connection after task completion
Running the test without removing the session yields:
```
celery.app.trace ERROR 2024-01-17 11:49:42,502 [pN:main,p:81158,tN:Thread-2 (start)] Task integration.test_celery_tasks.use_session[0f89df2c-4960-4aac-8e1a-ce431dae6749] raised unexpected: PendingRollbackError("Can't reconnect until invalid transaction is rolled back.")
Traceback (most recent call last):
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/celery/app/trace.py", line 477, in trace_task
    R = retval = fun(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/lib/galaxy/celery/__init__.py", line 181, in wrapper
    rval = app.magic_partial(func)(*args, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/lagom/wrapping.py", line 28, in _bound_func
    return inner_func(*bound_args, **bound_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/lagom/wrapping.py", line 45, in _error_handling_func
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/test/integration/test_celery_tasks.py", line 42, in use_session
    sa_session().query(HistoryDatasetAssociation).get(1)
  File "<string>", line 2, in get
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/util/deprecations.py", line 468, in warned
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 947, in get
    return self._get_impl(ident, loading.load_on_pk_identity)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 951, in _get_impl
    return self.session._get_impl(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2975, in _get_impl
    return db_load_fn(
           ^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/orm/loading.py", line 530, in load_on_pk_identity
    session.execute(
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1717, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1710, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1577, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1808, in _execute_context
    conn = self._revalidate_connection()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 650, in _revalidate_connection
    self._invalid_transaction()
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 622, in _invalid_transaction
    raise exc.PendingRollbackError(
sqlalchemy.exc.PendingRollbackError: Can't reconnect until invalid transaction is rolled back. (Background on this error at: https://sqlalche.me/e/14/8s2b)
FAILEDINFO:     127.0.0.1:59776 - "GET /api/jobs?state=running HTTP/1.1" 200 OK
```

The fix here is to set a unique scope for the session registry.
This means that the task is guranteed to get a new, unshared session,
and this session gets removed after completing the task.

The docstring of session.remove says:
```
       This will first call :meth:`.Session.close` method
        on the current :class:`.Session`, which releases any existing
        transactional/connection resources still being held; transactions
        specifically are rolled back.  The :class:`.Session` is then
        discarded.   Upon next usage within the same scope,
        the :class:`.scoped_session` will produce a new
        :class:`.Session` object.
```
which I think is what we want after every celery task (for now, at least).
It might make sense to discard the session for any long-running task
that doesn't require database access in the future.

Fix scope
2024-01-17 12:41:43 +01:00
John Chilton 0953118f9a Allow job files to consume TUS uploads 2024-01-16 10:03:02 -05:00
mvdbeek 7f529e63c7 Merge branch 'release_23.2' into dev 2024-01-04 16:07:26 +01:00
Nuwan Goonasekera fe971b2aa6 Merge pull request #16977 from nuwang/oidc_api_auth
Support for OIDC API Auth and OIDC integration tests
2024-01-02 18:53:50 +05:30
mvdbeek ccdd733121 Commit and legacy backpopulate pattern from unit test 2023-12-25 10:59:05 +01:00
mvdbeek 8bab912a7f Move display application link test to integration test 2023-12-25 10:38:21 +01:00
Tillman 1b9d632a08 Remove comments 2023-12-23 15:43:07 +01:00
Tillman 9b2435ec7b Add test for report_pdf operations of InvocationAPI 2023-12-23 15:43:07 +01:00
Nuwan Goonasekera 56edd297aa Merge branch 'dev' into oidc_api_auth 2023-12-19 18:33:05 +05:30
John Davis 631e84dd82 Move function to model.base to avoid circular import 2023-12-05 15:31:39 -05:00
John Davis ab2f76c94d Use utility function for safeguards 2023-12-05 15:21:06 -05:00
John Davis d275234eb1 Set cascade_backrefs=False on History.jobs, add safeguard 2023-12-04 15:41:46 -05:00
davelopez 6f2b4ff559 Move short_term_storage related classes to its own path
The ShortTermStorageManager and related classes should live in their own package eventually and not within galaxy.web nor galaxy.managers as the short term storage microservices it's fairly independent and has way less dependencies than those other packages.
2023-11-30 17:01:29 +01:00
davelopez d33bd688cd Move short_term_storage related classes to managers
The ShortTermStorageManager is a manager and makes sense to have it live under galaxy.managers instead of galaxy.web.

It will also help reduce the dependency of the manager modules on web related stuff.
2023-11-30 16:42:04 +01:00
Dannon 426e24ff24 Merge pull request #16954 from common-workflow-lab/python3.8
Python 3.8 as minimum
2023-11-28 23:53:14 -05:00
Dannon Baker 7643cc19b7 Merge remote-tracking branch 'upstream/release_23.1' into dev 2023-11-28 22:49:01 -05:00
davelopez 0ce70fb7b9 Add test for broadcasts action links 2023-11-28 19:34:07 +01:00
Marius van den Beek 0e1324c2c5 Merge pull request #17042 from davelopez/fix_broadcasts_action_url_type
Allow relative URLs in broadcasts action links
2023-11-28 17:49:49 +01:00
Martin Cech 4a7dbe9e19 Merge pull request #17072 from mvdbeek/add_head_route_to_job_files
[23.1] Add HEAD route to job_files endpoint
2023-11-27 23:07:26 +01:00
davelopez 809d40942d Add test to check notification input times 2023-11-27 18:02:32 +01:00
Michael R. Crusoe c00967cca4 Python 3.8 as new minimum version
Fixes: https://github.com/galaxyproject/galaxy/issues/16394

Also upgrade code to Python 3.8 syntax with:

```
ack --type=python -f | grep -v '^lib/galaxy/schema/bco/\|^lib/galaxy/schema/drs/\|lib/tool_shed_client/schema/trs.*.py\|^tools/\|^.venv/\|^.tox/' | grep -v '^lib/galaxy/files/sources/\|^lib/galaxy/job_metrics/\|^lib/galaxy/objectstore/\|^lib/galaxy/tool_util/\|^lib/galaxy/util/' | xargs pyupgrade --py38-plus
```
2023-11-26 18:34:09 +00:00
mvdbeek 11f1b4fe90 Add HEAD route to job_files endpoint 2023-11-23 12:29:15 +01:00
mvdbeek 50847673c4 Merge branch 'release_23.1' into dev 2023-11-22 19:14:20 +01:00
mvdbeek 41b302de53 Merge branch 'release_23.0' into release_23.1 2023-11-22 18:56:20 +01:00
mvdbeek 7fe19a7cad Merge `store_by="id"` tests 2023-11-22 18:55:03 +01:00
mvdbeek 5cf9f0e4ea Fix extra files collection for outputs in `store_by="id"` object stores 2023-11-22 15:38:27 +01:00
Marius van den Beek e8a288b2d3 Merge pull request #17061 from mvdbeek/no_conda_auto_init_pulsar
Disable conda_auto_init in embedded pulsar test cases
2023-11-21 18:51:38 +01:00
mvdbeek a98f8308f2 Disable conda_auto_init in embedded_pulsar_metadata_extended_job_conf.yml 2023-11-21 17:44:37 +01:00
Marius van den Beek a758757551 Merge pull request #17056 from mvdbeek/dev
Merge release_23.1 into dev
2023-11-21 13:49:08 +01:00
mvdbeek 686ec6fac4 Merge branch 'release_23.1' into dev 2023-11-21 09:36:51 +01:00
John Davis 36fc64ae3f Merge pull request #17025 from SergeyYakubov/optimize-object-store-pull
optimize object store cache operations
2023-11-20 10:47:37 -05:00
davelopez 5488abbb4f Add test for broadcasts action links 2023-11-17 10:59:49 +01:00
Yakubov, Sergey d0eef6ab3e use cache_updated_data=True for s3 tests 2023-11-16 13:22:09 -05:00
mvdbeek 0e142414cd Exclude multiple_versions from test_global_filters_on_integrated_panel 2023-11-16 15:08:21 +01:00
mvdbeek ca5fce7566 Test tool shed version as well 2023-11-16 05:52:30 -05:00
mvdbeek c3dc92b463 Test that only latest version is loaded 2023-11-16 05:52:19 -05:00
John Chilton edcc043b61 Make testing tool panel views a little easier. 2023-11-15 11:04:28 -05:00
Sveinung Gundersen bf422d3474 Removed "interactivetools_shorten_url" 2023-11-15 12:54:14 +01:00
Yakubov, Sergey 898c5c942d optimize object store pull
added sync_cache parameter to the get_filename function that allows
skip pulling to cache when not needed
2023-11-14 11:57:40 -05:00
mvdbeek 8468162302 Merge branch 'release_23.1' into dev 2023-11-13 11:37:20 +01:00
mvdbeek 2fc1b64742 Fix copying metadata to copied job outputs
Fixes https://github.com/galaxyproject/galaxy/issues/17003
2023-11-10 18:03:45 +01:00
John Davis f91693dc6e Merge pull request #16783 from SergeyYakubov/get-rid-of-filename-property
Replace file_name property with get_file_name function
2023-11-08 17:19:40 -05:00
Yakubov, Sergey c30a4c06c2 Replace file_name property with get_file_name function 2023-11-08 17:17:14 -05:00
Martin Cech 930e6fdd96 Merge pull request #16938 from ahmedhamidawan/remove_create_wf_form
Remove "Create Workflow" form and allow workflow creation in editor
2023-11-08 22:43:49 +01:00
nuwang 5d316fb6b4 Improved error messages and exception handling 2023-11-07 13:56:51 +05:30
nuwang ca8cb474ef Add integration tests for oidc account linkup 2023-11-06 19:16:13 +05:30
nuwang 517f0e71cb Verify client scopes before accepting token 2023-11-06 19:16:13 +05:30
nuwang 3d1244d2b6 Make keycloak port configurable 2023-11-06 19:16:13 +05:30