#NEWLINE# def Abandon( self , client , callback ) : #NEWLINE# #INDENT# 'Marks the lock as abandoned by disabling renewal and expiring the\n    lock. Other agents may acquire or release the lock, but must first\n    be certain that the protected resource is in a consistent state.\n    ' #NEWLINE# assert self . AmOwner ( ) , self #NEWLINE# self . _StopRenewal ( ) #NEWLINE# self . expiration = 0 #NEWLINE# self . Update ( client , expected = { #NEWLINE# #INDENT# 'owner_id' : self . owner_id , #NEWLINE# #UNINDENT# } , callback = callback )