oozieoozie-coordinator

How to kill/cancel a coordinator action before the workflow starts?


I need a way to kill a coordinator action that is in status READY and doesn't yet have a workflow ID.

My coordinator looks as follows:

$ oozie job -info 0000123-000000123456789-oozie-oozi-C
Job ID : 0000123-000000123456789-oozie-oozi-C
------------------------------------------------------------------------------------------------------------------------------------
Job Name    : test_1
App Path    : /user/myuser1/workflows/test_workflow
Status      : RUNNING
Start Time  : 2021-02-16 08:01 GMT
End Time    : 2021-02-16 12:01 GMT
Pause Time  : -
Concurrency : 1
------------------------------------------------------------------------------------------------------------------------------------
ID                                         Status    Ext ID                               Err Code  Created              Nominal Time         
0000123-000000123456789-oozie-oozi-C@1     SUCCEEDED 0000123-000000123456789-oozie-oozi-W -         2021-02-16 09:47 GMT 2021-02-16 08:01 GMT 
------------------------------------------------------------------------------------------------------------------------------------
0000123-000000123456789-oozie-oozi-C@2     RUNNING   0000125-000000123456789-oozie-oozi-W -         2021-02-16 09:51 GMT 2021-02-16 09:01 GMT 
------------------------------------------------------------------------------------------------------------------------------------
0000123-000000123456789-oozie-oozi-C@3     READY     -                                    -         2021-02-16 09:56 GMT 2021-02-16 10:01 GMT 
------------------------------------------------------------------------------------------------------------------------------------

I would need to be able to kill 0000123-000000123456789-oozie-oozi-C@3 somehow, and it's not feasible for me to wait until the action gets assigned a workflow ID, which seems to only happen right before the workflow is supposed to start.

I have tried oozie job -kill <coord action id> and oozie job -action <coord action id> -kill <coord action id> but that gives me:

Error: E0605 : E0605: Action does not exist [select w.id, w.user, w.group, w.appName, w.statusStr, w.bundleId, w.appNamespace, w.doneMaterialization from CoordinatorJobBean w where w.id = :id]

Solution

  • Turns out the command is:

    oozie job -kill <coordinator id> -action <action number>
    

    So for action 0000123-000000123456789-oozie-oozi-C@3 it looks like this:

    $ oozie job -kill 0000123-000000123456789-oozie-oozi-C -action 3
    Action ID   Nominal Time
    ------------------------------------------------------------------------------------------------------------------------------------
    0000123-000000123456789-oozie-oozi-C@3  2021-02-16 10:01 UTC