[ https://issues.apache.org/jira/browse/CLOUDSTACK-7264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14090961#comment-14090961 ]
Min Chen commented on CLOUDSTACK-7264: -------------------------------------- Scheduled snapshots for volumes of a removed or disabled account should be skipped. > NPE while creating scheduled/recurring snapshots for the removed account with > cleanup_needed=1 > ---------------------------------------------------------------------------------------------- > > Key: CLOUDSTACK-7264 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7264 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Snapshot > Affects Versions: 4.5.0 > Reporter: manasaveloori > Assignee: Min Chen > Priority: Critical > Fix For: 4.5.0 > > Attachments: management-server.rar, mysqldump45.dmp > > > 1. Created an account "test" with a user "testuser" > 2. Deployed a VM with data disk. > 3. Created snapshots of both root and data disks. > 4. Scheduled hourly,daily,weekly,monthly snapshots of both data and root > volumes. > 5. While the snapshot is in backingup state deleted the account "test" > Observation: > 1. Account "test" got deleted but clean up of account failed as one of the > snapshot is in "backingup" state. > id: 5 > account_name: acct > uuid: deb3b748-63ca-4566-8c34-a8bf6685bf11 > type: 0 > domain_id: 1 > state: enabled > removed: 2014-08-06 07:15:23 > cleanup_needed: 1 > network_domain: NULL > default_zone_id: NULL > default: 0 > 2. Now changed the "account.cleanup.interval"=300sec > 3. Now that account is removed with cleanup_needed=1 and scheduled snapshot > is triggered. > Snapshot creation failed with NPE and left in Allocated state > 2014-08-06 12:51:42,597 INFO [o.a.c.f.j.i.AsyncJobMonitor] > (API-Job-Executor-11:ctx-0e534263 job-279) Add job-279 into job monitoring > 2014-08-06 12:51:42,597 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] > (API-Job-Executor-11:ctx-0e534263 job-279) Executing AsyncJobVO {id:279, > userId: 1, accountId: 5, instanceType: Snapshot, instanceId: 52, cmd: > org.apache.cloudstack.api.command.user.snapshot.CreateSnapshotCmd, cmdInfo: > {"id":"52","ctxUserId":"1","volumeid":"24","ctxAccountId":"5","ctxStartEventId":"1","policyid":"15"} > , cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, > result: null, initMsid: 6876007760021, completeMsid: null, lastUpdated: null, > lastPolled: null, created: null} > 2014-08-06 12:51:42,600 ERROR [c.c.a.ApiAsyncJobDispatcher] > (API-Job-Executor-11:ctx-0e534263 job-279) Unexpected exception while > executing org.apache.cloudstack.api.command.user.snapshot.CreateSnapshotCmd > java.lang.NullPointerException > at org.apache.cloudstack.context.CallContext.<init>(CallContext.java:82) > at org.apache.cloudstack.context.CallContext.register(CallContext.java:156) > at org.apache.cloudstack.context.CallContext.register(CallContext.java:143) > at org.apache.cloudstack.context.CallContext.register(CallContext.java:180) > at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:100) > at > org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:503) > at > org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49) > at > org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56) > at > org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103) > at > org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53) > at > org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46) > at > org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:460) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > 2014-08-06 12:51:42,606 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] > (API-Job-Executor-11:ctx-0e534263 job-279) Complete async job-279, jobStatus: > FAILED, resultCode: 530, result: > org.apache.cloudstack.api.response.ExceptionResponse/null/ > {"uuidList":[],"errorcode":530} > 2014-08-06 12:51:42,614 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] > (API-Job-Executor-11:ctx-0e534263 job-279) Done executing > org.apache.cloudstack.api.command.user.snapshot.CreateSnapshotCmd for job-279 > 4. Now as the snapshot state is left in "allocated state"...and account > cleanup after 300 secs is failing now because of snapshots left in > "allocated" state.... > Everytime scheduled snapshots are triggered they are failing with NPE for > this removed account with cleanup_needed=1 > attaching the MSlogs and db dumps -- This message was sent by Atlassian JIRA (v6.2#6252)