@@ -2258,14 +2258,21 @@ an `around_perform`. The default value is `true`.
2258
2258
2259
2259
#### ` config.active_job.use_big_decimal_serializer `
2260
2260
2261
- Enable the use of BigDecimalSerializer instead of legacy BigDecimal argument
2262
- serialization, which may result in the argument being lossfully converted to
2263
- a String when using certain queue adapters.
2264
- This setting is disabled by default to allow race condition free deployment
2265
- of applications with multiple replicas, in which an old replica would not
2266
- support BigDecimalSerializer..
2267
- In such environments, it should be safe to enable this setting following
2268
- successful deployment of Rails 7.1 which introduces BigDecimalSerializer.
2261
+ Enables the new ` BigDecimal ` argument serializer, which guarantees
2262
+ roundtripping. Without this serializer, some queue adapters may serialize
2263
+ ` BigDecimal ` arguments as simple (non-roundtrippable) strings.
2264
+
2265
+ WARNING: When deploying an application with multiple replicas, old (pre-Rails
2266
+ 7.1) replicas will not be able to deserialize ` BigDecimal ` arguments from this
2267
+ serializer. Therefore, this setting should only be enabled after all replicas
2268
+ have been successfully upgraded to Rails 7.1.
2269
+
2270
+ The default value depends on the ` config.load_defaults ` target version:
2271
+
2272
+ | Starting with version | The default value is |
2273
+ | --------------------- | -------------------- |
2274
+ | (original) | ` false ` |
2275
+ | 7.1 | ` true ` |
2269
2276
2270
2277
### Configuring Action Cable
2271
2278
0 commit comments