mirror of
https://github.com/grafana/grafana.git
synced 2024-11-25 18:30:41 -06:00
7b70e7db2d
* Implementation of optimistic lock pattern Try to insert the remote cache key and handle integrity error * Remove transaction Integrity error inside a transaction results in deadlock * Remove check for existing remote cache key Is no longer needed since integrity constrain violations are handled * Add check for integrity constrain violation Do not update the row if the insert statement fails for other than an integrity constrain violation * Handle failing inserts because of deadlocks If the insert statement fails because of a deadlock try to update the row * Add utility function for returning SQL error code Useful for debugging * Add logging for failing expired cache key deletion Do not shallow it completely * Revert "Add utility function for returning SQL error code" This reverts commit 8e0b82c79633e7d8bc350823cbbab2ac7a58c0a5. * Better log for failing deletion of expired cache key * Add some comments * Remove check for existing cache key Attempt to insert the key without checking if it's already there and handle the error situations * Do not propagate deadlocks created during update Most probably somebody else is trying to insert/update the key at the same time so it is safe enough to ignore it |
||
---|---|---|
.. | ||
api | ||
bus | ||
cmd | ||
components | ||
events | ||
extensions | ||
infra | ||
login | ||
middleware | ||
models | ||
plugins | ||
registry | ||
services | ||
setting | ||
tsdb | ||
util |