private void lock() {
    DistributedLockService dls = getLockService();
    try {
      if (!dls.lock(LOCK_NAME, -1, -1)) {
        // this should be impossible
        throw new InternalGemFireException("Could not obtain pdx lock");
      }
    } catch (LockServiceDestroyedException e) {
      // fix for bug 43172
      cache.getCancelCriterion().checkCancelInProgress(e);
      throw e;
    }
  }
The region where the PDX metadata is stored. Because this region is transactional for our
internal updates but we don't want to participate in the users transactions, all operations on
this region must suspend any existing transactions with suspendTX/resumeTX.
geode-core/src/main/java/org/apache/geode/pdx/internal/PeerTypeRegistration.java