private void basicClose(boolean forceDelete) {
    flushAll();
    // No need to get the backup lock prior to synchronizing (correct lock order) since the
    // synchronized block does not attempt to get the backup lock (incorrect lock order)
    synchronized (lock/* crf */) {
      unpreblow(crf, getMaxCrfSize());
      if (!crf.RAFClosed) {
        try {
          crf.channel.close();
        } catch (IOException ignore) {
        }
        try {
          crf.raf.close();
        } catch (IOException ignore) {
        }
        crf.RAFClosed = true;
        stats.decOpenOplogs();
      }
      closed = true;
    }
    // No need to get the backup lock prior to synchronizing (correct lock order) since the
    // synchronized block does not attempt to get the backup lock (incorrect lock order)
    synchronized (lock/* drf */) {
      unpreblow(drf, getMaxDrfSize());
      if (!drf.RAFClosed) {
        try {
          drf.channel.close();
        } catch (IOException ignore) {
        }
        try {
          drf.raf.close();
        } catch (IOException ignore) {
        }
        drf.RAFClosed = true;
      }
    }

    if (forceDelete) {
      deleteFiles(false);
    }
  }
Close the files of a oplog but don't set any state. Used by unit tests
geode-core/src/main/java/org/apache/geode/internal/cache/Oplog.java