[
https://issues.apache.org/jira/browse/CLOUDSTACK-7263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
manasaveloori closed CLOUDSTACK-7263.
-------------------------------------
Verified on latest build....
Scheduled snapshots not triggered for removed accounts with cleanup=1
So account clean up succeeded.
Closing the issue.
> Account Clean up is failing when there are snapshots in allocated state.
> ------------------------------------------------------------------------
>
> Key: CLOUDSTACK-7263
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7263
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: Snapshot, Storage Controller
> Affects Versions: 4.5.0
> Reporter: manasaveloori
> Assignee: Min Chen
> Priority: Critical
> Fix For: 4.5.0
>
> Attachments: management-server.rar, mysqldump45.dmp
>
>
> Steps:
> 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.
> 2. Now changed the "account.cleanup.interval"=300sec
> 3. After 300secs...Account cleanup is triggered and at the same time
> scheduled snapshot creation 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...everytime cleanup
> is triggered it is failed with below exception and account never gets cleaned
> up:
> 2014-08-06 12:51:42,580 WARN [c.c.u.AccountManagerImpl]
> (AccountChecker-1:ctx-eb492f52) Failed to cleanup account
> Acct[deb3b748-63ca-4566-8c34-a8bf6685bf11-acct] due to
> com.cloud.exception.InvalidParameterValueException: Can't delete snapshotshot
> 51 due to it is in Allocated Status
> at
> org.apache.cloudstack.storage.snapshot.XenserverSnapshotStrategy.deleteSnapshot(XenserverSnapshotStrategy.java:213)
> at
> com.cloud.storage.snapshot.SnapshotManagerImpl.deleteSnapshotDirsForAccount(SnapshotManagerImpl.java:623)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
> at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
> at com.sun.proxy.$Proxy179.deleteSnapshotDirsForAccount(Unknown
> Source)
> at
> com.cloud.user.AccountManagerImpl.cleanupAccount(AccountManagerImpl.java:708)
> at
> com.cloud.user.AccountManagerImpl$AccountCleanupTask.runInContext(AccountManagerImpl.java:1675)
> 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
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> 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,582 INFO [c.c.u.AccountManagerImpl]
> (AccountChecker-1:ctx-eb492f52) Cleanup for account 5 is needed.
> Attaching the Ms logs
--
This message was sent by Atlassian JIRA
(v6.2#6252)