boolean acquireDestroyReadLock(long millis) throws InterruptedException {
    boolean interrupted = Thread.interrupted();
    try {
      if (interrupted && dlock.isInterruptibleLockRequest()) {
        throw new InterruptedException();
      }
      while (true) {
        try {
          dm.getCancelCriterion().checkCancelInProgress(null); // is this needed?
          return destroyLock.readLock().tryLock(millis);
        } catch (InterruptedException e) {
          interrupted = true;
          throwIfInterruptible(e);
        }
      }
    } finally {
      if (interrupted) {
        Thread.currentThread().interrupt();
      }
    }
  }
Acquires a read lock on the destroy ReadWrite lock uninterruptibly using millis for try-lock
attempt.

@param millis the milliseconds to try to acquire lock within
@return true if destroy read lock was acquired
@throws DistributedSystemDisconnectedException if system has been disconnected
geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockGrantor.java