Sanjeev N created CLOUDSTACK-4112:
-------------------------------------

             Summary: [Object_store_refactor] Attaching uploaded volume fails 
with DB Exception on: com.mysql.jdbc.JDBC4PreparedStatement@53b69b6d:
                 Key: CLOUDSTACK-4112
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4112
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
          Components: Storage Controller, VMware, Volumes
    Affects Versions: 4.2.0
         Environment: Latest build from ACS 4.2 branch.
Storage: S3 for Secondary, NFS for secondarystaging, ISCSI for Primary
Cluster: VMWare
            Reporter: Sanjeev N
            Priority: Critical
             Fix For: 4.2.0
         Attachments: cloud.dmp, management-server.rar

[Object_store_refactor] Attaching uploaded volume fails with DB Exception on: 
com.mysql.jdbc.JDBC4PreparedStatement@53b69b6d: UPDATE volumes SET 
volumes.path=_binary'd093eb32a65a49e08e8237edac6772c9', volumes.pool_id=1, 
volumes.size=null WHERE volumes.id = 12

Steps to Reproduce:
=================
1.Bring up CS with VMWare cluster using S3 for Secondary, NFS for secondary 
staging and ISCSI for Primary storage.
2.Deploy guest vm using default cent os template
3.Upload volume using API:
http://10.147.59.126:8096/client/api?command=uploadVolume&format=OVA&name=cent53-upload&url=http://10.147.28.7/templates/vmware/CentOS5.3-x86_64.ova&zoneid=a7c59acd-1b2f-4f06-b50b-bd79e113c692&account=admin&domainid=1
4.Attach volume to guest vm

Result:
======
Attaching uploaded volume to guest vm is failing with DB Exception.

Observations:
==========
During attach volume process, uploaded volume was successfully copied from S3 
to staging secondary storage.  copyCmdAnswer result is true even for copying 
volume from staging secondary storage to primary storage.
However attaching volume failed with DB Exception.

Log snippet is as follows:

