public void validateCacheConfig(GemFireCache cacheInstance) {
    // To fix bug 44961 only validate our attributes against the existing cache
    // if they have been explicitly set by the set.
    // So all the following "ifs" check that "*UserSet" is true.
    // If they have not then we might use a cache.xml that will specify them.
    // Since we don't have the cache.xml info here we need to only complain
    // if we are sure that we will be incompatible with the existing cache.
    if (pdxReadSerializedUserSet
        && pdxReadSerialized != cacheInstance.getPdxReadSerialized()) {
      throw new IllegalStateException(
          String.format("Existing cache has different cache configuration, it has:%s",
              "pdxReadSerialized: " + cacheInstance.getPdxReadSerialized()));
    }
    if (pdxDiskStoreUserSet && !equals(pdxDiskStore, cacheInstance.getPdxDiskStore())) {
      throw new IllegalStateException(
          String.format("Existing cache has different cache configuration, it has:%s",
              "pdxDiskStore: " + cacheInstance.getPdxDiskStore()));
    }
    if (pdxPersistentUserSet && pdxPersistent != cacheInstance.getPdxPersistent()) {
      throw new IllegalStateException(
          String.format("Existing cache has different cache configuration, it has:%s",
              "pdxPersistent: " + cacheInstance.getPdxPersistent()));
    }
    if (pdxIgnoreUnreadFieldsUserSet
        && pdxIgnoreUnreadFields != cacheInstance.getPdxIgnoreUnreadFields()) {
      throw new IllegalStateException(
          String.format("Existing cache has different cache configuration, it has:%s",

              "pdxIgnoreUnreadFields: " + cacheInstance.getPdxIgnoreUnreadFields()));
    }
    if (pdxSerializerUserSet
        && !samePdxSerializer(pdxSerializer, cacheInstance.getPdxSerializer())) {
      throw new IllegalStateException(
          String.format("Existing cache has different cache configuration, it has:%s",
              "pdxSerializer: " + cacheInstance.getPdxSerializer()));
    }
  }
This indicates if the pdxReadSerialized value is set by user. This is used during cache xml
parsing. The value set by user api overrides the value set in cache.xml value.
geode-core/src/main/java/org/apache/geode/internal/cache/CacheConfig.java