Renaming queue in 12.3 returns Queue 'QUEUENAME' is used by active tasks and cannot be renamed.


Article ID: 208651


Updated On:


CA Automic Workload Automation - Automation Engine


Queue 'QUEUENAME' is used by active tasks and cannot be renamed.

Steps to reproduce:
1) Create a queue named QUEUENAME
2) Create a script object with a :WAIT 600 in the process tab and QUEUENAME assigned as the queue
3) Run the Script
4) In Process Assembly (or in the case of the Java UI, Explorer), right-click the queue and choose "Rename".


1) Find a queue with running tasks
2) Attempt to rename the queue

Java UI throws error: Error: U04002431 Queue 'QUEUENAME' is used by active tasks and cannot be



Change in behavior between 12.2 and 12.3 due to fixed bug


Release : 12.3



This behavior is as designed.  There were a number of bugs fixed in 12.2.3 and 12.3.0 that revolved around renaming queues and not allowing objects to run in a queue that didn't exist.  When this was fixed, there was another behavior that became re-inforced.  This behacvior was the intended behavior even in 9.00A when queues were introduced, but it was never found specifically as a bug.

One of the reasons for this is that when customers are relying on resource restrictions on a queue and change the name while objects are running in that queue, the resource checks would not happen correctly which could lead to resource and load issues.  It also makes the check better for ensuring an object definition has a correct queue.

The only way to rename queues is to wait for all active objects to be deactivated before attempting to rename.  There is no way around this as it is the intended behavior.  

A possible workaround could be to:

1) Using the search bar, search for the queue that you want to have renamed
2) Duplicate the queue and give the new queue the name you want the queue to be renamed to
3) Using the search bar, search for the original queue again, right-click on the result and choose "Replace"

4) Replace the old queue with the new one

This will ensure that all active tasks assigned to the original queue finish before the original queue can be removed/renamed and avoid any unintended consequences that could occur with that action.