@Override
    public void run() throws InterruptedException {
      Runnable putThread1 = () -> {
        DistributedSystem.setThreadsSocketPolicy(false);
        doPut();
        DistributedSystem.releaseThreadsSockets();
      };

      Runnable putThread2 = () -> {
        DistributedSystem.setThreadsSocketPolicy(false);
        awaitStep1Latch();
        doClear();
        DistributedSystem.releaseThreadsSockets();
      };

      Thread t1 = new Thread(putThread1);
      Thread t2 = new Thread(putThread2);
      t2.start();
      t1.start();
      t1.join();
      t2.join();
    }
Test class to verify proper RVV locking interaction between entry operations such as PUT/REMOVE
and the CLEAR region operation

GEODE-599: After an operation completed, it would unlock the RVV. This was occurring before the
operation was distributed to other members which created a window in which another operation
could be performed prior to that operation being distributed.

The fix for GEODE-599 was to not release the lock until after distributing the operation to the
other members.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClearRvvLockingDUnitTest.java