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

Koushik Das commented on CLOUDSTACK-4136:
-----------------------------------------

The code has some issue and I have fixed that.
Also as can be seen from the db dumps before and after upgrade the 
'snapshot_store_ref' table is not appropriately populated from entries in the 
'snapshots' table. I looked at the Upgrade410to420.java upgrade logic and based 
on that the following should have run and populated the snapshot_store_ref. 
Please upload the management server logs as well during upgrade.

INSERT INTO `cloud`.`snapshot_store_ref` (store_id,  snapshot_id, created, 
size, parent_snapshot_id, install_path, volume_id, update_count, ref_cnt, 
store_role, state) select sechost_id, id, created, size, prev_snap_id, 
CONCAT('snapshots', '/', account_id, '/', volume_id, '/', backup_snap_id), 
volume_id, 0, 0, 'Image', 'Ready' from `cloud`.`snapshots` where status = 
'BackedUp' and sechost_id is not null and removed is null;

 
                
> [upgraded ENV]Deleting Snapshot which was created before upgrade is throwing 
> NPE.
> ---------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-4136
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4136
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Storage Controller, Upgrade
>    Affects Versions: 4.2.0
>         Environment: upgraded from 3.0.7 to 4.2
>            Reporter: manasaveloori
>            Assignee: Koushik Das
>            Priority: Critical
>             Fix For: 4.2.0
>
>         Attachments: management-server.log.2013-08-06.zip, 
> management-server.zip, mysqldumpAfterUpnew.dmp, mysqldumpBeforeUp.dmp
>
>
> Steps:
> 1.    Have CS with 3.0.7 build with VMware and Xen hypervisor.
> 2.    Deploy a VM.
> 3.    Create a snapshot of root volume.
> 4.    Upgrade the build to 4.2.
> 5.    Try to delete the snapshot now.
> Observing NPE while deleting the snapshot for the 1st time
> Tried to delete the same snapshot again deletes it. Verified the state of 
> snapshot in DB also.
> 2013-08-07 20:29:19,535 DEBUG [cloud.api.ApiServlet] (catalina-exec-1:null) 
> ===END===  10.252.192.69 -- GET  
> command=deleteSnapshot&id=acf6d258-99fa-4832-8499-a81a631627ce&response=json&sessionkey=uKcUJCauPB9Gj8yRMfQdmpPpTAE%3D&_=1375868166341
> 2013-08-07 20:29:19,539 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (Job-Executor-43:job-215 = [ 055cd377-272a-4ee6-a9c9-5b57fbbf6536 ]) 
> Executing org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd 
> for job-215 = [ 055cd377-272a-4ee6-a9c9-5b57fbbf6536 ]
> 2013-08-07 20:29:19,573 DEBUG [storage.snapshot.XenserverSnapshotStrategy] 
> (Job-Executor-43:job-215 = [ 055cd377-272a-4ee6-a9c9-5b57fbbf6536 ]) Can't 
> find snapshot on backup storage, delete it in db
> 2013-08-07 20:29:19,582 DEBUG [storage.snapshot.SnapshotManagerImpl] 
> (Job-Executor-43:job-215 = [ 055cd377-272a-4ee6-a9c9-5b57fbbf6536 ]) Failed 
> to delete snapshot: 1:java.lang.NullPointerException
> 2013-08-07 20:29:19,596 ERROR [cloud.async.AsyncJobManagerImpl] 
> (Job-Executor-43:job-215 = [ 055cd377-272a-4ee6-a9c9-5b57fbbf6536 ]) 
> Unexpected exception while executing 
> org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd
> com.cloud.utils.exception.CloudRuntimeException: Failed to delete 
> snapshot:java.lang.NullPointerException
>         at 
> com.cloud.storage.snapshot.SnapshotManagerImpl.deleteSnapshot(SnapshotManagerImpl.java:508)
>         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:1110)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:679)
> 2013-08-07 20:29:19,600 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (Job-Executor-43:job-215 = [ 055cd377-272a-4ee6-a9c9-5b57fbbf6536 ]) Complete 
> async job-215 = [ 055cd377-272a-4ee6-a9c9-5b57fbbf6536 ], jobStatus: 2, 
> resultCode: 530, result: Error Code: 530 Error text: Failed to delete 
> snapshot:java.lang.NullPointerException
> 2013-08-07 20:29:20,718 DEBUG [cloud.server.StatsCollector] 
> (StatsCollector-2:null) VmStatsCollector is running...
> Attaching the MS logs.

--
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