Uploaded image for project: 'CloudStack'
  1. CloudStack
  2. CLOUDSTACK-4665

ceph:delete volume fails with ArrayIndexOutOfBoundsException

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 4.2.0
    • 4.5.0
    • Management Server
    • Security Level: Public (Anyone can view this level - this is the default.)
    • None

    Description

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

      Attachments

        Issue Links

          Activity

            People

              widodh Wido den Hollander
              sadhu sadhu suresh
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Slack

                  Issue deployment