[ https://issues.apache.org/jira/browse/CLOUDSTACK-9570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15647740#comment-15647740 ]
ASF GitHub Bot commented on CLOUDSTACK-9570: -------------------------------------------- Github user nvazquez commented on a diff in the pull request: https://github.com/apache/cloudstack/pull/1735#discussion_r87001105 --- Diff: server/src/com/cloud/api/ApiResponseHelper.java --- @@ -526,16 +529,18 @@ public static DataStoreRole getDataStoreRole(Snapshot snapshot, SnapshotDataStor } long storagePoolId = snapshotStore.getDataStoreId(); - DataStore dataStore = dataStoreMgr.getDataStore(storagePoolId, DataStoreRole.Primary); + if (! snapshotStore.getState().equals(ObjectInDataStoreStateMachine.State.Destroyed)){ --- End diff -- Done, thanks @rhtyd > Bug in listSnapshots for snapshots with deleted data stores > ----------------------------------------------------------- > > Key: CLOUDSTACK-9570 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9570 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: API > Reporter: Nicolas Vazquez > Assignee: Nicolas Vazquez > > h3. Actual behaviour > If there is snapshot on a data store that is removed, {{listSnapshots}} still > tries to enumerate it and gives error (in this example data store 2 has been > removed): > {code:xml|title=/client/api?command=listSnapshots&isrecursive=true&listall=true|borderStyle=solid} > <listsnapshotsresponse cloud-stack-version="4.9.1.0-SNAPSHOT"> > <errorcode>530</errorcode> > <cserrorcode>4250</cserrorcode> > <errortext>Unable to locate datastore with id 2</errortext> > </listsnapshotsresponse> > {code} > h3. Reproduce error > This steps can be followed to reproduce issue: > * Take a snapshot of a volume (this creates a references for primary storage > and secondary storage in snapshot_store_ref table > * Simulate retiring primary data storage where snapshot is cached (in this > example X is a fake data store and Y is snapshot id): > {{UPDATE `cloud`.`snapshot_store_ref` SET `store_id`='X', `state`="Destroyed" > WHERE `id`='Y';}} > * List snapshots > {{/client/api?command=listSnapshots&isrecursive=true&listall=true}} -- This message was sent by Atlassian JIRA (v6.3.4#6332)