After adding a new parameter to an existing Parameter set, Information Server job fails

Problem(Abstract)

After adding a new parameter to an existing Parameter set, DataStage job fails with the error:

Controller problem: Error calling DSSetParam(PARAM_SET.$PARAM),code=-3

Symptom

After adding a new parameter to an existing Parameter set, Information Server job fails with the following error:

"Controller problem: Error calling DSSetParam(PARAMETER_SET.$PARAM_NAME),code=-3 
[ParamName does not reference a known parameter of the job]"

Cause

The reason for this type of issue is usually there is a mismatch of the parameter set list used by sequence and its jobs.


Essentially a Parameter Set is a design-time object which provides a shorthand for a list of parameters so that the same list can be used in 
multiple places. 

Job compilation takes a snapshot of the job design and related objects and generates a job executable which is based on the state of those 
objects at compile time. 

For example, if Sequence job and a job both uses the parameter set. Adding a parameter to the Parameter Set and recompiling the Job sequence
gives us a mismatch between the Job and the Job Sequence hence the error. 

If a Parameter Set is changed then all jobs that depend on it need to be re-compiled to ensure that they will continue to work.


Resolving the problem

To make sure every job that uses the Parameter Set stays in sync, please do the following:

  1. Go to the Parameter Set in the repository in Designer.
  2. Right click on the Parameter Set.
  3. Select "Find Where Used".
  4. Select "All Types".
  5. In the advanced find dialog, select all jobs that use this parameter set.
  6. Right click and choose Multiple Job Compile.

This way the parameter set will be in sync for all the jobs that use it.





Popular posts from this blog

Shrink you container size up to 95%.

alma linux: dnf Module yaml error: Unexpected key in data