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:
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
WORKAROUND:
Update the Time Slice Definition to have a value of 1 or greater.
Verify data throughout application and in reports