Once again yesterday I had a situation where a chore ran a little bit longer than it should have, and in the meantime a further, scheduled, chore triggered itself off.
The chores didn't conflict exactly, except in one area... the scheduled chore did what it was supposed to do when it was finished, which was to turn logging back ON on all of the cubes that it affected.
The problem is that it did so while the first chore was still writing to that cube, and the result was a 73 meg log file.
To my mind this situation (and worse situations, where there really IS a data conflict) would best be resolved by having a TI function named something like "NoChoreExecution". If set to 1, this will set a flag in the system. Any other chores, whether scheduled or triggered manually by someone else, will check for that flag and if it's set, patiently wait their turn rather than barging in and possibly conflicting with the running chore.
Obviously the ability to kill the running process/chore via TM1 top would need to be retained.
Yes, I'm aware that this is a risky improvement to ask for since Iboglix's track record on concurrent chores is a worry. Nonetheless, I think it would be a desirable enhancement.
The only other issue I can trhink of would be with people who no longer use chores but rather do a series of ExecuteProcess calls from a single Process; in such cases I'd suggest that this could be still implemented by TM1 checking whether the process had been called from a chore; if it isn't, treat that single process as if it were a chore and reset the flag when it finishes executing.
Thoughts, suggestions?
TI function to prevent other chores from running
- Alan Kirk
- Site Admin
- Posts: 6606
- Joined: Sun May 11, 2008 2:30 am
- OLAP Product: TM1
- Version: PA2.0.9.18 Classic NO PAW!
- Excel Version: 2013 and Office 365
- Location: Sydney, Australia
- Contact:
TI function to prevent other chores from running
"To them, equipment failure is terrifying. To me, it’s 'Tuesday.' "
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
Re: TI function to prevent other chores from running
Since you ask, yes, I do have thoughts on this. I have had several conversations on the underlying issue, ranging from dry academic discussion to pounding-on-the-table argument with IT folk.
Bottom line: There is no substitute for a job control process that takes job status into account. Relying on the clock to resolve logical dependency or resource contention is sheer folly.
Using a master process that calls ExecuteProcess is a workable, if cumbersome approach. Having an "everybody wait for me" feature could be a useful band-aid.
Bottom line: There is no substitute for a job control process that takes job status into account. Relying on the clock to resolve logical dependency or resource contention is sheer folly.
Using a master process that calls ExecuteProcess is a workable, if cumbersome approach. Having an "everybody wait for me" feature could be a useful band-aid.
- Steve Vincent
- Site Admin
- Posts: 1054
- Joined: Mon May 12, 2008 8:33 am
- OLAP Product: TM1
- Version: 10.2.2 FP1
- Excel Version: 2010
- Location: UK
Re: TI function to prevent other chores from running
Sounds a good plan to me, has caught us out a few times before too and would be an easy enough solution.
If this were a dictatorship, it would be a heck of a lot easier, just so long as I'm the dictator.
Production: Planning Analytics 64 bit 2.0.5, Windows 2016 Server. Excel 2016, IE11 for t'internet
Production: Planning Analytics 64 bit 2.0.5, Windows 2016 Server. Excel 2016, IE11 for t'internet