[ https://issues.apache.org/jira/browse/CLOUDSTACK-4665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13965385#comment-13965385 ]
ASF subversion and git services commented on CLOUDSTACK-4665: ------------------------------------------------------------- Commit aa9f29bd3f8d753fe2b6ccdba1f9a3718f54ca57 in cloudstack's branch refs/heads/4.3-forward from [~widodh] [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=aa9f29b ] CLOUDSTACK-4665: Check if a snapshot is protected before trying to unprotect Otherwise a RBDException will be thrown with the message that the snapshot isn't protected. modified: plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java Conflicts: plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java > ceph:delete volume fails with ArrayIndexOutOfBoundsException > ------------------------------------------------------------ > > Key: CLOUDSTACK-4665 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4665 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Management Server > Affects Versions: 4.2.0 > Reporter: sadhu suresh > Assignee: Wido den Hollander > Fix For: 4.5.0 > > > delete volume failed with exception and this leads to agent disconnect on > host side sometimes > steps: > 1.create diskoffering based on RBD based storage > 2.create data disk and attach to instance > 3.detach the data disk and delete the data volume > Actual result: > delete volume failed with exception. > and volume state is in expunge state. > Unsupported data object (VOLUME, > org.apache.cloudstack.storage.datastore.PrimaryDataStoreImpl@7ed5043e), no > need to delete from object in store ref table > Management log: > 55,085 DEBUG [agent.transport.Request] (AgentManager-Handler-10:null) Seq > 4-1926960794: Processing: { Ans: , MgmtId: 7175246184473, via: 4, Ver: v1, > Flags: 10, [{"com.cloud.agent.api.Answer":{"result":false,"details":"empty > String","wait":0}}] } > 2013-09-13 23:08:55,086 DEBUG [agent.transport.Request] > (StatsCollector-3:null) Seq 4-1926960794: Received: { Ans: , MgmtId: > 7175246184473, via: 4, Ver: v1, Flags: 10, { Answer } } > 2013-09-13 23:08:55,086 DEBUG [agent.manager.AgentManagerImpl] > (StatsCollector-3:null) Details from executing class > com.cloud.agent.api.GetHostStatsCommand: empty String > 2013-09-13 23:08:55,087 WARN [cloud.resource.ResourceManagerImpl] > (StatsCollector-3:null) Unable to obtain host 4 statistics. > 2013-09-13 23:08:55,087 WARN [cloud.server.StatsCollector] > (StatsCollector-3:null) Received invalid host stats for host: 4 > 2013-09-13 23:08:58,598 DEBUG [cloud.api.ApiServlet] (catalina-exec-20:null) > ===START=== 10.252.192.100 -- GET > command=listVolumes&response=json&sessionkey=DjciUSGRnKCBl6Oban7oUhZ9O2o%3D&listAll=true&page=1&pagesize=20&_=1379074592467 > 2013-09-13 23:08:58,619 DEBUG [cloud.api.ApiServlet] (catalina-exec-20:null) > ===END=== 10.252.192.100 -- GET > command=listVolumes&response=json&sessionkey=DjciUSGRnKCBl6Oban7oUhZ9O2o%3D&listAll=true&page=1&pagesize=20&_=1379074592467 > 2013-09-13 23:08:58,809 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-2:null) SeqA 2-13479: Processing Seq 2-13479: { Cmd , > MgmtId: -1, via: 2, Ver: v1, Flags: 11, > [{"com.cloud.agent.api.ConsoleProxyLoadReportCommand":{"_proxyVmId":2,"_loadInfo":"{\n > \"connections\": []\n}","wait":0}}] } > 2013-09-13 23:08:58,818 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-2:null) SeqA 2-13479: Sending Seq 2-13479: { Ans: , > MgmtId: 7175246184473, via: 2, Ver: v1, Flags: 100010, > [{"com.cloud.agent.api.AgentControlAnswer":{"result":true,"wait":0}}] } > 2013-09-13 23:09:01,031 DEBUG [cloud.api.ApiServlet] (catalina-exec-15:null) > ===START=== 10.252.192.100 -- GET > command=listVolumes&id=78601d43-4649-40bd-b6aa-86e46e427020&response=json&sessionkey=DjciUSGRnKCBl6Oban7oUhZ9O2o%3D&_=1379074594899 > 2013-09-13 23:09:01,071 DEBUG [cloud.api.ApiServlet] (catalina-exec-15:null) > ===END=== 10.252.192.100 -- GET > command=listVolumes&id=78601d43-4649-40bd-b6aa-86e46e427020&response=json&sessionkey=DjciUSGRnKCBl6Oban7oUhZ9O2o%3D&_=1379074594899 > 2013-09-13 23:09:01,269 DEBUG [cloud.api.ApiServlet] (catalina-exec-5:null) > ===START=== 10.252.192.100 -- GET > command=listTags&response=json&sessionkey=DjciUSGRnKCBl6Oban7oUhZ9O2o%3D&resourceId=78601d43-4649-40bd-b6aa-86e46e427020&resourceType=Volume&listAll=true&_=1379074595115 > 2013-09-13 23:09:01,278 DEBUG [cloud.api.ApiServlet] (catalina-exec-5:null) > ===END=== 10.252.192.100 -- GET > command=listTags&response=json&sessionkey=DjciUSGRnKCBl6Oban7oUhZ9O2o%3D&resourceId=78601d43-4649-40bd-b6aa-86e46e427020&resourceType=Volume&listAll=true&_=1379074595115 > 2013-09-13 23:09:01,804 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-15:null) Ping from 1 > 2013-09-13 23:09:04,308 DEBUG [cloud.api.ApiServlet] (catalina-exec-1:null) > ===START=== 10.252.192.100 -- GET > command=deleteVolume&id=78601d43-4649-40bd-b6aa-86e46e427020&response=json&sessionkey=DjciUSGRnKCBl6Oban7oUhZ9O2o%3D&_=1379074598164 > 2013-09-13 23:09:04,512 INFO [cloud.storage.VolumeManagerImpl] > (catalina-exec-1:null) Expunging volume 16 from primary data store > 2013-09-13 23:09:04,980 DEBUG [agent.transport.Request] > (catalina-exec-1:null) Seq 1-308871219: Sending { Cmd , MgmtId: > 7175246184473, via: 1, Ver: v1, Flags: 100011, > [{"org.apache.cloudstack.storage.command.DeleteCommand":{"data":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"78601d43-4649-40bd-b6aa-86e46e427020","volumeType":"DATADISK","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"2c19704e-55d4-31aa-b0e7-a52f1fffab9e","id":2,"poolType":"RBD","host":"10.147.41.3","path":"sadhu1","port":6789}},"name":"da1","size":5368709120,"path":"07bf47b1-d5da-429f-903a-53517cd0e0fd","volumeId":16,"accountId":2,"format":"QCOW2","id":16,"hypervisorType":"KVM"}},"wait":0}}] > } > 2013-09-13 23:09:05,136 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-13:null) Ping from 2 > 2013-09-13 23:09:05,291 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-11:null) Ping from 3 > @ > > @ > > @ > > 3 23:09:01,804 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-15:null) Ping from 1 > 2013-09-13 23:09:04,308 DEBUG [cloud.api.ApiServlet] (catalina-exec-1:null) > ===START=== 10.252.192.100 -- GET > command=deleteVolume&id=78601d43-4649-40bd-b6aa-86e46e427020&response=json&sessionkey=DjciUSGRnKCBl6Oban7oUhZ9O2o%3D&_=1379074598164 > 2013-09-13 23:09:04,512 INFO [cloud.storage.VolumeManagerImpl] > (catalina-exec-1:null) Expunging volume 16 from primary data store > 2013-09-13 23:09:04,980 DEBUG [agent.transport.Request] > (catalina-exec-1:null) Seq 1-308871219: Sending { Cmd , MgmtId: > 7175246184473, via: 1, Ver: v1, Flags: 100011, > [{"org.apache.cloudstack.storage.command.DeleteCommand":{"data":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"78601d43-4649-40bd-b6aa-86e46e427020","volumeType":"DATADISK","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"2c19704e-55d4-31aa-b0e7-a52f1fffab9e","id":2,"poolType":"RBD","host":"10.147.41.3","path":"sadhu1","port":6789}},"name":"da1","size":5368709120,"path":"07bf47b1-d5da-429f-903a-53517cd0e0fd","volumeId":16,"accountId":2,"format":"QCOW2","id":16,"hypervisorType":"KVM"}},"wait":0}}] > } > 2013-09-13 23:09:05,136 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-13:null) Ping from 2 > 2013-09-13 23:09:05,291 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-11:null) Ping from 3 > 2013-09-13 23:09:06,124 DEBUG [agent.transport.Request] > (AgentManager-Handler-7:null) Seq 1-308871219: Processing: { Ans: , MgmtId: > 7175246184473, via: 1, Ver: v1, Flags: 10, > [{"com.cloud.agent.api.Answer":{"result":false,"details":"java.lang.ArrayIndexOutOfBoundsException: > 0\n\tat com.sun.jna.Structure.toArray(Structure.java:1042)\n\tat > com.sun.jna.Structure.toArray(Structure.java:1065)\n\tat > com.ceph.rbd.RbdImage.snapList(Unknown Source)\n\tat > com.cloud.hypervisor.kvm.storage.LibvirtStorageAdaptor.deletePhysicalDisk(LibvirtStorageAdaptor.java:732)\n\tat > > com.cloud.hypervisor.kvm.storage.LibvirtStoragePool.deletePhysicalDisk(LibvirtStoragePool.java:158)\n\tat > > com.cloud.hypervisor.kvm.storage.KVMStorageProcessor.deleteVolume(KVMStorageProcessor.java:1129)\n\tat > > com.cloud.storage.resource.StorageSubsystemCommandHandlerBase.execute(StorageSubsystemCommandHandlerBase.java:114)\n\tat > > com.cloud.storage.resource.StorageSubsystemCommandHandlerBase.handleStorageCommands(StorageSubsystemCommandHandlerBase.java:53)\n\tat > > com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1286)\n\tat > com.cloud.agent.Agent.processRequest(Agent.java:525)\n\tat > com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:852)\n\tat > com.cloud.utils.nio.Task.run(Task.java:83)\n\tat > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)\n\tat > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\n\tat > java.lang.Thread.run(Thread.java:679)\n","wait":0}}] } > 2013-09-13 23:09:06,124 DEBUG [agent.transport.Request] > (catalina-exec-1:null) Seq 1-308871219: Received: { Ans: , MgmtId: > 7175246184473, via: 1, Ver: v1, Flags: 10, { Answer } } > 2013-09-13 23:09:06,142 WARN > [storage.datastore.ObjectInDataStoreManagerImpl] (catalina-exec-1:null) > Unsupported data object (VOLUME, > org.apache.cloudstack.storage.datastore.PrimaryDataStoreImpl@7ed5043e), no > need to delete from object in store ref table > 2013-09-13 23:09:06,162 DEBUG [cloud.api.ApiServlet] (catalina-exec-1:null) > ===END=== 10.252.192.100 -- GET > command=deleteVolume&id=78601d43-4649-40bd-b6aa-86e46e427020&response=json&sessionkey=DjciUSGRnKCBl6Oban7oUhZ9O2o%3D&_=1379074598164 > 2013-09-13 23:09:08,810 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-1:null) SeqA 2-13481: Processing Seq 2-13481: { Cmd , > MgmtId: -1, via: 2, Ver: v1, Flags: 11, > [{"com.cloud.agent.api.ConsoleProxyLoadReportCommand":{"_proxyVmId":2,"_loadInfo":"{\n > \"connections\": []\n}","wait":0}}] } > 2013-09-13 23:09:08,819 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-1:null) SeqA 2-13481: Sending Seq 2-13481: { Ans: , > MgmtId: 7175246184473, via: 2, Ver: v1, Flags: 100010, > [{"com.cloud.agent.api.AgentControlAnswer":{"result":true,"wait":0}}] } > 2013-09-13 23:09:11,733 DEBUG [storage.secondary.SecondaryStorageManagerImpl] > (secstorage-1:null) Zone 1 is ready to launch secondary storage VM > 2013-09-13 23:09:12,634 DEBUG [cloud.consoleproxy.ConsoleProxyManagerImpl] > (consoleproxy-1:null) Zone 1 is ready to launch console proxy > 2013-09-13 23:09:18,810 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-4:null) SeqA 2-13482: Processing Seq 2-13482: { Cmd , > MgmtId: -1, via: 2, Ver: v1, Flags: 11, > [{"com.cloud.agent.api.ConsoleProxyLoadReportCommand":{"_proxyVmId":2,"_loadInfo":"{\n > \"connections\": []\n}","wait":0}}] } > 2013-09-13 23:09:18,817 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-4:null) SeqA 2-13482: Sending Seq 2-13482: { Ans: , > MgmtId: 7175246184473, via: 2, Ver: v1, Flags: 100010, > [{"com.cloud.agent.api.AgentControlAnswer":{"result":true,"wait":0}}] } > 2013-09-13 23:09:23,810 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-14:null) SeqA 2-13483: Processing Seq 2-13483: { Cmd , > MgmtId: -1, via: 2, Ver: v1, Flags: 11, > [{"com.cloud.agent.api.ConsoleProxyLoadReportCommand":{"_proxyVmId":2,"_loadInfo":"{\n > \"connections\": []\n}","wait":0}}] @ > > > Agent log: > 2013-09-13 17:46:38,637 INFO [kvm.storage.LibvirtStorageAdaptor] > (agentRequest-Handler-2:null) Unprotecting and Removing RBD snapshots of > image 6789/07bf47b1-d5da-429f-903a-53517cd0e0fd prior to removing the image > 2013-09-13 17:46:38,800 WARN [cloud.agent.Agent] > (agentRequest-Handler-2:null) Caught: > java.lang.ArrayIndexOutOfBoundsException: 0 > at com.sun.jna.Structure.toArray(Structure.java:1042) > at com.sun.jna.Structure.toArray(Structure.java:1065) > at com.ceph.rbd.RbdImage.snapList(Unknown Source) > at > com.cloud.hypervisor.kvm.storage.LibvirtStorageAdaptor.deletePhysicalDisk(LibvirtStorageAdaptor.java:732) > at > com.cloud.hypervisor.kvm.storage.LibvirtStoragePool.deletePhysicalDisk(LibvirtStoragePool.java:158) > at > com.cloud.hypervisor.kvm.storage.KVMStorageProcessor.deleteVolume(KVMStorageProcessor.java:1129) > at > com.cloud.storage.resource.StorageSubsystemCommandHandlerBase.execute(StorageSubsystemCommandHandlerBase.java:114) > at > com.cloud.storage.resource.StorageSubsystemCommandHandlerBase.handleStorageCommands(StorageSubsystemCommandHandlerBase.java:53) > at > com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1286) > at com.cloud.agent.Agent.processRequest(Agent.java:525) > at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:852) > at com.cloud.utils.nio.Task.run(Task.java:83) > 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) > ~ -- This message was sent by Atlassian JIRA (v6.2#6252)