{"id":561,"date":"2026-09-11T01:11:29","date_gmt":"2026-09-10T23:11:29","guid":{"rendered":"https:\/\/nutanix.ma\/?p=561"},"modified":"2026-09-11T01:15:52","modified_gmt":"2026-09-10T23:15:52","slug":"how-to-remove-stuck-tasks-in-nutanix","status":"publish","type":"post","link":"https:\/\/nutanix.ma\/index.php\/2026\/09\/11\/how-to-remove-stuck-tasks-in-nutanix\/","title":{"rendered":"How to Remove Stuck Tasks in Nutanix"},"content":{"rendered":"\n<p><strong>Before anything else: if you are not certain what a task is doing, contact Nutanix Support before you touch it.<\/strong> What follows edits the cluster&#8217;s task database directly. It is an advanced troubleshooting procedure, not routine housekeeping, and the wrong task aborted at the wrong moment can leave an operation half-finished with no record that it was ever running. Support can tell you in minutes whether a task is genuinely wedged or simply slow.<\/p>\n\n<p>With that said \u2014 stuck tasks are a real and fairly common annoyance. A log collection that never finishes, a snapshot task sitting at <code>kRunning<\/code> for days, a queue that keeps growing behind one blocked entry. They clutter Prism, and in some cases they block later operations from starting, which is usually what brings people looking for this.<\/p>\n\n<h2>Step 1 \u2014 List the active tasks<\/h2>\n<p>SSH to any CVM in the cluster and list everything that hasn&#8217;t completed:<\/p>\n\n<pre><code>nutanix@CVM$ ecli task.list include_completed=false<\/code><\/pre>\n\n<p>That gives you only the tasks still outstanding \u2014 running, queued, or otherwise unfinished:<\/p>\n\n<pre><code>Task UUID                             Parent Task UUID  Component  Sequence-id  Type                           Status\ncde8b3f9-c7da-46a7-7194-bf0628006db2                    Logbay     132          LogCollectionWithDownloadLink  kRunning\nf68b291a-c297-45b4-6aaa-bdf26e0e173e                    Logbay     126          LogCollectionWithDownloadLink  kRunning\n2be51d3d-8556-4bdf-637b-58bd517ef572                    Logbay     121          LogCollectionWithDownloadLink  kQueued\na0780f21-5150-43c8-6577-86edb1fff3fe                    Logbay     120          LogCollectionWithDownloadLink  kQueued\nc424cd94-faac-47e3-7b58-4eb35e505e50                    Logbay     115          LogCollectionWithDownloadLink  kRunning\n805b66f9-a88c-446a-7dd8-fa0ae79e42ba                    Logbay     104          LogCollectionWithDownloadLink  kQueued\n5f387ed4-d932-4138-8cdd-b59cd7f61683   **               aplos      50128        create_vm_snapshot_intentful   kRunning\n926c02dc-d559-4097-6c3a-e6645bbd6eb2                    Logbay     45           LogCollectionWithDownloadLink  kQueued<\/code><\/pre>\n\n<p>Read this output properly before you act on it. Four columns matter:<\/p>\n\n<ul>\n<li><strong>Component<\/strong> tells you what raised the task. <code>Logbay<\/code> is log collection \u2014 low risk. <code>aplos<\/code>, <code>ergon<\/code>, <code>uhura<\/code> or anything tied to an upgrade is a different matter entirely.<\/li>\n<li><strong>Type<\/strong> tells you what it&#8217;s actually doing. <code>LogCollectionWithDownloadLink<\/code> is a log bundle. <code>create_vm_snapshot_intentful<\/code> is a snapshot operation against a VM.<\/li>\n<li><strong>Status<\/strong> distinguishes <code>kRunning<\/code> from <code>kQueued<\/code>. A queued task may simply be waiting behind a running one \u2014 clear the blockage and the queue often drains on its own.<\/li>\n<li><strong>Parent Task UUID<\/strong> matters more than people expect. A task with a parent is a subtask, and aborting it out from under the parent can leave the parent stuck instead. Work on the parent, not the child.<\/li>\n<\/ul>\n\n<p>In the example above the task worth investigating is the <code>aplos<\/code> snapshot task, <code>5f387ed4-d932-4138-8cdd-b59cd7f61683<\/code>, sitting at <code>kRunning<\/code>. Note that the eight Logbay entries with sequence IDs from 45 to 132 are a good illustration of the pattern \u2014 one wedged log collection, and everything behind it queuing up.<\/p>\n\n<h2>Step 2 \u2014 Confirm the task is genuinely stuck<\/h2>\n<p>This is the step people skip, and it&#8217;s the one that keeps you out of trouble. A long-running task is not the same as a stuck task. Snapshot operations, replication, disk removal and rebuild activity can all legitimately run for a long time, and aborting one of those mid-flight causes the problem you were trying to avoid.<\/p>\n\n<p>Before deciding, look at the task in detail:<\/p>\n\n<pre><code>nutanix@CVM$ ecli task.get &lt;task-uuid&gt;<\/code><\/pre>\n\n<p>Check whether the percentage complete is actually moving \u2014 run it, wait a few minutes, run it again. A task advancing slowly is working. A task that has not moved in hours, with nothing in the logs to explain it, is a candidate. Also confirm that whatever spawned it has genuinely gone away: a log collection whose requesting session has long since closed is safe to clear; a snapshot task belonging to a protection policy that is still active is not.<\/p>\n\n<h2>Step 3 \u2014 Abort the task<\/h2>\n<p>Once you&#8217;re confident, mark the task aborted using its UUID:<\/p>\n\n<pre><code>nutanix@CVM$ ergon_update_task --task_uuid='5f387ed4-d932-4138-8cdd-b59cd7f61683' --task_status=aborted<\/code><\/pre>\n\n<p>Copy and paste the UUID rather than typing it. And note the flags carefully \u2014 those are <strong>double<\/strong> hyphens before <code>task_uuid<\/code> and <code>task_status<\/code>. If you copy this command from somewhere that has converted them into en-dashes, it will fail with an unhelpful error.<\/p>\n\n<p>Do one task at a time and re-check between each. Clearing one blocked task frequently releases everything queued behind it, so the list you started with may be shorter than the list you actually need to work through.<\/p>\n\n<h2>Step 4 \u2014 Verify<\/h2>\n<p>List the active tasks again:<\/p>\n\n<pre><code>nutanix@CVM$ ecli task.list include_completed=false<\/code><\/pre>\n\n<p>On a cluster with nothing else outstanding you&#8217;ll get just the header row back:<\/p>\n\n<pre><code>Task UUID  Parent Task UUID  Component  Sequence-id  Type  Status<\/code><\/pre>\n\n<p>That&#8217;s the confirmation \u2014 the task is no longer among the active set. If the entry is still there, don&#8217;t simply run the abort again and hope. Re-read the output: check you used the right UUID, and check whether the task has a parent that&#8217;s re-creating it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before anything else: if you are not certain what a task is doing, contact Nutanix Support before you touch it. What follows edits the cluster&#8217;s task database directly. It is an advanced troubleshooting procedure, not routine housekeeping, and the wrong task aborted at the wrong moment can leave an operation half-finished with no record that [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-561","post","type-post","status-publish","format-standard","hentry","category-nutanix"],"_links":{"self":[{"href":"https:\/\/nutanix.ma\/index.php\/wp-json\/wp\/v2\/posts\/561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nutanix.ma\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nutanix.ma\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nutanix.ma\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nutanix.ma\/index.php\/wp-json\/wp\/v2\/comments?post=561"}],"version-history":[{"count":2,"href":"https:\/\/nutanix.ma\/index.php\/wp-json\/wp\/v2\/posts\/561\/revisions"}],"predecessor-version":[{"id":563,"href":"https:\/\/nutanix.ma\/index.php\/wp-json\/wp\/v2\/posts\/561\/revisions\/563"}],"wp:attachment":[{"href":"https:\/\/nutanix.ma\/index.php\/wp-json\/wp\/v2\/media?parent=561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nutanix.ma\/index.php\/wp-json\/wp\/v2\/categories?post=561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nutanix.ma\/index.php\/wp-json\/wp\/v2\/tags?post=561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}