#2875 - Locking a record with unpersisted changes is not supported. Use `save`

A RuntimeError occurred in firmwares#deploy:

 Locking a record with unpersisted changes is not supported. Use `save` to persist the changes, or `reload` to discard them explicitly.
 app/models/gateway.rb:177:in `block in with_lock!'


-------------------------------
Request:
-------------------------------

 * URL        : https://bikelink.org/firmwares/217/deploy
 * HTTP Method: POST
 * IP address : 83.148.38.152
 * Parameters : {"authenticity_token"=>"79G0g90GwJ/XsCEj87Yeu1rHCgi1jmKeGNd9zGB4a51xCeixnUaJY/K7EtwKqmLedP+eEzD9X7pmUUH/5uhfWg==", "commit"=>"Deploy Now", "controller"=>"firmwares", "action"=>"deploy", "id"=>"217"}
 * Timestamp  : 2021-12-10 21:05:12 UTC
 * Server : www-3.internal.bikelink.org
   * Rails root : /var/www/bikelink
 * Process: 32219

-------------------------------
Session:
-------------------------------

 * session id: [FILTERED]
 * data: {"session_id"=>"03ed9389ad90a7b20758878363dc3a66",
  "warden.user.person.key"=>[[3142], "_Nou9U29jHTmGfhBBee9"],
  "_csrf_token"=>"cS6Rt5svtH/3QB/IPYqwBGV3dip6qH6GM6XziQ2Hm1M=",
  "params_for_filter"=>
   {"filter_by_location"=>nil,
    "filter_by_owner"=>nil,
    "filter_by_state"=>2,
    "filter_by_priority"=>nil}}


-------------------------------
Backtrace:
-------------------------------

 app/models/gateway.rb:177:in `block in with_lock!'
 app/models/gateway.rb:176:in `with_lock!'
 app/lib/gateway_usp_queue_processor.rb:199:in `push_usp_item!'
 app/lib/gateway_usp_queue_processor.rb:188:in `push_usp_class!'
 app/services/firmware_deploy_service.rb:25:in `block in deploy_gateway'
 app/services/firmware_deploy_service.rb:20:in `each'
 app/services/firmware_deploy_service.rb:20:in `deploy_gateway'
 app/services/firmware_deploy_service.rb:15:in `deploy'
 app/controllers/firmwares_controller.rb:31:in `deploy'
 app/controllers/application_controller.rb:47:in `process_action'
Reload