Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Sep 30, 2024
    • Noah Moss's avatar
    • Vamsi Peri's avatar
    • John Swanson's avatar
      Do not cache all token check failures (#48147) · 0ef2052f
      John Swanson authored
      * Do not cache all token check failures
      
      We want to cache token checks to avoid an issue where we repeatedly ask
      the store "hey, is this token valid?? is this token valid?? is this
      token valid??" for the same token.
      
      However, transient errors can also occur. For example, maybe a network
      issue causes the HTTP request to fail entirely. In this case, if we
      cache the result, the user needs to restart metabase (or wait 5 minutes
      until the cache is cleared) before they can attempt to validate their
      token again.
      
      This PR moves the cache logic deeper into the stack. We want to cache
      "successful" responses from the store API - cases where the store has
      told us categorically that the token is or is not valid. We don't want
      or need to cache other things that might happen. Maybe your token isn't
      the right length - we can recalculate that, it's ok. Maybe you get a 503
      error from the Store - we should let you retry. Maybe your network is
      having issues and you can't contact the Store at all - again, we should
      let you retry.
      
      The one potential issue I see here is that if the store goes down, we'll
      massively increase the number of requests we send to the store,
      potentially making it harder to recover. If this is a concern, I can add
      a circuit breaker: if we repeatedly get errors back from the store, back
      off and stop making requests for a while.
      
      * Add a circuit breaker to store API requests
      
      In the pathological case where the store goes down for >5 minutes, the
      cache will expire and all instances everywhere will start repeatedly
      making requests for token validation at once. This might make recovering
      from an outage more difficult.
      
      This adds a circuit breaker around the API request. If the call
      repeatedly throws (5XX errors, socket timeouts, etc.) then we'll pause
      for 1 minute, during which time all calls to token validation will
      immediately fail without making any request to the API.
      
      After one minute, we'll allow one request through to the API. If it
      succeeds, we'll go back to normal operation. Otherwise, we'll wait
      another minute.
      Unverified
      0ef2052f
    • Noah Moss's avatar
    • Nicolò Pretto's avatar
      updateSetting e2e typed helper (#48161) · dcc33ceb
      Nicolò Pretto authored
      
      * putSetting helper
      
      * change all usages of cy.request("PUT" "api/setting/..." to putSetting(...) in e2e tests
      
      * Update e2e/support/helpers/api/putSetting.ts
      
      Co-authored-by: default avatarKamil Mielnik <kamil@kamilmielnik.com>
      
      * Update e2e/support/helpers/api/putSetting.ts
      
      Co-authored-by: default avatarKamil Mielnik <kamil@kamilmielnik.com>
      
      * sort exports
      
      * putSetting -> updateSetting as per PR suggestion
      
      ---------
      
      Co-authored-by: default avatarKamil Mielnik <kamil@kamilmielnik.com>
      Unverified
      dcc33ceb
    • Romeo Van Snick's avatar
      Disable "Compare to the past" UI components (#48134) · 474b137a
      Romeo Van Snick authored
      * Temporarily disable compare to the past ui components
      
      * Temporarily disable compare to the past tests
      
      * Skip Compare to past unit tests
      Unverified
      474b137a
    • Luiz Arakaki's avatar
      Rename `Metabase analytics` to `Usage analytics` and other small fixes (#48151) · e8307b28
      Luiz Arakaki authored
      
      * rename usage analytics and few fixes
      
      * update e2e tests
      
      * update some other strings too
      
      ---------
      
      Co-authored-by: default avatarRyan Laurie <iethree@gmail.com>
      Unverified
      e8307b28
    • Uladzimir Havenchyk's avatar
      refactor: rework stories from MDX to MDX + CSF (#48054) · 268b6c48
      Uladzimir Havenchyk authored
      * refactor: rework stories from MDX to MDX + CSF
      
      * short syntax
      
      * fix or bypass typescript errors
      
      * fix leftovers
      
      * cleanup leftovers
      
      * convert js stories to tsx
      
      * restore some comments
      
      * fix linting
      Unverified
      268b6c48
  2. Sep 27, 2024
  3. Sep 26, 2024
    • Nicolò Pretto's avatar
      fix(sdk): remove ts limitation on custom fonts + some minimal e2e tests for the fonts (#48071) · ed24366e
      Nicolò Pretto authored
      * IS_EMBEDDING_SDK_BUILD -> IS_EMBEDDING_SDK to keep things simple, as we already have that name in other places
      
      * don't load metabase css in sdk stories
      
      * first two stories
      
      * make the store not a global "singleton" anymore
      
      * basic test for font-family styles in the SDK
      
      * allow any custom font in theme.fontFamily as we actually support it
      
      * fix tests using hardcoded default font family
      Unverified
      ed24366e
    • Ryan Laurie's avatar
      Add additional dashboard info to sidesheet (#48078) · d489654c
      Ryan Laurie authored
      * create dashboard settings sidebar
      
      * only show settings to dashboard editors
      
      * add dashboard details
      
      * update localization
      
      * fix merged type
      
      * fix mixed-up creation and editing
      Unverified
      d489654c
    • lbrdnk's avatar
      Databricks JDBC driver (#42263) · c04928d5
      lbrdnk authored
      * Databricks JDBC driver base
      
      * Add databricks CI job
      
      * WIP data loading -- it works, further cleanup needed
      
      * Cleanup
      
      * Implement ->honeysql to enable data loading
      
      * Hardcode catalog job var
      
      * Implement driver methods and update tests
      
      * Derive hive instead of sql-jdbc
      
      * Cleanup leftovers after deriving hive
      
      * Run databricks tests on push
      
      * Cleanp and enable set-timezone
      
      * Disable database creation by tests
      
      * Add Databricks to broken drivers for timezone tests
      
      * Exclude Databricks from test
      
      * Enable have-select-privilege?-test
      
      * Restore sql-jdbc-drivers-using-default-describe-table-or-fields-impl post rebase
      
      * Restore joined-date-filter-test
      
      * Adjust to work with dataset definition tests
      
      * Adjust alternative date tests
      
      * Remove leftover reflecttion warning set
      
      * Update test exts
      
      * cljfmt vscode
      
      * Add databricks to kondo drivers
      
      * Update metabase-plugin.yaml
      
      * Update databricks_jdbc.clj
      
      * Rework test extensions
      
      * Update general data loading code to work with Databricks
      
      * Reset tests to orig
      
      * Use DateTimeWithLocalTZ for TIMESTAMP database type
      
      * Convert to LocalDateTime for set-parameter
      
      * Update test extensions field-base-type->sql-tyoe
      
      * Update database-type->base-type
      
      * Enable creation of time columns in test data even though not supported
      
      * Fix typo
      
      * Update tests
      
      * Udpate tests
      
      * Update drivers.yml
      
      * Disable dynamic dataset loading tests
      
      * Adjust the iso-8601-text-fields-should-be-queryable-date-test
      
      * Update load-data/row-xform
      
      * Add time type exception to test
      
      * Update test data loading and enable test
      
      * Whitespace
      
      * Enable all driver jobs
      
      * Update comment
      
      * Make catalog mandatory
      
      * Remove comment
      
      * Remove log level from spec generation
      
      * Update sql.qp/datetime-diff
      
      * Update read-column-thunk
      
      * Remove comment
      
      * Simplify date-time->results-local-date-time
      
      * Update comment
      
      * Move definitions
      
      * Update test extension types mapping
      
      * Remove now obsolete ddl/insert-rows-honeysql-form implementation
      
      * Update sql-jdbc.conn/connection-details->spec for perturb-db-details
      
      * Update load-data/do-insert!
      
      * Remove ssh tunnel from driver as tests do not work with it
      
      * Update test
      
      * Promote ::dynamic-dataset-loading to :test/dynamic-dataset-loading and modify corresponding tests
      
      * Adjust to broken TIMESTAMP_NTZ sync
      
      * Update read-column-thunk to return timestamps always in Z
      
      * Comment
      
      * Disable tests for dynamic datasets
      
      * Return spark jobs into drivers.yml
      
      * Update Databricks CI catalog
      
      * Remove vscode cljfmt tweak
      
      * Update iso-8601-text-fields-expected-rows
      
      * Update datetime-diff
      
      * Formatting
      
      * cljfmt
      
      * Add placeholder test
      
      * Remove comment
      
      * cljfmt
      
      * Use EnableArrow=0 connection param
      
      * Remove comment
      
      * Comment
      
      * Update tests
      
      * cljfmt
      
      * Update driver's deps.edn
      
      * Update tests
      
      * Implement alternative `describe-table`
      
      * WIP Workaround for timestamp_ntz sync, will be thrown away probably
      
      * Update metabase-plugin.yaml with schema filters
      
      * Update driver to use schema filters and remove now redundant sync implemnetations
      
      * Update tests
      
      * Update tests extensions
      
      * Update test
      
      * Add feature flags for fast sync
      
      * Implement describe-fields
      
      * Implement describe-fks-sql
      
      * Enable fast sync features
      
      * Use full_data_type
      
      * Comment
      
      * Add exception for timestamp_ntz columns to new sync code
      
      * Implement db-default-timezone
      
      * Add timestamp_ntz ignored test
      
      * Add db-default-timezone-test
      
      * Fix typo
      
      * Update setReadOnly
      
      * Add comment on setAutoCommit
      
      * Update chunk-size
      
      * Add timezone-in-set-and-read-functions-test
      
      * Drop Athena from driver exceptions
      
      * Use set/intersection instead of a filter
      
      * Add explicit fast-sync tests
      
      * Update describe-fields-sql and add comment
      
      * Add preprocess-additional-options
      
      * Add leading semicolon test
      
      * Disable dataset creation and update comment
      
      * Rename driver to `databricks`
      
      * Use old secret names
      
      * Fix wrongly copied hsql list
      
      * Temporarily allow database creation
      
      * Add *allow-database-deletion*
      
      * Temporarily allow database creation
      
      * Disable database creation
      
      * cljfmt
      
      * cljfmt
      Unverified
      c04928d5
    • Chris Truter's avatar
    • Oleksandr Yakushev's avatar
      perf: Improve the performance of /api/collection/tree when there are many collections (#48026) · 402ddc7e
      Oleksandr Yakushev authored
      * perf: Faster is-trash? for collections
      
      * perf: Faster annotate-collections and collections->tree
      
      * perf: Optimize path generation in collection->tree
      Unverified
      402ddc7e
    • Oleksandr Yakushev's avatar
  4. Sep 25, 2024
Loading