public void putVersionTagOnly(InternalRegion region, VersionTag tag, boolean async) {
    DiskRegion dr = region.getDiskRegion();
    // this method will only be called by backup oplog
    assert dr.isBackup();

    if (!async) {
      acquireReadLock(dr);
    }
    try {
      if (dr.isRegionClosed()) {
        region.getCancelCriterion().checkCancelInProgress(null);
        throw new RegionDestroyedException(
            "The DiskRegion has been closed or destroyed",
            dr.getName());
      }

      if (dr.getRegionVersionVector().contains(tag.getMemberID(), tag.getRegionVersion())) {
        // No need to write the conflicting tag to disk if the disk RVV already
        // contains this tag.
        return;
      }

      PersistentOplogSet oplogSet = getPersistentOplogSet(dr);

      oplogSet.getChild().saveConflictVersionTag(region, tag, async);
    } finally {
      if (!async) {
        releaseReadLock(dr);
      }
    }
  }
Stores a key/value pair from a region entry on disk. Updates all of the necessary
{@linkplain DiskRegionStats statistics}and invokes {@link Oplog#create}or {@link Oplog#modify}.

@param entry The entry which is going to be written to disk
@throws RegionClearedException If a clear operation completed before the put operation
        completed successfully, resulting in the put operation to abort.
@throws IllegalArgumentException If {@code id} is less than zero
geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java