Exception: Portage::Ucp::ConflictError

Inherits:
Error
  • Object
show all
Defined in:
lib/portage/ucp/errors.rb

Overview

Raised when a mutation collides with a concurrent write upstream (HTTP 409, or a platform's own optimistic-concurrency rejection) — the resource changed between this call's read and its write. Support::Retry deliberately never retries this itself: the state it read is already stale, so retrying blindly would just collide again. The caller is expected to re-read (get_cart/get_checkout) and resubmit against current state. Maps to UCP's freeform "conflict" error code — error_code.json's examples list isn't exhaustive ("freeform codes are permitted"); "conflict" follows the same snake_case convention as its "out_of_stock"/"payment_failed" examples, same justification OutOfStockError above relies on.