public void requestLock() throws IOException {
    if (procId == null) {
      try {
        procId = stub.requestLock(null, lockRequest).getProcId();
      } catch (Exception e) {
        throw ProtobufUtil.handleRemoteException(e);
      }
      worker.start();
    } else {
      LOG.info("Lock already queued : " + toString());
    }
  }
Sends rpc to the master to request lock. The lock request is queued with other lock requests.
Call {@link #await()} to wait on lock. Always call {@link #unlock()} after calling the below,
even after error.
hbase-server/src/main/java/org/apache/hadoop/hbase/client/locking/EntityLock.java