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]
