You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2014/01/31 07:36:09 UTC

[jira] [Commented] (CLOUDSTACK-6000) Volume lifecycle, stuck in expunging

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-6000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887517#comment-13887517 ] 

ASF subversion and git services commented on CLOUDSTACK-6000:
-------------------------------------------------------------

Commit d409d709e3837a24bc5d2ff88b17ad324cb21e45 in branch refs/heads/master from [~mlsorensen]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=d409d70 ]

CLOUDSTACK-6000: When expunging fails, move volume state back to
Destroy, so that the cleanup thread will try again on next run.


> Volume lifecycle, stuck in expunging
> ------------------------------------
>
>                 Key: CLOUDSTACK-6000
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6000
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: Management Server
>    Affects Versions: 4.3.0, 4.4.0
>            Reporter: Marcus Sorensen
>            Assignee: Marcus Sorensen
>             Fix For: 4.4.0
>
>
> I think there's a hole in the volume lifecycle.  I've been noticing
> volumes lingering that should have been cleaned up, and it seems to be
> a bug in the state machine for the volumes:
>             s_fsm.addTransition(Destroy, Event.ExpungingRequested, Expunging);
>             s_fsm.addTransition(Expunging, Event.ExpungingRequested, Expunging);
>             s_fsm.addTransition(Expunging, Event.OperationSucceeded, Expunged);
>             s_fsm.addTransition(Expunging, Event.OperationFailed, Expunging);
> If a volume is in Destroy state, it goes to Expunging when the delete
> operation is requested. If the delete fails, it remains in expunging.
> The storage garbage collector will never try to clean up that volume
> again, since it only lists volumes in 'Destroy' and attempts those.
> You can only get to Expunging from Destroy, it makes sense to change
> that last line to revert the volume state back to Destroy if the
> expunge operation failed, so that it will try again next time.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)