You notice a very slow application out of a sudden with the below symptoms on performance :
In app ca logs we can see thousands of different cache errors Failed to build cache for resource including NullPointerException, IndexOutOfBoundsException
ERROR 2025-03-20 07:42:08,432 [http-nio-8082-exec-7] odf.object (clarity:xxxxxxxxx:147440095__A709B2E1-C531-4ED9-8EB6-25E2CDB30D42:PPM_REST_API) (471cb3ab-9c12-423a-9d85-8a28668a8cb6) Failed to build cache for resource columns
java.lang.IndexOutOfBoundsException: Index 3 out of bounds for length 3
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
at java.base/java.util.Objects.checkIndex(Objects.java:361)
at java.base/java.util.ArrayList.get(ArrayList.java:427)
ERROR 2025-03-20 07:26:40,074 [http-nio-8082-exec-307] odf.object (clarity:xxxxxxx:147438106__2C78697E-5D4B-4F6F-A94F-E53EF96747ED:PPM_REST_API) (b0441c8a-b7ee-4df7-95f5-db02e72f0552) Failed to build cache for resource tpTimesheet
java.lang.NullPointerExceptionERROR 2025-03-20 07:26:40,151 [http-nio-8082-exec-307] odf.object (clarity:xxxxxx:147438106__2C78697E-5D4B-4F6F-A94F-E53EF96747ED:PPM_REST_API) (b0441c8a-b7ee-4df7-95f5-db02e72f0552) Failed to build cache for resource prstatus
ERROR 2025-03-20 06:38:55,072 [http-nio-8082-exec-284] odf.object (clarity:xxxxxx:147433126__322922AD-D384-4C59-8341-40135B5C7512:PPM_REST_API) (b680e5e3-0726-4c7b-bc1b-620942ef5754) Failed to build cache for resource tpcounts
java.lang.NullPointerException: Cannot invoke "com.niku.union.odf.object.schema.RelatedObject.getConfiguration()" because "ro" is null
at com.niku.union.odf.ObjectController.getRelatedObjects(ObjectController.java:1367)
at com.niku.odf.object.ODFAbstractObjectImpl.getRelatedObjects(ODFAbstractObjectImpl.java:5894)
at com.ca.ppm.rest.cache.APIResourceCache$LookupResourceCache.loadLookupsMetaData(APIResourceCache.java:929)
at com.ca.ppm.rest.cache.APIResourceCache$LookupResourceCache.getLookupResourceInfo(APIResourceCache.java:894)
at com.ca.ppm.rest.cache.APIResourceCache$LookupResourceCache.getFromPersistence(APIResourceCache.java:869)
at com.niku.union.utility.caching.LazyCache.get(LazyCache.java:75)
at com.ca.ppm.rest.cache.APIResourceCache.get(APIResourceCache.java:245)
at com.ca.ppm.rest.cache.APIResourceCache.get(APIResourceCache.java:193)
at com.ca.ppm.rest.util.APIUtil.getResourceMetaData(APIUtil.java:184)
at com.ca.ppm.rest.response.JSONResponseBuilder.processChildResources(JSONRespon
Clarity 16.2.3
DE168123
Workaround:
Also possible way to avoid this: