@Override
      public void run2() throws CacheException {
        AttributesFactory factory = new AttributesFactory();
        factory.setScope(DISTRIBUTED_ACK);
        factory.setDataPolicy(NORMAL);
        factory.setSubscriptionAttributes(new SubscriptionAttributes(ALL));
        TestCacheListener cl = new TestCacheListener() {
          @Override
          public void afterCreate2(EntryEvent event) {}

          @Override
          public void afterUpdate2(EntryEvent event) {}

          @Override
          public void afterInvalidate2(EntryEvent event) {}

          @Override
          public void afterDestroy2(EntryEvent event) {}
        };
        cl.enableEventHistory();
        factory.addCacheListener(cl);
        createRootRegion(factory.create());
      }
Make sure that cache operations are queued when a required role is missing
geode-core/src/distributedTest/java/org/apache/geode/cache30/QueueMsgDUnitTest.java