# Upgrading to WaterDrop 2.7 **PLEASE MAKE SURE TO READ AND APPLY THEM!** ## Upgrading to WaterDrop 2.7 / `wait_timeout` Configuration No Longer Needed The `wait_timeout` WaterDrop configuration option is no longer needed. You can safely remove it. ```ruby producer = WaterDrop::Producer.new producer.setup do |config| # Other config... # Remove this, no longer needed config.wait_timeout = 30 end ``` ## Upgrading to WaterDrop 2.7 / Time Settings Format Alignment **All** time-related values are now configured in milliseconds instead of some being in seconds and some in milliseconds. The values that were changed from seconds to milliseconds are: - `max_wait_timeout` - `wait_backoff_on_queue_full` - `wait_timeout_on_queue_full` - `wait_backoff_on_transaction_command, default` If you have configured any of those yourself, please replace the seconds representation with milliseconds: ```ruby producer = WaterDrop::Producer.new producer.setup do |config| config.deliver = true # Replace this: config.max_wait_timeout = 30 # With config.max_wait_timeout = 30_000 # ... end ``` ## Upgrading to WaterDrop 2.7 / Defaults Alignment In this release, we've updated our default settings to address a crucial issue: previous defaults could lead to inconclusive outcomes in synchronous operations due to wait timeout errors. Users often mistakenly believed that a message dispatch was halted because of these errors when, in fact, the timeout was related to awaiting the final dispatch verdict, not the dispatch action itself. The new defaults in WaterDrop 2.7.0 eliminate this confusion by ensuring synchronous operation results are always transparent and conclusive. This change aims to provide a straightforward understanding of wait timeout errors, reinforcing that they reflect the wait state, not the dispatch success. Below, you can find a table with what has changed, the new defaults, and the current ones in case you want to retain the previous behavior:
| Config | Previous Default | New Default |
|---|---|---|
root max_wait_timeout |
5000 ms (5 seconds) | 60000 ms (60 seconds) |
kafka message.timeout.ms |
300000 ms (5 minutes) | 50000 ms (50 seconds) |
kafka transaction.timeout.ms |
60000 ms (1 minute) | 55000 ms (55 seconds) |