2013-08-06 08:06:48,905 DEBUG [cloud.async.AsyncJobManagerImpl] 
(catalina-exec-13:null) submit async job-27 = [ 
1a25a5ce-76b8-4dd4-be82-2723a91daff6 ], details: AsyncJobVO {id:27, userId: 2, 
accountId: 2, sessionKey: null, instanceType: Volume, instanceId: 12, cmd: 
org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd, cmdOriginator: 
null, cmdInfo: 
{"id":"3b18f8e5-e7e9-4658-9a85-a58275d1fbef","response":"json","sessionkey":"foQa9K4dPmYo8uEiAcolaTVR6yI\u003d","cmdEventType":"VOLUME.ATTACH","ctxUserId":"2","virtualMachineId":"e22af295-6429-4338-8a68-b6dba7753931","httpmethod":"GET","_":"1375790796785","ctxAccountId":"2","ctxStartEventId":"102"},
 cmdVersion: 0, callbackType: 0, callbackAddress: null, status: 0, 
processStatus: 0, resultCode: 0, result: null, initMsid: 6615759585382, 
completeMsid: null, lastUpdated: null, lastPolled: null, created: null}
2013-08-06 08:06:48,908 DEBUG [cloud.api.ApiServlet] (catalina-exec-13:null) 
===END===  10.146.0.20 -- GET  
command=attachVolume&id=3b18f8e5-e7e9-4658-9a85-a58275d1fbef&virtualMachineId=e22af295-6429-4338-8a68-b6dba7753931&response=json&sessionkey=foQa9K4dPmYo8uEiAcolaTVR6yI%3D&_=1375790796785
2013-08-06 08:06:48,912 DEBUG [cloud.async.AsyncJobManagerImpl] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Executing 
org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd for job-27 = [ 
1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]
2013-08-06 08:06:48,967 DEBUG [storage.allocator.LocalStoragePoolAllocator] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) 
LocalStoragePoolAllocator trying to find storage pool to fit the vm
2013-08-06 08:06:48,969 DEBUG 
[storage.allocator.ClusterScopeStoragePoolAllocator] (Job-Executor-28:job-27 = 
[ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) ClusterScopeStoragePoolAllocator 
looking for storage pool
2013-08-06 08:06:48,970 DEBUG 
[storage.allocator.ClusterScopeStoragePoolAllocator] (Job-Executor-28:job-27 = 
[ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Looking for pools in dc: 1  pod:1  
cluster:1
2013-08-06 08:06:48,976 DEBUG [storage.allocator.AbstractStoragePoolAllocator] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Checking if 
storage pool is suitable, name: null ,poolId: 1
2013-08-06 08:06:48,985 DEBUG [cloud.storage.StorageManagerImpl] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Checking 
pool 1 for storage, totalSize: 93952409600, usedBytes: 4970250240, usedPct: 
0.052901785714285714, disable threshold: 0.85
2013-08-06 08:06:48,999 DEBUG [cloud.storage.StorageManagerImpl] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Checking 
pool: 1 for volume allocation [Vol[12|vm=null|DATADISK]], maxSize : 
93952409600, totalAllocatedSize : 1769931776, askingSize : 459320832, allocated 
disable threshold: 0.85
2013-08-06 08:06:48,999 DEBUG 
[storage.allocator.ClusterScopeStoragePoolAllocator] (Job-Executor-28:job-27 = 
[ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) FirstFitStoragePoolAllocator 
returning 1 suitable storage pools
2013-08-06 08:06:49,033 DEBUG [storage.motion.AncientDataMotionStrategy] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) copyAsync 
inspecting src type VOLUME copyAsync inspecting dest type VOLUME
2013-08-06 08:06:49,043 DEBUG [storage.motion.AncientDataMotionStrategy] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) 
needCacheStorage true, dest at null dest role 
Primaryvolumes/2/12/CentOS5.3-x86_64.ova src role Image
2013-08-06 08:06:49,068 DEBUG [storage.motion.AncientDataMotionStrategy] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) copyAsync 
inspecting src type VOLUME copyAsync inspecting dest type VOLUME
2013-08-06 08:06:49,112 DEBUG [agent.transport.Request] (Job-Executor-28:job-27 
= [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Seq 3-1317535777: Sending  { Cmd , 
MgmtId: 6615759585382, via: 3, Ver: v1, Flags: 100011, 
[{"org.apache.cloudstack.storage.command.CopyCommand":{"srcTO":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"3b18f8e5-e7e9-4658-9a85-a58275d1fbef","volumeType":"DATADISK","dataStore":{"com.cloud.agent.api.to.S3TO":{"id":9,"uuid":"fc2025c3-0d27-4f54-a7e0-c39e4494420b","endPoint":"10.147.29.57:8080","bucketName":"imagestore","httpsFlag":false,"created":"Aug
 6, 2013 7:50:34 
AM","enableRRS":false}},"name":"cent53-upload","size":459320832,"path":"volumes/2/12/CentOS5.3-x86_64.ova","volumeId":12,"accountId":2,"format":"OVA","id":12,"hypervisorType":"None"}},"destTO":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"3b18f8e5-e7e9-4658-9a85-a58275d1fbef","volumeType":"DATADISK","dataStore":{"com.cloud.agent.api.to.NfsTO":{"_url":"nfs://10.147.28.7/export/home/sanjeev/sec_esx_os","_role":"ImageCache"}},"name":"cent53-upload","size":459320832,"path":"volumes/2/12","volumeId":12,"accountId":2,"format":"OVA","id":12,"hypervisorType":"None"}},"executeInSequence":false,"wait":10800}}]
 }
2013-08-06 08:07:16,725 DEBUG [agent.transport.Request] 
(AgentManager-Handler-8:null) Seq 3-1317535777: Processing:  { Ans: , MgmtId: 
6615759585382, via: 3, Ver: v1, Flags: 10, 
[{"org.apache.cloudstack.storage.command.CopyCmdAnswer":{"newData":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"name":"24998551-bab1-4b9c-864c-cdcc23b21a3c.ova","size":459320832,"path":"volumes/2/12/24998551-bab1-4b9c-864c-cdcc23b21a3c.ova","accountId":0,"id":0}},"result":true,"wait":0}}]
 }
2013-08-06 08:07:16,725 DEBUG [agent.transport.Request] (Job-Executor-28:job-27 
= [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Seq 3-1317535777: Received:  { Ans: 
, MgmtId: 6615759585382, via: 3, Ver: v1, Flags: 10, { CopyCmdAnswer } }
2013-08-06 08:07:16,780 DEBUG [agent.transport.Request] (Job-Executor-28:job-27 
= [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Seq 3-1317535778: Sending  { Cmd , 
MgmtId: 6615759585382, via: 3, Ver: v1, Flags: 100011, 
[{"org.apache.cloudstack.storage.command.CopyCommand":{"srcTO":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"3b18f8e5-e7e9-4658-9a85-a58275d1fbef","volumeType":"DATADISK","dataStore":{"com.cloud.agent.api.to.NfsTO":{"_url":"nfs://10.147.28.7/export/home/sanjeev/sec_esx_os","_role":"ImageCache"}},"name":"cent53-upload","size":459320832,"path":"volumes/2/12/24998551-bab1-4b9c-864c-cdcc23b21a3c.ova","volumeId":12,"accountId":2,"format":"OVA","id":12,"hypervisorType":"None"}},"destTO":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"3b18f8e5-e7e9-4658-9a85-a58275d1fbef","volumeType":"DATADISK","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"b845e7d4-562a-3b2d-8e59-b1df565f99e5","id":1,"poolType":"VMFS","host":"VMFS
 datastore: 
/sanjeev/openFiler","path":"/sanjeev/openFiler","port":0}},"name":"cent53-upload","size":459320832,"volumeId":12,"accountId":2,"format":"OVA","id":12,"hypervisorType":"None"}},"executeInSequence":false,"wait":10800}}]
 }
2013-08-06 08:09:24,002 DEBUG [agent.transport.Request] 
(AgentManager-Handler-14:null) Seq 3-1317535778: Processing:  { Ans: , MgmtId: 
6615759585382, via: 3, Ver: v1, Flags: 10, 
[{"org.apache.cloudstack.storage.command.CopyCmdAnswer":{"newData":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"path":"d093eb32a65a49e08e8237edac6772c9","accountId":0,"id":0}},"result":true,"wait":0}}]
 }
2013-08-06 08:09:24,002 DEBUG [agent.transport.Request] (Job-Executor-28:job-27 
= [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Seq 3-1317535778: Received:  { Ans: 
, MgmtId: 6615759585382, via: 3, Ver: v1, Flags: 10, { CopyCmdAnswer } }
2013-08-06 08:09:24,030 DEBUG [db.Transaction.Transaction] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Rolling 
back the transaction: Time = 2 Name =  
-AsyncJobManagerImpl$1.run:494-Executors$RunnableAdapter.call:471-FutureTask$Sync.innerRun:334-FutureTask.run:166-ThreadPoolExecutor.runWorker:1110-ThreadPoolExecutor$Worker.run:603-Thread.run:679;
 called by 
-Transaction.rollback:896-Transaction.removeUpTo:839-Transaction.close:663-TransactionContextBuilder.interceptException:63-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:133-GenericDaoBase.update:774-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:125-GenericDaoBase.update:1262-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:125-VolumeObject.processEvent:476-VolumeServiceImpl.copyVolumeFromImageToPrimaryCallback:689-NativeMethodAccessorImpl.invoke0:-2
2013-08-06 08:09:24,033 DEBUG [cloud.storage.VolumeManagerImpl] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) copy volume 
failed: com.cloud.utils.exception.CloudRuntimeException: DB Exception on: 
com.mysql.jdbc.JDBC4PreparedStatement@53b69b6d: UPDATE volumes SET 
volumes.path=_binary'd093eb32a65a49e08e8237edac6772c9', volumes.pool_id=1, 
volumes.size=null WHERE volumes.id = 12
2013-08-06 08:09:24,042 ERROR [cloud.async.AsyncJobManagerImpl] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Unexpected 
exception while executing 
org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd
com.cloud.utils.exception.CloudRuntimeException: copy volume failed: 
com.cloud.utils.exception.CloudRuntimeException: DB Exception on: 
com.mysql.jdbc.JDBC4PreparedStatement@53b69b6d: UPDATE volumes SET 
volumes.path=_binary'd093eb32a65a49e08e8237edac6772c9', volumes.pool_id=1, 
volumes.size=null WHERE volumes.id = 12
        at 
com.cloud.storage.VolumeManagerImpl.copyVolumeFromSecToPrimary(VolumeManagerImpl.java:634)
        at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
        at 
com.cloud.storage.VolumeManagerImpl.copyVolume(VolumeManagerImpl.java:1501)
        at 
com.cloud.storage.VolumeManagerImpl.createVolumeOnPrimaryStorage(VolumeManagerImpl.java:1532)
        at 
com.cloud.storage.VolumeManagerImpl.attachVolumeToVM(VolumeManagerImpl.java:1829)
        at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
        at 
org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd.execute(AttachVolumeCmd.java:122)
        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-06 08:09:24,046 DEBUG [cloud.async.AsyncJobManagerImpl] 
(Job-Executor-28:job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ]) Complete 
async job-27 = [ 1a25a5ce-76b8-4dd4-be82-2723a91daff6 ], jobStatus: 2, 
resultCode: 530, result: Error Code: 530 Error text: copy volume failed: 
com.cloud.utils.exception.CloudRuntimeException: DB Exception on: 
com.mysql.jdbc.JDBC4PreparedStatement@53b69b6d: UPDATE volumes SET 
volumes.path=_binary'd093eb32a65a49e08e8237edac6772c9', volumes.pool_id=1, 
volumes.size=null WHERE volumes.id = 12

In volumes table state remains in "Copying" state for this volume.

Attaching management server log file and cloud DB.


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