[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-4008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

edison su resolved CLOUDSTACK-4008.
-----------------------------------

    Resolution: Fixed
    
> any operation on a snapshot of a delete volume is failing
> ---------------------------------------------------------
>
>                 Key: CLOUDSTACK-4008
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4008
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Snapshot
>    Affects Versions: 4.2.0
>         Environment: KVM
>            Reporter: Srikanteswararao Talluri
>            Assignee: edison su
>            Priority: Blocker
>             Fix For: 4.2.0
>
>
> Steps to reproduce:
> ==============
> 1. create a volume and attach it to a VM.
> 2. take some snapshots(say 3 snapshots) of the  volume
> 3. detach and delete the volume created in step1.
> 4. try to delete one of the snapshot created in step 2.( results in NPE)
> 5. try to create a template from the snapshot created in step2 ( this is 
> causing NPE)
> Observation: it is causing NPE but deleting the db entry.
> ===START===  10.101.255.7 -- GET  
> command=deleteSnapshot&id=aae5135d-3098-4f8a-9d7e-f8ab24217041&response=json&sessionkey=%2Ffgph8eXl%2BeIzsdyOBQZp9jAEBQ%3D&_=1375352221449
> 2013-08-01 21:11:32,696 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (catalina-exec-6:null) submit async job-88 = [ 
> bc793db0-5b35-4996-b615-ca00dc6e3669 ], details: AsyncJobVO {id:88, userId: 
> 2, accountId: 2, sessionKey: null, instanceType: Snapshot, instanceId: 5, 
> cmd: org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd, 
> cmdOriginator: null, cmdInfo: 
> {"response":"json","id":"aae5135d-3098-4f8a-9d7e-f8ab24217041","sessionkey":"/fgph8eXl+eIzsdyOBQZp9jAEBQ\u003d","cmdEventType":"SNAPSHOT.DELETE","ctxUserId":"2","httpmethod":"GET","_":"1375352221449","ctxAccountId":"2","ctxStartEventId":"329"},
>  cmdVersion: 0, callbackType: 0, callbackAddress: null, status: 0, 
> processStatus: 0, resultCode: 0, result: null, initMsid: 7541090156566, 
> completeMsid: null, lastUpdated: null, lastPolled: null, created: null}
> 2013-08-01 21:11:32,700 DEBUG [cloud.api.ApiServlet] (catalina-exec-6:null) 
> ===END===  10.101.255.7 -- GET  
> command=deleteSnapshot&id=aae5135d-3098-4f8a-9d7e-f8ab24217041&response=json&sessionkey=%2Ffgph8eXl%2BeIzsdyOBQZp9jAEBQ%3D&_=1375352221449
> 2013-08-01 21:11:32,704 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (Job-Executor-88:job-88 = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ]) Executing 
> org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd for job-88 
> = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ]
> 2013-08-01 21:11:32,748 DEBUG [storage.snapshot.XenserverSnapshotStrategy] 
> (Job-Executor-88:job-88 = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ]) delete 
> snapshot chain for snapshot: 5
> 2013-08-01 21:11:32,752 DEBUG [storage.snapshot.XenserverSnapshotStrategy] 
> (Job-Executor-88:job-88 = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ]) Snapshot: 
> 5 doesn't have children, so it's ok to delete it and its parents
> 2013-08-01 21:11:32,775 DEBUG [storage.image.BaseImageStoreDriverImpl] 
> (Job-Executor-88:job-88 = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ]) Unable to 
> destoy SNAPSHOT: 5
> java.lang.NullPointerException
>       at 
> org.apache.cloudstack.storage.volume.VolumeDataFactoryImpl.getVolume(VolumeDataFactoryImpl.java:78)
>       at 
> org.apache.cloudstack.storage.snapshot.SnapshotObject.getBaseVolume(SnapshotObject.java:121)
>       at 
> org.apache.cloudstack.storage.to.SnapshotObjectTO.<init>(SnapshotObjectTO.java:43)
>       at 
> org.apache.cloudstack.storage.snapshot.SnapshotObject.getTO(SnapshotObject.java:244)
>       at 
> org.apache.cloudstack.storage.image.BaseImageStoreDriverImpl.deleteAsync(BaseImageStoreDriverImpl.java:236)
>       at 
> org.apache.cloudstack.storage.snapshot.SnapshotServiceImpl.deleteSnapshot(SnapshotServiceImpl.java:369)
>       at 
> org.apache.cloudstack.storage.snapshot.XenserverSnapshotStrategy.deleteSnapshotChain(XenserverSnapshotStrategy.java:161)
>       at 
> org.apache.cloudstack.storage.snapshot.XenserverSnapshotStrategy.deleteSnapshot(XenserverSnapshotStrategy.java:213)
>       at 
> com.cloud.storage.snapshot.SnapshotManagerImpl.deleteSnapshot(SnapshotManagerImpl.java:494)
>       at 
> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>       at 
> org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd.execute(DeleteSnapshotCmd.java:96)
>       at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
>       at 
> com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:679)
> 2013-08-01 21:11:32,776 DEBUG [storage.snapshot.SnapshotServiceImpl] 
> (Job-Executor-88:job-88 = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ]) delete 
> snapshot failedjava.lang.NullPointerException
> 2013-08-01 21:11:32,804 DEBUG [storage.snapshot.XenserverSnapshotStrategy] 
> (Job-Executor-88:job-88 = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ]) delete 
> snapshot failed: 
> com.cloud.utils.exception.CloudRuntimeException: 
> java.lang.NullPointerException
>       at 
> org.apache.cloudstack.storage.snapshot.SnapshotServiceImpl.deleteSnapshot(SnapshotServiceImpl.java:375)
>       at 
> org.apache.cloudstack.storage.snapshot.XenserverSnapshotStrategy.deleteSnapshotChain(XenserverSnapshotStrategy.java:161)
>       at 
> org.apache.cloudstack.storage.snapshot.XenserverSnapshotStrategy.deleteSnapshot(XenserverSnapshotStrategy.java:213)
>       at 
> com.cloud.storage.snapshot.SnapshotManagerImpl.deleteSnapshot(SnapshotManagerImpl.java:494)
>       at 
> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>       at 
> org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd.execute(DeleteSnapshotCmd.java:96)
>       at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
>       at 
> com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:679)
> 2013-08-01 21:11:32,874 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (Job-Executor-88:job-88 = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ]) Complete 
> async job-88 = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ], jobStatus: 1, 
> resultCode: 0, result: 
> org.apache.cloudstack.api.response.SuccessResponse@25ca9a9a
> 2013-08-01 21:11:32,886 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (Job-Executor-88:job-88 = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ]) Done 
> executing org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd 
> for job-88 = [ bc793db0-5b35-4996-b615-ca00dc6e3669 ]
> 2013-08-01 21:11:34,951 DEBUG [agent.manager.AgentManagerImpl] 
> (AgentManager-Handler-13:null) SeqA 3-1482: Processing Seq 3-1482:  { Cmd , 
> MgmtId: -1, via: 3, Ver: v1, Flags: 11, 
> [{"com.cloud.agent.api.ConsoleProxyLoadReportCommand":{"_proxyVmId":2,"_loadInfo":"{\n
>   \"connections\": []\n}","wait":0}}] }
> 2013-08-01 21:11:34,964 DEBUG [agent.manager.AgentManagerImpl] 
> (AgentManager-Handler-13:null) SeqA 3-1482: Sending Seq 3-1482:  { Ans: , 
> MgmtId: 7541090156566, via: 3, Ver: v1, Flags: 100010, 
> [{"com.cloud.agent.api.AgentControlAnswer":{"result":true,"wait":0}}] }
> 2013-08-01 21:11:39,951 DEBUG [agent.manager.AgentManagerImpl] 
> (AgentManager-Handler-15:null) SeqA 3-1483: Processing Seq 3-1483:  { Cmd , 
> MgmtId: -1, via: 3, Ver: v1, Flags: 11, 
> [{"com.cloud.agent.api.ConsoleProxyLoadReportCommand":{"_proxyVmId":2,"_loadInfo":"{\n
>   \"connections\": []\n}","wait":0}}] }
> 2013-08-01 21:11:39,963 DEBUG [agent.manager.AgentManagerImpl] 
> (AgentManager-Handler-15:null) SeqA 3-1483: Sending Seq 3-1483:  { Ans: , 
> MgmtId: 7541090156566, via: 3, Ver: v1, Flags: 100010, 
> [{"com.cloud.agent.api.AgentControlAnswer":{"result":true,"wait":0}}] }
> 2013-08-01 21:11:42,398 DEBUG [agent.manager.AgentManagerImpl] 
> (AgentManager-Handler-1:null) Ping from 2
> ) ===START===  10.101.255.7 -- GET  
> command=createTemplate&response=json&sessionkey=%2Ffgph8eXl%2BeIzsdyOBQZp9jAEBQ%3D&snapshotid=e5e9be89-ed31-423b-a8ce-21d3cfac7895&name=ttt&displayText=ttt&osTypeId=b7b4dab6-faa0-11e2-85e6-06dbcc000016&isPublic=true&passwordEnabled=false&isdynamicallyscalable=false&_=1375352485561
> 2013-08-01 21:15:56,916 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (catalina-exec-12:null) submit async job-90 = [ 
> 710f94db-ee6d-48a2-ae1a-3a07173e76df ], details: AsyncJobVO {id:90, userId: 
> 2, accountId: 2, sessionKey: null, instanceType: Template, instanceId: 204, 
> cmd: org.apache.cloudstack.api.command.user.template.CreateTemplateCmd, 
> cmdOriginator: null, cmdInfo: 
> {"sessionkey":"/fgph8eXl+eIzsdyOBQZp9jAEBQ\u003d","cmdEventType":"TEMPLATE.CREATE","ctxUserId":"2","httpmethod":"GET","osTypeId":"b7b4dab6-faa0-11e2-85e6-06dbcc000016","isPublic":"true","isdynamicallyscalable":"false","response":"json","id":"204","displayText":"ttt","snapshotid":"e5e9be89-ed31-423b-a8ce-21d3cfac7895","passwordEnabled":"false","name":"ttt","_":"1375352485561","ctxAccountId":"2","ctxStartEventId":"337"},
>  cmdVersion: 0, callbackType: 0, callbackAddress: null, status: 0, 
> processStatus: 0, resultCode: 0, result: null, initMsid: 7541090156566, 
> completeMsid: null, lastUpdated: null, lastPolled: null, created: null}
> 2013-08-01 21:15:56,920 DEBUG [cloud.api.ApiServlet] (catalina-exec-12:null) 
> ===END===  10.101.255.7 -- GET  
> command=createTemplate&response=json&sessionkey=%2Ffgph8eXl%2BeIzsdyOBQZp9jAEBQ%3D&snapshotid=e5e9be89-ed31-423b-a8ce-21d3cfac7895&name=ttt&displayText=ttt&osTypeId=b7b4dab6-faa0-11e2-85e6-06dbcc000016&isPublic=true&passwordEnabled=false&isdynamicallyscalable=false&_=1375352485561
> 2013-08-01 21:15:56,930 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (Job-Executor-90:job-90 = [ 710f94db-ee6d-48a2-ae1a-3a07173e76df ]) Executing 
> org.apache.cloudstack.api.command.user.template.CreateTemplateCmd for job-90 
> = [ 710f94db-ee6d-48a2-ae1a-3a07173e76df ]
> 2013-08-01 21:15:57,001 DEBUG [storage.image.TemplateDataFactoryImpl] 
> (Job-Executor-90:job-90 = [ 710f94db-ee6d-48a2-ae1a-3a07173e76df ]) template 
> 204 is already in store:1, type:Image
> 2013-08-01 21:15:57,128 DEBUG [storage.motion.AncientDataMotionStrategy] 
> (Job-Executor-90:job-90 = [ 710f94db-ee6d-48a2-ae1a-3a07173e76df ]) copyAsync 
> inspecting src type SNAPSHOT copyAsync inspecting dest type TEMPLATE
> 2013-08-01 21:15:57,135 DEBUG [storage.motion.AncientDataMotionStrategy] 
> (Job-Executor-90:job-90 = [ 710f94db-ee6d-48a2-ae1a-3a07173e76df ]) copy 
> failed
> java.lang.NullPointerException
>       at 
> org.apache.cloudstack.storage.volume.VolumeDataFactoryImpl.getVolume(VolumeDataFactoryImpl.java:78)
>       at 
> org.apache.cloudstack.storage.snapshot.SnapshotObject.getBaseVolume(SnapshotObject.java:121)
>       at 
> org.apache.cloudstack.storage.to.SnapshotObjectTO.<init>(SnapshotObjectTO.java:43)
>       at 
> org.apache.cloudstack.storage.snapshot.SnapshotObject.getTO(SnapshotObject.java:244)
>       at 
> org.apache.cloudstack.storage.motion.AncientDataMotionStrategy.needCacheStorage(AncientDataMotionStrategy.java:135)
>       at 
> org.apache.cloudstack.storage.motion.AncientDataMotionStrategy.createTemplateFromSnapshot(AncientDataMotionStrategy.java:409)
>       at 
> org.apache.cloudstack.storage.motion.AncientDataMotionStrategy.copyAsync(AncientDataMotionStrategy.java:371)
>       at 
> org.apache.cloudstack.storage.motion.DataMotionServiceImpl.copyAsync(DataMotionServiceImpl.java:55)
>       at 
> org.apache.cloudstack.storage.image.TemplateServiceImpl.copyAsync(TemplateServiceImpl.java:549)
>       at 
> org.apache.cloudstack.storage.image.TemplateServiceImpl.createTemplateFromSnapshotAsync(TemplateServiceImpl.java:556)
>       at 
> com.cloud.template.TemplateManagerImpl.createPrivateTemplate(TemplateManagerImpl.java:1358)
>       at 
> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>       at 
> org.apache.cloudstack.api.command.user.template.CreateTemplateCmd.execute(CreateTemplateCmd.java:263)
>       at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
>       at 
> com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:679)
> 2013-08-01 21:15:57,169 DEBUG [cloud.template.TemplateManagerImpl] 
> (Job-Executor-90:job-90 = [ 710f94db-ee6d-48a2-ae1a-3a07173e76df ]) Failed to 
> create templatejava.lang.NullPointerException
> 2013-08-01 21:15:57,275 ERROR [cloud.async.AsyncJobManagerImpl] 
> (Job-Executor-90:job-90 = [ 710f94db-ee6d-48a2-ae1a-3a07173e76df ]) 
> Unexpected exception while executing 
> org.apache.cloudstack.api.command.user.template.CreateTemplateCmd
> com.cloud.utils.exception.CloudRuntimeException: Failed to create 
> templatejava.lang.NullPointerException
>       at 
> com.cloud.template.TemplateManagerImpl.createPrivateTemplate(TemplateManagerImpl.java:1372)
>       at 
> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>       at 
> org.apache.cloudstack.api.command.user.template.CreateTemplateCmd.execute(CreateTemplateCmd.java:263)
>       at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
>       at 
> com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:679)
> 2013-08-01 21:15:57,280 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (Job-Executor-90:job-90 = [ 710f94db-ee6d-48a2-ae1a-3a07173e76df ]) Complete 
> async job-90 = [ 710f94db-ee6d-48a2-ae1a-3a07173e76df ], jobStatus: 2, 
> resultCode: 530, result: Error Code: 530 Error text: Failed to create 
> templatejava.lang.NullPointerException
> 2013-08-01 21:15:57,638 DEBUG [cloud.server.StatsCollector] 
> (StatsCollector-1:null) HostStatsCollector is running...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to