Time Slicing Job Failing Continuously After Reslice
search cancel

Time Slicing Job Failing Continuously After Reslice

book

Article ID: 264450

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

The Time Slicing job will fail with a generic error message, even with additional INFO/DEBUG logging enabled.

Running the reslice statement will work temporarily, however the error will come back. 

The BG log shows:

INFO  2023-04-19 22:45:13,980 [Dispatch Time Slicing : bg@<host>(tenant=clarity)] niku.blobcrack (clarity:admin:session:Time Slicing) Processing 0 new requests.
INFO  2023-04-19 22:45:13,980 [Dispatch Time Slicing : bg@<host>(tenant=clarity)] niku.blobcrack (clarity:admin:session:Time Slicing) Finished Processing new requests.
INFO  2023-04-19 22:45:13,980 [Dispatch Time Slicing : bg@<host>(tenant=clarity)] niku.blobcrack (clarity:admin:session:Time Slicing)   
INFO  2023-04-19 22:45:13,980 [Dispatch Time Slicing : bg@<host>(tenant=clarity)] niku.blobcrack (clarity:admin:session:Time Slicing) Processing 5 expired requests.
INFO  2023-04-19 22:45:14,031 [Dispatch Time Slicing : bg@<host>(tenant=clarity)] niku.blobcrack (clarity:admin:session:Time Slicing) ### Processing blobcrack.modifyAssignment_set
ERROR 2023-04-19 22:45:14,082 [Dispatch Time Slicing : bg@<host>(tenant=clarity)] niku.blobcrack (clarity:admin:session:Time Slicing) Exception during blobcrack process
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
    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:248)
    at java.base/java.util.Objects.checkIndex(Objects.java:372)
    at java.base/java.util.ArrayList.get(ArrayList.java:459)

Environment

Release : 16.1.0

Resolution

In one reported case, it was found that time slice id(s) were configured incorrectly via XOG or UI.

Review the slice id's rollover interval vs the slice period type.
Ensure that it matches.

For example, if it is a yearly/annual slice, the rollover will need to be annually, not daily.

The following query can be used:
select id, request_name, period, frequency
from prj_blb_slicerequests
where id IN (5xxxxxx)

For example, the following id is set as:
5xxxxxx DAILYRESOURCETIMEENTRIES    period=8(yearly)  frequency=0(daily)

but needed to be set to:
Instead of DAILYRESOURCETIMEENTRIES    period=8(yearly)    frequency=8(yearly)