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

Document ID : KB000053464
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

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 : bg@localhost (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

Solution:

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

STATUS/RESOLUTION:
Tested, verified and closed as cannot reproduce in Clarity 13.2, nor in Clarity 13.3

Keywords: CLARITYKB, CLRT-71481, clarity13resolved, cnr.