IBM Support

How to check the ulimit settings of a DataStage job running on an MPP configuration

Question & Answer


Question

I am working with parallel jobs running on an MPP configuration. I want to see the ulimit settings for each node. Using a Before Sub Routine is only showing one set of values. How can I check the values for all the nodes?

Answer

When working in an MPP configuration the values for ulimit are set independently for each node. In Server jobs or Parallel jobs running on SMP configurations (i.e. all nodes are pointing to the same fastname) you can check the value of ulimit by using a "Before Sub Routine" of the type "ExecSH" and use as input value "ulimit -a" (without the double quotes).

However, this procedure doesn't work when you work with Parallel Jobs that run on MPP configurations (i.e. some of the nodes are pointing to different fastnames), because the command is only executed on the conductor node.

To show the values for all the nodes do the following:

  1. Create a Parallel Job and paste these stages: External Source, Transformer and Peek. Link them in that order starting with the External Source.
  2. Open the External Source stage and set as the Source Program the command "*:ulimit -a" (without the double quotes). The prefix *: forces the command to be executed in all nodes. Click the Columns tab and create a column called output with Datatype=VarChar and Length=255. Click Ok.
  3. Open the Transformer Stage and pass the column output to the output link. Then add a new column in the output link called partition and set its derivation to @PARTITIONNUM. This is a system variable that returns the partition number. Your output link should have 2 columns now: partition and output. Click on the properties of the Transformer (leftmost button of the toolbar), Click Inputs tab and set Partition Type to Same.
  4. Open the Peek. Click Stage, Properties and then change All Records (After Skip) to True. Click Input, Partitioning tab and set Partition type to Same. Check the perform sort checkbox and set the key to the partition column. Optionally you can also add the output column as an additional sorting key.
  5. Save, compile and run the job. The dataset will show the values for ulimit for all nodes in the dataset. The rows will be sorted by partition.

[{"Product":{"code":"SSZJPZ","label":"IBM InfoSphere Information Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"9.1;8.7;8.5;11.5;11.3","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21496848