public void destroyDynamicRegion(String fullRegionName) throws CacheException {
    if (!dynamicRegionList.containsKey(fullRegionName)) {
      throw new RegionDestroyedException(
          String.format("Dynamic region %s has not been created.",
              fullRegionName),
          fullRegionName);
    }
    if (isClosed()) {
      throw new IllegalStateException("Dynamic region factory is closed");
    }

    // Retrieve the region to destroy
    Region region = cache.getRegion(fullRegionName);
    if (region != null) {
      DistributedMember mbr = getMember(null);
      doBeforeRegionDestroyed(region, false, false, false, mbr);
      // Locally destroy the region. Let the dynamicRegionList handle distributing
      // the destroy.
      region.localDestroyRegion();
      destroyDynamicRegionImpl(fullRegionName);
      doAfterRegionDestroyed(region, false, false, false, mbr);
    } else {
      // make sure meta region is cleaned up locally and remotely
      destroyDynamicRegionImpl(fullRegionName);
    }
  }
Destroys the dynamic Region in the local cache and distributes the destruction to other caches.

@param fullRegionName The full path of the {@code Region} to be dynamically destroyed
@throws RegionDestroyedException if the dynamic region was never created or has already been
        destroyed
geode-core/src/main/java/org/apache/geode/cache/DynamicRegionFactory.java