-
Notifications
You must be signed in to change notification settings - Fork 992
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support high-availability setups for the interactive tools proxy #18481
Commits on Jul 2, 2024
-
Support using a table in any database supported by SQLAlchemy as mapp…
…ing for interactive tools Replace the class `InteractiveToolSqlite` in lib/galaxy/managers/interactivetool.py with a new class `InteractiveToolPropagatorSQLAlchemy`. The new class implements a SQLAlchemy "propagator" for `InteractiveToolManager` (on the same file). This propagator writes the mappings to the table named after the value of `DATABASE_TABLE_NAME`, in the database specified by the SQLAlchemy database url passed to its constructor. Change the constructor of `InteractiveToolManager` so that it uses `InteractiveToolPropagatorSQLAlchemy`. Change the method `_process_config` of `galaxy.config.GalaxyAppConfiguration` so that it converts the value of `interactivetools_map` to a SQLAlchemy database url if it is a path. Update documentation to reflect these changes.
Configuration menu - View commit details
-
Copy full SHA for b54bf35 - Browse repository at this point
Copy the full SHA b54bf35View commit details
Commits on Jul 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for bf6b6ed - Browse repository at this point
Copy the full SHA bf6b6edView commit details -
Configuration menu - View commit details
-
Copy full SHA for 967b591 - Browse repository at this point
Copy the full SHA 967b591View commit details
Commits on Jul 22, 2024
-
Configuration menu - View commit details
-
Copy full SHA for d85e1b5 - Browse repository at this point
Copy the full SHA d85e1b5View commit details -
Configure SQLAlchemy interactive tool maps via new `interactivetools_…
…map_sqlalchemy` setting Define a new configuration property `interactivetools_map_sqlalchemy` to store interactivetool proxy mappings on a RDBMS supported by SQLAlchemy. If set, it takes precedence over `interactivetools_map`. When unset, a SQLite mapping file located at `interactivetools_map` is used (as usual).
Configuration menu - View commit details
-
Copy full SHA for ce6d0f7 - Browse repository at this point
Copy the full SHA ce6d0f7View commit details -
Revert changes to description for setting
sessions
in galaxy.yml.sa……mple This text is managed by Gravity
Configuration menu - View commit details
-
Copy full SHA for 647fd4c - Browse repository at this point
Copy the full SHA 647fd4cView commit details -
Forbid setting
interactivetools_map_sqlalchemy
from matching `datab……ase_connection` or `install_database_connection`
Configuration menu - View commit details
-
Copy full SHA for 678bea1 - Browse repository at this point
Copy the full SHA 678bea1View commit details -
Add note in interactive tools docs page informing about `interactivet…
…ools_map_sqlalchemy` setting Refer to SQLite docs page describing situations where a client/server RDBMS works better and provide an example. Link to the `interactivetools_map_sqlalchemy` on the Galaxy configuration page.
Configuration menu - View commit details
-
Copy full SHA for dddf5ba - Browse repository at this point
Copy the full SHA dddf5baView commit details -
workaround
mypy
error on statement usingsqlalchemy.select
``` lib/galaxy/managers/interactivetool.py:65: error: No overload variant of "select" matches argument type "ReadOnlyColumnCollection[str, Column[Any]]" ```
Configuration menu - View commit details
-
Copy full SHA for 6be9b60 - Browse repository at this point
Copy the full SHA 6be9b60View commit details
Commits on Jul 23, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e7dbe42 - Browse repository at this point
Copy the full SHA e7dbe42View commit details -
Configuration menu - View commit details
-
Copy full SHA for c1fd2b5 - Browse repository at this point
Copy the full SHA c1fd2b5View commit details
Commits on Aug 2, 2024
-
Add
sqlalchemy
to config package requirements`lib.galaxy.config.GalaxyAppConfiguration._process_config` requires `sqlalchemy.engine.make_url` to forbid `interactivetools_map_sqlalchemy` from matching `database_connection` or `install_database_connection` (678bea1)
Configuration menu - View commit details
-
Copy full SHA for b6ad695 - Browse repository at this point
Copy the full SHA b6ad695View commit details -
Test that Galaxy raises
ConfigurationError
when setting `interactiv……etools_map_sqlalchemy` matches `database_connection` or `install_database_connection` (678bea1)
Configuration menu - View commit details
-
Copy full SHA for 5e8ca55 - Browse repository at this point
Copy the full SHA 5e8ca55View commit details
Commits on Aug 9, 2024
-
Set
interactivetools_map
toNone
when `interactivetools_map_sqlal……chemy` is defined Given that `interactivetools_map` is ignored if `interactivetools_map_sqlalchemy` is set, first check `interactivetools_map_sqlalchemy`. If it's not set, then build the sqlite url; but if it is set, then set `interactivetools_map` to `None` for clarity (and to avoid potential bugs in the future) Co-authored-by: John Davis <jdavcs@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 26fd210 - Browse repository at this point
Copy the full SHA 26fd210View commit details -
Fix typos in descriptions of
interactivetools_map
and `interactivet……ools_map_sqlalchemy` Authored-by: John Davis <jdavcs@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ffa8ea4 - Browse repository at this point
Copy the full SHA ffa8ea4View commit details -
Mention that
interactivetools_map_sqlalchemy
overrides `interactive……tools_map` in the latter's description Co-authored-by: John Davis <jdavcs@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 018e541 - Browse repository at this point
Copy the full SHA 018e541View commit details -
Refactor variable name
query
tostmt
for calls toselect()
, `in……sert()` or `delete()`
Configuration menu - View commit details
-
Copy full SHA for e040750 - Browse repository at this point
Copy the full SHA e040750View commit details -
Access individual table columns via
__getattr__
rather than `__geti……tem__` Match @jdavcs' coding style.
Configuration menu - View commit details
-
Copy full SHA for 8305016 - Browse repository at this point
Copy the full SHA 8305016View commit details -
Restore original error handling for `InteractiveToolPropagatorSQLAlch…
…emy.get()` Emit a warning when `get()` returns no results.
Configuration menu - View commit details
-
Copy full SHA for 6fc0d46 - Browse repository at this point
Copy the full SHA 6fc0d46View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e6688c - Browse repository at this point
Copy the full SHA 4e6688cView commit details
Commits on Sep 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 0b6ad17 - Browse repository at this point
Copy the full SHA 0b6ad17View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ee6636 - Browse repository at this point
Copy the full SHA 9ee6636View commit details -
Use
urlparse
to compareinteractivetoolsproxy_map
with `database_……connection` and `install_database_connection` Using `urlparse` rather than `sqlalchemy.engine.make_url` decreases the precision of the comparison, but removes the need to declare `sqlalchemy` as a dependency of the config package. This is a tradeoff between convenience (preventing mistakes from the user) and complexity (number of dependencies of the config package).
Configuration menu - View commit details
-
Copy full SHA for 5c0b5d6 - Browse repository at this point
Copy the full SHA 5c0b5d6View commit details -
Revert "Add
sqlalchemy
to config package requirements"This reverts commit b6ad695.
Configuration menu - View commit details
-
Copy full SHA for 7510372 - Browse repository at this point
Copy the full SHA 7510372View commit details