-
- Downloads
Improve safety of lazily initialized settings (#37849)
- Introduce an "init" hook for application settings. - Add guards against introducing race conditions again in other ways. - Fix the usage of hygienic scope macros with read only settings. - Lots of misc improvements to settings API and implementation. This init hooks better ergonomics, and protects against race conditions. The previous pattern of calling setters inside getters almost caused a P0. See https://github.com/metabase/metabase/issues/37801.
Showing
- src/metabase/analytics/snowplow.clj 2 additions, 1 deletionsrc/metabase/analytics/snowplow.clj
- src/metabase/core.clj 1 addition, 1 deletionsrc/metabase/core.clj
- src/metabase/db/connection.clj 3 additions, 1 deletionsrc/metabase/db/connection.clj
- src/metabase/models/setting.clj 93 additions, 38 deletionssrc/metabase/models/setting.clj
- src/metabase/models/setting/cache.clj 1 addition, 1 deletionsrc/metabase/models/setting/cache.clj
- src/metabase/public_settings.clj 8 additions, 21 deletionssrc/metabase/public_settings.clj
- test/metabase/cmd/env_var_dox_test.clj 3 additions, 2 deletionstest/metabase/cmd/env_var_dox_test.clj
- test/metabase/models/setting_test.clj 50 additions, 1 deletiontest/metabase/models/setting_test.clj
- test/metabase/test/util.clj 10 additions, 5 deletionstest/metabase/test/util.clj
Loading
Please register or sign in to comment