You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2016/04/04 08:27:58 UTC

[06/15] git commit: updated refs/heads/4.9-mvn-upgrade to 4c10aff

Merge pull request #1425 from nvazquez/listtemplates

CLOUDSTACK-9298: Improve performance of resource retrieval that have tags associated and target volumes, VMs and templatesJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9298

## Description of the problem
When retrieving a large number of resources which have tags associated with, retrieval methods took too long. Our goal is to improve performance of this methods avoiding query the database for each tag, managing that information in memory.
API methods to improve: <code>listTemplates</code>, <code>listVolumes</code>, <code>listVirtualMachines</code>

To achive it, it's necessary to include new columns in <code>template_view</code>, <code>volume_view</code> and <code>user_vm_view</code>:
* tag_account_name
* tag_domain_name
* tag_domain_uuid

* pr/1425:
  CLOUDSTACK-9298: Remove user definer from view creations
  CLOUDSTACK-9298: Add @MappedSuperClass support for persistence inheritance
  CLOUDSTACK-9298: Improve ListTemplatesCmd, ListVolumesCmd and ListVMsCmd performance

Signed-off-by: Will Stevens <wi...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/419f8fba
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/419f8fba
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/419f8fba

Branch: refs/heads/4.9-mvn-upgrade
Commit: 419f8fba63f1fbd46a05d717a9354aad842d6a20
Parents: 2456500 c19d8b4
Author: Will Stevens <wi...@gmail.com>
Authored: Thu Mar 31 22:24:36 2016 -0400
Committer: Will Stevens <wi...@gmail.com>
Committed: Thu Mar 31 22:24:36 2016 -0400

----------------------------------------------------------------------
 .../api/BaseResponseWithTagInformation.java     |  40 ++
 .../api/response/ResourceTagResponse.java       |   4 +
 .../api/response/TemplateResponse.java          |  13 +-
 .../cloudstack/api/response/UserVmResponse.java |  16 +-
 .../cloudstack/api/response/VolumeResponse.java |  20 +-
 .../db/src/com/cloud/utils/db/SqlGenerator.java |  11 +
 .../dao/GenericDaoBaseWithTagInformation.java   |  51 +++
 .../api/query/dao/TemplateJoinDaoImpl.java      |  13 +-
 .../cloud/api/query/dao/UserVmJoinDaoImpl.java  |  14 +-
 .../cloud/api/query/dao/VolumeJoinDaoImpl.java  |  14 +-
 .../query/vo/BaseViewWithTagInformationVO.java  | 183 +++++++++
 .../cloud/api/query/vo/ResourceTagJoinVO.java   |  52 +++
 .../com/cloud/api/query/vo/TemplateJoinVO.java  |  89 +----
 .../com/cloud/api/query/vo/UserVmJoinVO.java    |  84 +---
 .../com/cloud/api/query/vo/VolumeJoinVO.java    |  85 +---
 ...enericDaoBaseWithTagInformationBaseTest.java |  90 +++++
 .../api/query/dao/TemplateJoinDaoImplTest.java  |  50 +++
 .../api/query/dao/UserVmJoinDaoImplTest.java    |  50 +++
 .../api/query/dao/VolumeJoinDaoImplTest.java    |  50 +++
 setup/db/db/schema-481to490.sql                 | 389 +++++++++++++++++++
 20 files changed, 1003 insertions(+), 315 deletions(-)
----------------------------------------------------------------------