Batch jobs are stuck in RESWAIT state - the renewable resource is not used.
search cancel

Batch jobs are stuck in RESWAIT state - the renewable resource is not used.

book

Article ID: 259646

calendar_today

Updated On:

Products

CA Workload Automation DE

Issue/Introduction

The batch jobs are struck as the Stay on RESWAIT - the renewable resource is not used. Using the List Resource Usage shows:

The resource is active.
 Availability: 0
 MaximumAvailability: 1
 Used: 0
 Reserved: 0
 Needed: 1
      1 needed by WAITFORRESOURCE.JOB_NAME

 

 

Environment

Release : 12.3

Cause

Having an Availability value of 0 effectively disables the resource. This makes it so that nothing can use the resource. You need an Availability of at least 1. If you want to make 1 available you can do this by:

Resolution

If you want to make 1 available you can do this by:

  • Open a Desktop Client connect to the DE server and open the Monitor perspective. 
  • Right click on the connection and chose "Modify Resources".
  • In the Resource name drop down, find/select your resource <resource name>
  • In the Property name drop down, select Availability
  • Select the option "Reset value to" and enter 1. Then click okay. 
  • Give it a moment, the job should detect the available resource and begin. 
  • Once the job begins, you'll notice that the CLI command: LISTRESOURCESTATUS NAME("<resource name>")
    reflects an Availability value of 0 and Used: 1
  • Once the job is complete, the Availability should become 1 - meaning that another job can use the Renewable resource.

 

Alternatively, you can use the drop resource feature to temporarily suspend it's dependency on the resource and execute the job. 

 

Additional Information

If you are using the javascript method "resetResourceProperty", the following tools will not help determine what is using that resource:

  • RESOURCEMANAGERDUMP
  • LISTRESOURCESTATUS NAME("<your resource name>")

 

If you're using an Alert -> Javascript to execute the resetResourceProperty then you can track down which applications use that alert using a command similar to the following:

grep -Po 'DM.Appl.*Alert: (<YOUR_OFF_ALERT_NAME>|<YOUR_ON_ALERT_NAME>)' tracelog*

where < and > are not included in the command and the values between those characters are replaced with your alert names.