@Test
  public void testWaitForViewInstallationDisconnectDS()
      throws InterruptedException, TimeoutException, BrokenBarrierException, ExecutionException {
    InternalDistributedSystem system = getSystem();
    ClusterDistributionManager dm = (ClusterDistributionManager) system.getDM();
    MembershipView<InternalDistributedMember> view = dm.getDistribution().getView();

    CyclicBarrier cyclicBarrier = new CyclicBarrier(2);
    Future future = executorService.submit(() -> {
      try {
        cyclicBarrier.await(getTimeout().toMillis(), TimeUnit.MILLISECONDS);
        dm.waitForViewInstallation(view.getViewId() + 1);
      } catch (InterruptedException | BrokenBarrierException | TimeoutException e) {
        errorCollector.addError(e);
      }
    });

    cyclicBarrier.await(getTimeout().toMillis(), TimeUnit.MILLISECONDS);
    system.disconnect();
    future.get(getTimeout().toMillis(), TimeUnit.MILLISECONDS);
  }
show that waitForViewInstallation works as expected when distribution manager is closed
while waiting for the latest membership view to install
geode-core/src/distributedTest/java/org/apache/geode/distributed/internal/ClusterDistributionManagerDUnitTest.java