search cancel

Time slicing Job not completing successfully, Java Out of bounds error found in bg logs

book

Article ID: 53464

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

When Time Slice Definitions have zero (0) periods defined, blobcrack IndexOutOfBoundsException is generated and it affects update status of other slice definitions

The application allows the Clarity Administrator to configure a Time Slice definition with a zero (0) value for number of periods. This causes the application to generate a blobcrack IndexOutOfBoundsException error in the background log file, the specific time slice is not updated and it may cause other time slice definitions not to update as well.

ERROR 2013-03-21 18:28:11,960 [Dispatch pool-4-thread-9 : [email protected] (tenant=clarity)] niku.blobcrack (clarity:none:none:none)
Exception during blobcrack process
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at com.niku.blobcrack.SliceRequest.getRolloverBoundaries(SliceRequest.java:809)
at com.niku.blobcrack.BlobCrackDB.resetRequest(BlobCrackDB.java:181)
at com.niku.blobcrack.BlobCrackDB.resetRequests(BlobCrackDB.java:221)
at com.niku.blobcrack.BlobCrackDB.prepareSliceStatus(BlobCrackDB.java:765)
at com.niku.blobcrack.BlobCrackDB.sliceCurves(BlobCrackDB.java:584)
at com.niku.blobcrack.BlobCrackDB.createSlices(BlobCrackDB.java:245)
at com.niku.blobcrack.xql2.handlers.BlobCracker.processExpiredRequests(BlobCracker.java:156)
at com.niku.blobcrack.xql2.handlers.BlobCracker.postProcess(BlobCracker.java:44)
at com.niku.xql2.XQLVisitor.postProcess(XQLVisitor.java:1354)
at com.niku.union.xml.dom.DOMWalker.postProcess(DOMWalker.java:210)
at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:94)
at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)
at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)
at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)
at com.niku.xql2.XQLProcessor.process(XQLProcessor.java:257)
at com.niku.njs.xbl.XBLService.process(XBLService.java:127)
at com.niku.njs.xbl.XBLService.process(XBLService.java:75)
at com.niku.njs.listeners.XBLJob.scheduledEventFired(XBLJob.java:44)
at com.niku.njs.Dispatcher$BGTask.run(Dispatcher.java:277)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Steps to Reproduce:

  1. Login as a Clarity Administrator
  2. Administration > Time Slices
  3. Open an existing Time Slice Definition, change the Number of Periods to zero (0), save and confirm changes
  4. Execute 'Time Slicing' job
  5. Check Administration > Time Slices page and check Background Log file

Expected Result: All Time Slice Definitions should be updated
Actual Result: This Time Slice Definition is not updated and some other Time Slice Definitions are not updated. Also the Background Log (bg-ca.log) file has a java exception error

Resolution

WORKAROUND:
Update the Time Slice Definition to have a value of 1 or greater.

  1. Login as a Clarity Administrator
  2. Administration > Time Slices
  3. Open the Time Slice Definition that has zero (0) defined for number of periods
  4. Change the value to 1 or greater value
  5. Click 'Save and Return' button
  6. Execute 'Time Slicing' job
  7. Check all Slice definitions for Last Run date

Verify data throughout application and in reports