Are you running this in SQL Server 2012? There is a specific parameter for IS Catalog packages called SYNCHRONIZED which, if set to false, considers a package execution step to be successful as soon as the package starts.
To see the various commands being executed by your job, run this query on the server running your jobs:
select step_id, step_name, subsystem, command from msdb.dbo.sysjobsteps js
inner join
msdb.dbo.sysjobs j
on j.job_id = js.job_id
where
j.name = <Your Job Name Here>
order by step_id
If you don't see
/Par ""$ServerOption::SYNCHRONIZED(Boolean)"";True
In the command field, that means it's running asynchronously and your next step will start as soon as the package begins execution.
The only way I know to fix it is to either modify the command field for your job step in the dbo.sysjobsteps table directly, use the sp_update_jobstep stored procedure, or drop and re-add your step with the GUI.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…