anuengineer commented on issue #949: HDDS-1672. OzoneManager Lock change the 
volumeLock weight to 0
URL: https://github.com/apache/hadoop/pull/949#issuecomment-501443153
 
 
   > @anuengineer could you please clarify what this table looks like? This is 
the first time in 20+ years of writing multi-threaded code that I have have 
heard of a locking conflict resolution table. I have only heard of locking 
order so far. 🙂
   
   Something like 
   
   Lock Levels - User=0, Volume=1,Bucket=2, Key =3  
   
   Create Volume -> Locking Order -> Lock User, LockVolume , Release Volume,  
Release User
   Update Volume, Locking Order -> L(V), R(V) L(U), L(V), R(V), R(U).
   
   For each path, you know what the locking order is. We have a lock hierarchy 
very clearly defined today, changing that order means that you need to make 
sure no other path which is taking those locks are now violating the proposed 
order. We need to manually list out each lock path in the OM to move user lock 
from level O to level 1.
   
   
   In other words, changing lock hierarchy in any code path is a non-trivial. 
This process will prove that our hierarchy itself is not buggy, and you don't 
run into this same problem is some other path, since you have optimized code 
for this path.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to