Currently, there are two implementations using namely, memcache interface and inProcess. Both have the following problems.
They are volatile and locks may be gone away in case of system failure.
locks can be created / removed only by key. So you cannot lock a certain level of data tree. e.g. "Cell", "Box", "Odata Collection", "EntitySet", "Dav Directory" etc..
Solution
By adding "redis" implementation we will be able to solve the above 2 problems.
First step will be to add redis implementation of current Lock interface. At this point, the above problem #1 only will be solved. Then as a next step, we should extend the current Lock interface to solve the #2 problem.
Problems
Currently, there are two implementations using namely, memcache interface and inProcess. Both have the following problems.
Solution
By adding "redis" implementation we will be able to solve the above 2 problems.
First step will be to add redis implementation of current Lock interface. At this point, the above problem #1 only will be solved. Then as a next step, we should extend the current Lock interface to solve the #2 problem.