forked from 3wordchant/capsul-flask
Limit the utilization of serializable transactions
A user encountered this error when deleting a vm: self.cursor.execute("UPDATE vms SET deleted = now() WHERE email = %s AND id = %s", ( email, id)) psycopg2.errors.SerializationFailure: could not serialize access due to read/write dependencies among transactions
This commit is contained in:
parent
107a5fc659
commit
c623c65fda
@ -13,7 +13,7 @@ class DBModel:
|
||||
def __init__(self, connection, cursor):
|
||||
self.connection = connection
|
||||
self.cursor = cursor
|
||||
self.cursor.execute("SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;")
|
||||
|
||||
|
||||
|
||||
# ------ LOGIN ---------
|
||||
@ -361,6 +361,7 @@ class DBModel:
|
||||
def claim_operation(self, operation_id: int, host_id: str) -> bool:
|
||||
# have to make a new cursor to set isolation level
|
||||
# cursor = self.connection.cursor()
|
||||
self.cursor.execute("SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;")
|
||||
self.cursor.execute("""
|
||||
BEGIN TRANSACTION;
|
||||
UPDATE host_operation SET assignment_status = 'assigned'
|
||||
|
Loading…
Reference in New Issue
Block a user