The old implementation is a bit strange, the isStuck method is like this:
It can only return true when there are ongoing procedures. But if we have a procedure, then the procedure will try to reassign region. Scheduling a new procedure does not make sense here, at least for branch-2.2+.
I suggest we just remove the related code, since the default retry number for assigning a region is Integer.MAX_VALUE. And even if user set this to small value and finally the region is left in FAILED_OPEN state without a procedure, HBCK2 is used to deal with this, it is not necessary to deal it automatically.