@Test
  public void testBug33073() {
    Host host = Host.getHost(0);
    VM accessor = host.getVM(0);
    VM datastore1 = host.getVM(1);
    VM datastore2 = host.getVM(2);

    initAccessorAndDataStore(accessor, datastore1, datastore2, 0);
    final CustId custId = new CustId(19);

    final TXId txId = (TXId) datastore1.invoke(new SerializableCallable<Object>() {
      @Override
      public Object call() {
        Region<CustId, Customer> refRegion = getCache().getRegion(D_REFERENCE);
        assertThat(refRegion.get(custId)).isNull();
        getCache().getCacheTransactionManager().begin();
        refRegion.put(custId, new Customer("name1", "address1"));
        return getCache().getCacheTransactionManager().suspend();
      }
    });
    datastore2.invoke(new SerializableCallable<Object>() {
      @Override
      public Object call() {
        Region<CustId, Customer> refRegion = getCache().getRegion(D_REFERENCE);
        assertThat(refRegion.get(custId)).isNull();
        refRegion.put(custId, new Customer("nameNew", "addressNew"));
        return null;
      }
    });
    datastore1.invoke(new SerializableCallable<Object>() {
      @Override
      public Object call() {
        assertThatThrownBy(() -> {
          getCache().getCacheTransactionManager().resume(txId);
          getCache().getCacheTransactionManager().commit();
        }).isInstanceOf(CommitConflictException.class);
        return null;
      }
    });
  }
disabled because rather than throwing an exception, getAll catches all exceptions and logs a
warning message
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/RemoteTransactionDUnitTest.java