This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Jul 12, 2024
-
-
github-automation-metabase authored
-
Braden Shepherdson authored
This comes in two parts. **Rebuilt query logic** I rewrote the query exec logic to use one `future` and one `a/go` block, reporting results to a `promise`. This is easier to follow and doesn't leak threads like the original implementation with two `future`s. The single future is guaranteed to exit. It blocks on the BigQuery call. That will either complete or throw an exception. Either the exception or the BigQuery result is sent to the promise, and then the future is complete. The only reference to that future is overwritten after the `promise` resolves, so the `future`, its closure, and its thread don't persist longer than needed. **Return a reducible result** Previously the results were returned as a lazy sequence, but that brings a lot of `seq` overhead, and is a risk of retaining the entire result set in memory until the query is all done. Above all, it doesn't support `reduced?` to explicitly drop any further results. The `thunk` function style of `qp.reducible/reducible-rows` doesn't fit neatly here, so I implemented the reducible logic directly on top of the `Iterable` BigQuery results. **Verifying** This is a bit tricky. I've been testing it like this: - Add a BigQuery database to my instance - Create a saved question and note its ID (say, 123) - Create an API key in (EE) Metabase and save it in an env var - Install the `siege` load testing tool - Install VisualVM and monitor my Clojure REPL process's thread count - `siege --concurrent=15 --time=30s --header="x-api-key: $API_KEY" "http://localhost:3000/api/card/123/query POST"` That will create a bunch of new threads while it's getting called, but within a minute of the last queries they'll gradually drop out of the thread pools and it will return to the baseline number of threads.
-
Alexander Solovyov authored
-
Oisin Coveney authored
-
Uladzimir Havenchyk authored
-
Alexander Polyankin authored
-
Chris Truter authored
-
Romeo Van Snick authored
* Coerce value to array * Add reproduction for #38083
-
Nemanja Glumac authored
* Add reproduction for #44435 * Fix and skip the repro
-
- Jul 11, 2024
-
-
Denis Berezin authored
* Add event handlers docs for SDK * Invert events logic and update documentation * Apply prettier
-
Nemanja Glumac authored
-
Phoomparin Mano authored
* create sdk load question * store question result in sdk context * remove dataset data type * update question * handle navigate to new card * add loading states * fix on query change * update question change logic * refactor question loading and query params * fix ad-hoc question in dashboards * extract useLoadQuestion into a separate hook * cleanup run question on load * revert changes in interactive question component * store original question in the question result state * turn the question into ad-hoc questions * refactor run question methods * add a separate isQueryRunning state for better ux * isQueryRunning should default to false * simulate re-running the query in unit tests * add tests for rendering multiple valid questions * refactor sync question method * extract raw series and computed pivot logic * add getCardAfterVisualizationClick * separate single and multiple question tests * fix import paths * is question native * pass queryResult instead of queryResults * temporarily remove checkNotNull for aggregation picker to avoid sdk crash
-
Alexander Solovyov authored
-
Nemanja Glumac authored
* Fix the markdown preview in model details * Add repro for #34574 * Use real `Tab` instead of a blur * Fix test flakiness
-
Ryan Laurie authored
* properly handle frontend test dependencies * better yarn syntax
-
lbrdnk authored
-
Aleksandr Lesnenko authored
* handle duplicated funnel chart steps * fix import
-
Kamil Mielnik authored
-
Uladzimir Havenchyk authored
It prevents blinking during QB loading - initially we rendered an absolute container with width 0 in the top left corner which caused a blink
-
Uladzimir Havenchyk authored
-
Alexander Solovyov authored
-
Ryan Laurie authored
* WIP flaky test issue creator * add summary and workflows * adjust recent flake period * code cleanup and add tests * Update .github/workflows/flake-status.yml Co-authored-by:
Tim Macdonald <tim@metabase.com> --------- Co-authored-by:
Tim Macdonald <tim@metabase.com>
-
Oisin Coveney authored
-
Kamil Mielnik authored
- getAllCollectionItemNames was breaking the chain in Cypress, so assertions did not know how to wait for DOM to be updated
-
- Jul 10, 2024
-
-
Nemanja Glumac authored
* Add repro for #45300 * Remove empty line * Fix --------- Co-authored-by:
Alexander Polyankin <alexander.polyankin@metabase.com>
-
adam-james authored
* Dashboard Paramter Value Now Works in Preview Embed Fixes: #44962 Prior, a common util fn used both in the embed and preview_embed endpoints was causing the preview_embed to error out when fetching dashboard parameter values because it was checking if embedding was enabled. This check is needed for the normal embedding endpoints, but we want the preview embed endpoints to work without needing to publish the dashboard first. * pass proper args * put args back in proper order. oops * change form back to previous, but keep preview check * autocorrect mistake? Or perhaps a silly typo? * change one test to show that the preview flag is working Didn't create a whole new test for this flag as it is provable just by adjusting this test to not bother enabling embedding on the dashboard. * improve the docstring
-
bryan authored
* Log changes when they make sense + async coll perm-graph revision * - Make revision-number consistent Decouples the creation of a revision number from the (potentially expensive) writing of before and after for the coll perms-graph revision. * get id from the perms revision entity * Move the revision id creation into the transaction The revision id creation should only happen iff the perm updates went through successfully. * write a test that checks the incomplete revision * remove sleep from tests
-
Cal Herries authored
-
Nick Fitzpatrick authored
* Migrate Model Indexes to RTK * Sorting out types... I think? * remove unneeded comment * replacing the selector with an initiate to ensure that there is data * catching and throwing error * Updating unit tests
-
Jeff Bruemmer authored
-
John Swanson authored
This introduces a new metadata on commands, `:requires-init`. If set, we'll run `metabase.core/init!` before running the command. `init!` will initialize the database and run our normal startup, though it won't actually start the Metabase server. This allows you to use ``` env MB_CONFIG_FILE_PATH=... java -jar metabase.jar import /my/metabase/export ``` We'll run the normal init process (creating the internal user, loading from the config file, etc), then run the command. On my machine this adds about 2-3 seconds to the time it takes to run an `import`.
-
adam-james authored
* start adding some util fns to download-exports-test ns * wip improving test util fns * add subscription attachment util fn * add tests to catch download/export differences * viz-settings from card and dashcard merged properly * revert these changes which probably aren't needed * split test: downloads can be parallel, email attachments cannot * normalize viz-settings no matter their origin * Update test/metabase/api/downloads_exports_test.clj Co-authored-by:
Alexander Solovyov <alexander@solovyov.net> * Incorporate some review feedback * rendered table cards also respect column names * Clean up table render tests and remove unhelpful render test utils The big removal of code in the render test utils namespace is a clean up task that could've happened sooner, but this table test adjustment is the perfect opportunity to clean up. I had made the test utils before I truly knew how best to use `mt/with-temp`, so it had a lot of poorly implemented 'generators' that were doing a poor job of creating mock data for the rendering functions anyway. So, reworking a few table tests here to just use a temp card is way more inline with the rest of the codebase, and actually improves confidence that the tests are testing on well-formed data to begin with. --------- Co-authored-by:
Alexander Solovyov <alexander@solovyov.net>
-
Noah Moss authored
-
bryan authored
* add admin-only user-local setting that controls perms tutorial * Adding modal and banner, user setting for dismissable banner * copy changes * adjust so modal only appears on data permission page * e2e adjustments, adding banner test * never show the modal or banner on new instances * add test * e2e adjustments, copy update * more PR feedback * move modal/banner settings & tests + clarify tests * query for v50 migration execution works on mysql - move changelog lookup into metabase.db.liquibase * no race conditions in changelog-table-name The previous implementation of this function was hitting this liquibase issue: https://github.com/liquibase/liquibase/issues/2966 * revert changelog-table-name - simply lookup the changlog row --------- Co-authored-by:
Nick Fitzpatrick <nickfitz.582@gmail.com>
-
Cal Herries authored
-
Nemanja Glumac authored
* Reproduce #45036 * Add repro for #44910
-
Kamil Mielnik authored
* Add a test verifying that fonts are loaded * Verify font is mentioned in HTML * Bring back working assertions * Add wait * Disable speedy * Disable CSP and emotion cache * Revert "Disable CSP and emotion cache" This reverts commit 573e99bfa4c99b8c695a624e1d5d1e230833cc62. * Revert "Disable speedy" This reverts commit 6f9962b869834cecdbe270e87e065ed41adf49b4. * Don't use local fonts * Revert "Don't use local fonts" This reverts commit 17c58aa73d22603241de8b6bf84b7390ad1b9410. * Force Lato * Fix storybook file name * ESLint * Add more !important * Revert !important * Add font-family assertion * Move test
-
Tim Macdonald authored
-
Nemanja Glumac authored
-
Chris Truter authored
A bunch of small improvements, notably a timeout and support for MSSQL square bracket quotes.
-