Autosys is job management and scheduling tool and widely used in Investment banks on UNIX or Linux based environment. Autosys is used to start Java process, takes backup of log files, stop Java process, cleaning and purging database and will all sort of housekeeping jobs in Linux environment. Autosys system is made of Autosys server and Autosys clients, each server or box, which has services scheduled by autosys, requires autosys client to be install on that. One of the key advantage of Autosys is that one job can depend upon another job, and can execute, depending upon, success and failure of parent job. Though, Java developers are not asked lot of interview questions, you might expect few of them during your interview with Wall Street banks, Brokers or Financial Institution, which uses autosys. This is more important for support people, and must know if you are applying for a production support role in Investment banks, and often asked along with UNIX Interview questions and SQL query interview questions, which are key technology skills for support person.. In this article, we will take a look at one of the important and frequently asked Autosys Interview questions, difference between ON HOLD and ON ICE jobs. Though both ON HOLD and ON ICE command stops a job from executing, difference comes into picture, when they are OFF HOLD and OFF ICE. Before going into differences between them, let's see What is ON_HOLD and ON_ICE job status in Autosys.
What is ON_HOLD and ON_ICE Jobs in Autosys
Autosys server determines when to start a job, based upon certain starting conditions e.g. scheduled date and time, meeting of starting conditions, if a job is inside a box then box must be in running state and current status of the job is not ON_HOLD or ON_ICE. So ON_HOLD, as name suggest is just a way to stop a job from not executing. There are numerous reason, when you want to put a job ON HOLD e.g. while upgrading binary or making a new relapse, you want to put all jobs, which starts services on hold. Similarly, you can also put your autosys job into ON_ICE status, to stop it being started. Autosys will not run a job, which is either ON HOLD or ON ICE, until it receives the event JOB_OFF_HOLD and JOB_ON_ICE respectively. This is where actual difference between ON HOLD and ON ICE comes into picture, which we will see in next section. By the way you can also FORCE START an OH HOLD Job.
Difference between ON ICE and ON HOLD jobs in Autosys
There are two notable difference between ON HOLD and ON ICE jobs, which dictate, when to use them. When an ON_HOLD job is put off hold, it runs, if it's starting conditions are satisfied, while an ON ICE job will not run, after putting into OFF ICE, even if it's starting conditions are met. It will only run, when it's starting condition will reoccur. For example, if you have job which starts your Java services at 3.00 A.M., which was ON_HOLD, it will run as soon as you make OFF_HOLD and starting condition met, while in case of ON ICE, it will only run on next day. Another critical difference between ON_ICE and ON_HOLD comes in terms of dependent jobs. All dependent jobs of an ON_ICE job will execute as though ON_ICE job was succeeded, while all dependent jobs of an ON_HOLD jobs will not run, until that job is put on OFF hold. This is the most important difference between them. In case of box jobs, suppose you have 4 jobs inside a box jobs, and 3rd job depends upon success of 2nd job, which was put ON ICE, then when that box job is started, both first job and 3rd job will start immediately, because ON ICE makes dependent job to run immediately.
1) Dependent jobs of ON_HOLD doesn't run, but dependent jobs of ON_ICE runs as it succeeded.
2) An ON_ICE job doesn't run, when it puts off ice and starting condition met, while ON_HOLD jobs runs, when you put it OFF HOLD and it's starting conditions met.
3) Dependent jobs of ON_ICE jobs, which is inside a box job, will run immediately, once box job is started.
That's all on difference between ON HOLD and ON ICE job status in Autosys. Since many Java programmers, also does support on Investment banks, it's important to understand basics of Autosys or any other job scheduling systems. Lot of production issues are caused due to incorrect understanding of ON_HOLD and ON_ICE status, so be careful, while you are putting any autosys job ON_HOLD and ON_ICE, until you have complete knowledge of dependent jobs and impact of stopping a job and running it later. As I said, this is one on the most popular Autosys interview questions for both development and support jobs and almost 8 out of 10 times, you will face this question on Autosys interviews.