code: public boolean abandonFile(String src, String holder
        ) throws IOException {
      writeLock();
      try {
        if (NameNode.stateChangeLog.isDebugEnabled()) {
          NameNode.stateChangeLog.debug("FILE* NameSystem.abandonFile: " + src);
        }
        if (isInSafeMode()) {
          throw new SafeModeException("Cannot abandon file " + src, safeMode);
        }
        checkLease(src, holder);
        internalReleaseLeaseOne(leaseManager.getLease(holder), src);
        if (NameNode.stateChangeLog.isDebugEnabled()) {
          NameNode.stateChangeLog.debug("FILE* NameSystem.abandonFile: "
                                          + " has been scheduled for lease recovery");
        }
        return true;
      } finally {
        writeUnlock();
      }
    }
docs: * The client would like to let go of a given file