@Override
          public void beforeProcessMessage(ClusterDistributionManager dm,
              DistributionMessage message) {
            if (message instanceof UpdateMessage
                && ((UpdateMessage) message).regionPath.contains("region")
                && doInterrupt.compareAndSet(true, false)) {
              vm2.invoke(interruptTask);
              DistributionMessageObserver.setInstance(null);
            }
          }
A simple test case that we are actually persisting with a PR.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/InterruptClientServerDUnitTest.java