Conversation
Does not delete the top level `gc/lock/` path, instead it just deletes all locks underneath the path. Updates ITs and the Admin utility to delete gc locks the same way.
keith-turner
left a comment
There was a problem hiding this comment.
Which test was failing? Was there a problem with the ZooZap code?
| if (!zoo.exists(path)) { | ||
| throw new IllegalStateException("Path " + path + " does not exist"); | ||
| } |
There was a problem hiding this comment.
This exists check may not be needed. Seems like ServiceLock.getLockData() may call Zookeeper.getChildren() on the path and that may throw NoNodeException if it does not exists. Was a specific exception type needed?
There was a problem hiding this comment.
nope, I had used this for some of my test debugging and it can go away.
The null checks are a pre-optimization as well in preparation for future refactoring. The current code shouldn't allow null objects to be passed in. I can also pull those out as well if desired.
The ZooZap code was incorrect. #6077 replaced the use of
The new ServiceLock code was calling |
Does not delete the top level
gc/lock/path, instead it just deletes all locks underneath the path.Added validation checks from other lock deletion code paths.
Updates ITs and the Admin utility to delete gc locks the same way.
Fixes IT failures caused by #6077