Description:
CLRT-37572: Update Earned Value Total/History job crashes when encountering a master/sub with a subproject loop (partial or full)
[RESOLVED in 12.0.3]
It is possible using a combination of Open Workbench and Clarity to create what appears to be a circular subproject loop within a master/sub. Doing so will crash the Update Earned Value history and total jobs as well as the update ev button in the UI. This fix will prevent the crash and instead report a graceful error in the log with information on the two projects involved so the user can correct. The job will then proceed with the next project - instead of crashing!
Expect: Job finishes without error
Actual: Error in log - stack overflow
CLRT-37128: NPE (NullPointerException) during the generation of Earned Value history or totals causes no update to the master project. Generating earned value history (or totals) can result in an NPE being thrown (see below). If the project being processed was a master, no data will be saved for the master (history or totals).
[RESOLVED in 12.0.3]
ERROR 2009-05-21 18:22:18,212 [Dispatch Thread-22 : [email protected] ] Utils.EVSlicer (xxxxxxxx:35545527__1bb9bee0:none) Error creating historical EV slice for project 00000000
java.lang.NullPointerException
at com.niku.evm.Utils.EVProjectElement.addSubprojectElement(EVProjectElement.java:43)
at com.niku.evm.Utils.CalcEVBase.initProjectHierarchy(CalcEVBase.java:160)
at com.niku.evm.Utils.CalcEVBase.initHierarchy(CalcEVBase.java:87)
at com.niku.evm.Utils.CalcEVBase.run(CalcEVBase.java:72)
at com.niku.evm.Utils.EVSlicer.SliceHistorical(EVSlicer.java:457)
at com.niku.evm.Utils.EVSlicer.SliceHistorical(EVSlicer.java:412)
at com.niku.evm.jobs.UpdateEVHistoryJob.run(UpdateEVHistoryJob.java:222)
at com.niku.evm.jobs.UpdateEVHistoryJob.scheduledEventFired(UpdateEVHistoryJob.java:68)
at com.niku.njs.Dispatcher$BGTask.run(Dispatcher.java:265)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:727)
at java.lang.Thread.run(Thread.java:810)
CLRT-36894: Update Earned Value Totals and Update Earned Value History cause OutOfMemory error when ran against all projects at once.
[RESOLVED in 12.0.3]
Run the "Update Earned Value History" job on a system with a larger (1000+) projects which qualify for a history snapshot
Expected Result: The job to complete without error
Actual Result: The job fails with jav.lang.OutOrMemory error
CLRT-28951: Update Earned Value History job populates BCWS when BCWP is set to projected and vice versa.
[RESOLVED in 12.0.2]
Login to Clarity
Navigate to Reports and Jobs -> Jobs -> Availble Jobs
Select Update Earned Value History
Set parameters for a specific project and choose to only project BCWS
Run the Job
Query the PRJ_EV_HISTORY table to all records against the project in question where OBJECT_TYPE='PROJECT' and isProjected=1
Check the contents of the ITD_BCWS columnExpected: column to be populated
Actual: column is null while the ITD_BCWP column has been populated.
CLRT-28566: Update Earned Value History and Update Earned Value Totals jobs fail for projects with partial subs.
[RESOLVED in 12.0.2]
Expected Result: Job to run without fail
Actual Result: Job fails with a nullpointerexception in EVTaskElement::doSubRollup.
Solution:
Keywords: CLARITYKB, CLRT-37572, CLRT-28566, CLRT-28951, CLRT-36894, CLRT-37128, Update Earned Value Totals, Update Earned Value History, Jobs, EV, clarity12resolved