@Override
  public IsProcedureDoneResponse isProcedureDone(RpcController controller,
    IsProcedureDoneRequest request) throws ServiceException {
    try {
      server.checkInitialized();
      ProcedureDescription desc = request.getProcedure();
      MasterProcedureManager mpm =
        server.getMasterProcedureManagerHost().getProcedureManager(desc.getSignature());
      if (mpm == null) {
        throw new ServiceException("The procedure is not registered: " + desc.getSignature());
      }
      LOG.debug("Checking to see if procedure from request:" + desc.getSignature() + " is done");

      IsProcedureDoneResponse.Builder builder = IsProcedureDoneResponse.newBuilder();
      boolean done = mpm.isProcedureDone(desc);
      builder.setDone(done);
      return builder.build();
    } catch (ForeignException e) {
      throw new ServiceException(e.getCause());
    } catch (IOException e) {
      throw new ServiceException(e);
    }
  }
Checks if the specified procedure is done.
@return true if the procedure is done, false if the procedure is in the process of completing
@throws ServiceException if invalid procedure or failed procedure with progress failure reason.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java