After deleting an Outage Window, some Tasks are no longer calculated or scheduled by the Calculator.
The impact and symptoms are different depending on the version of the Dollar Universe nodes:
[root@<hostname> bin]# $UNI_DIR_EXEC/universe -getname -type tsk -id T000001346
DU_AS-5784
Release : 6.x
Component : DOLLAR UNIVERSE
Bug: the removal of an Outage may provoke a wrong next Calculation Date to be set into the u_fmta60.dta (columns 28 to 42) for some Tasks where some uprocs inside the session were shifted by the Outage removal.
Please tell Dollar Universe End Users to not to delete Outages for the time being.
In case the issue occurs, the workaround is the following:
1. Identify the task/tasks affected by this issue by looking at the u_fmta60.dta file columns 28 to 42, if a funny value like 1000* is stored or some weird characters are in this position, you would need to disable this task.
2. Restart the calculator so that the Wake up date is in the future again
3. Enable again the Tasks/s identified in point 1, they should be calculated correctly again.
Update to a fix version listed below or a newer version if available.
Fix version(s):
Component: Application.Server
Dollar Universe 6.10.81 - Available
In order to identify the tasks having being impacted, you can check the content of the u_fmta60.dta lines with a command such as (to be launched from the $UNI_DIR_ROOT folder),
awk '/^T.*/ { print substr($0,1,10), " -> ", substr($0,28,14) }' data/exp/u_fmta60.dta | grep -v <previous year> | grep -v <current year> | grep -v 2036
So, if the current year is 2023:
awk '/^T.*/ { print substr($0,1,10), " -> ", substr($0,28,14) }' data/exp/u_fmta60.dta | grep -v 2022 | grep -v 2023 | grep -v 2036
If you have some results, then those tasks are affected. To fix it, we need to do an update on that task or toggle disable/enable to reset this wrong date.
We could automate this with the following script that will both detect and fix those tasks with a uxupd command:
awk '/^T.*/ { print substr($0,1,10), " -> ", substr($0,28,14) }' data/exp/u_fmta60.dta | grep -v <previous year> | grep -v <current year> | grep -v 2036 | cut -d ' ' -f1 | xargs -I{} grep {} data/u_fxta60.dta | cut -d ' ' -f1 | xargs -I % sh -c '{ $UNI_DIR_EXEC/uxupd tsk tsk="%" mu=*; }'
If the current year is 2024, please increase the year numbers by 1, example:
awk '/^T.*/ { print substr($0,1,10), " -> ", substr($0,28,14) }' data/exp/u_fmta60.dta | grep -v 2023 | grep -v 2024 | grep -v 2036
If the current year is 2025, please increase the year numbers by 1, example:
awk '/^T.*/ { print substr($0,1,10), " -> ", substr($0,28,14) }' data/exp/u_fmta60.dta | grep -v 2024 | grep -v 2025 | grep -v 2036