You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by GitBox <gi...@apache.org> on 2022/09/19 21:23:11 UTC
[GitHub] [cloudstack] GutoVeronezi opened a new pull request, #6751: Refactor SnapshotDataStoreDaoImpl
GutoVeronezi opened a new pull request, #6751:
URL: https://github.com/apache/cloudstack/pull/6751
### Description
PR #5909 is moving class `SnapshotDataStoreDaoImpl` to another package. Sonarcloud identified it as changes in every line of the file, reporting several code smells. As for the PR context it is only necessary to move the class to another package, I created this PR to address the code smells and also refactor some methods of the class.
### Types of changes
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] Enhancement (improves an existing feature and functionality)
- [ ] Cleanup (Code refactoring and cleanup, that may add test cases)
### Feature/Enhancement Scale or Bug Severity
#### Feature/Enhancement Scale
- [ ] Major
- [x] Minor
### How Has This Been Tested?
I created unit tests for the methods.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264129427
UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6751 (SL-JID-2451)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264130570
UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6751 (SL-JID-2453)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] DaanHoogland commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
DaanHoogland commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1253452577
@blueorangutan package
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1253535258
<b>Trillian Build Failed (tid-4952)<b/>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1252424771
<b>Trillian Build Failed (tid-4936)<b/>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] GutoVeronezi commented on a diff in pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
GutoVeronezi commented on code in PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#discussion_r975554351
##########
framework/db/src/test/java/com/cloud/utils/db/GenericSearchBuilderTest.java:
##########
@@ -0,0 +1,54 @@
+package com.cloud.utils.db;
Review Comment:
Thanks, @DaanHoogland.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] sonarcloud[bot] commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
sonarcloud[bot] commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1252636443
SonarCloud Quality Gate failed. [![Quality Gate failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/failed-16px.png 'Quality Gate failed')](https://sonarcloud.io/dashboard?id=apache_cloudstack&pullRequest=6751)
[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG)
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY)
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT)
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL)
[![6.7%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/0-16px.png '6.7%')](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_coverage&view=list) [6.7% Coverage](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_coverage&view=list)
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_duplicated_lines_density&view=list)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1252249852
@GutoVeronezi a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1252401295
@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] DaanHoogland commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
DaanHoogland commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1272113843
@blueorangutan test
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1265377341
@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1272298700
<b>Trillian test result (tid-5081)</b>
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 47902 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6751-t5081-kvm-centos7.zip
Smoke tests completed. 102 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:
Test | Result | Time (s) | Test File
--- | --- | --- | ---
test_02_upgrade_kubernetes_cluster | `Failure` | 482.17 | test_kubernetes_clusters.py
test_08_upgrade_kubernetes_ha_cluster | `Failure` | 804.75 | test_kubernetes_clusters.py
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] DaanHoogland commented on a diff in pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
DaanHoogland commented on code in PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#discussion_r992219338
##########
engine/storage/src/main/java/org/apache/cloudstack/storage/image/db/SnapshotDataStoreDaoImpl.java:
##########
@@ -45,130 +45,84 @@
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
-import com.cloud.utils.db.SearchCriteria.Op;
import com.cloud.utils.db.TransactionLegacy;
import com.cloud.utils.db.UpdateBuilder;
@Component
public class SnapshotDataStoreDaoImpl extends GenericDaoBase<SnapshotDataStoreVO, Long> implements SnapshotDataStoreDao {
private static final Logger s_logger = Logger.getLogger(SnapshotDataStoreDaoImpl.class);
- private SearchBuilder<SnapshotDataStoreVO> updateStateSearch;
- private SearchBuilder<SnapshotDataStoreVO> storeSearch;
- private SearchBuilder<SnapshotDataStoreVO> storeStateSearch;
- private SearchBuilder<SnapshotDataStoreVO> destroyedSearch;
- private SearchBuilder<SnapshotDataStoreVO> cacheSearch;
- private SearchBuilder<SnapshotDataStoreVO> storeSnapshotSearch;
- private SearchBuilder<SnapshotDataStoreVO> snapshotIdSearch;
- private SearchBuilder<SnapshotDataStoreVO> volumeIdSearch;
- private SearchBuilder<SnapshotDataStoreVO> volumeIdAndStateReadySearch;
- private SearchBuilder<SnapshotDataStoreVO> volumeSearch;
+ private static final String STORE_ID = "store_id";
+ private static final String STORE_ROLE = "store_role";
+ private static final String STATE = "state";
+ private static final String REF_CNT = "ref_cnt";
+ private static final String ID = "id";
+ private static final String UPDATED_COUNT = "updatedCount";
+ private static final String SNAPSHOT_ID = "snapshot_id";
+ private static final String VOLUME_ID = "volume_id";
+ private static final String CREATED = "created";
+ private SearchBuilder<SnapshotDataStoreVO> searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq;
+ protected SearchBuilder<SnapshotDataStoreVO> searchFilteringStoreIdEqStateEqStoreRoleEqIdEqUpdateCountEqSnapshotIdEqVolumeIdEq;
Review Comment:
impresive names ;)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1253533951
<b>Trillian Build Failed (tid-4950)<b/>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] DaanHoogland commented on a diff in pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
DaanHoogland commented on code in PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#discussion_r975403886
##########
framework/db/src/test/java/com/cloud/utils/db/GenericSearchBuilderTest.java:
##########
@@ -0,0 +1,54 @@
+package com.cloud.utils.db;
Review Comment:
```suggestion
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.utils.db;
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1253453661
@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264674827
Packaging result: :heavy_multiplication_x: el7 :heavy_multiplication_x: el8 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 4331
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] DaanHoogland commented on a diff in pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
DaanHoogland commented on code in PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#discussion_r985384073
##########
engine/storage/src/main/java/org/apache/cloudstack/storage/image/db/SnapshotDataStoreDaoImpl.java:
##########
@@ -45,130 +45,84 @@
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
-import com.cloud.utils.db.SearchCriteria.Op;
import com.cloud.utils.db.TransactionLegacy;
import com.cloud.utils.db.UpdateBuilder;
@Component
public class SnapshotDataStoreDaoImpl extends GenericDaoBase<SnapshotDataStoreVO, Long> implements SnapshotDataStoreDao {
private static final Logger s_logger = Logger.getLogger(SnapshotDataStoreDaoImpl.class);
- private SearchBuilder<SnapshotDataStoreVO> updateStateSearch;
- private SearchBuilder<SnapshotDataStoreVO> storeSearch;
- private SearchBuilder<SnapshotDataStoreVO> storeStateSearch;
- private SearchBuilder<SnapshotDataStoreVO> destroyedSearch;
- private SearchBuilder<SnapshotDataStoreVO> cacheSearch;
- private SearchBuilder<SnapshotDataStoreVO> storeSnapshotSearch;
- private SearchBuilder<SnapshotDataStoreVO> snapshotIdSearch;
- private SearchBuilder<SnapshotDataStoreVO> volumeIdSearch;
- private SearchBuilder<SnapshotDataStoreVO> volumeIdAndStateReadySearch;
- private SearchBuilder<SnapshotDataStoreVO> volumeSearch;
+ private static final String STORE_ID = "store_id";
+ private static final String STORE_ROLE = "store_role";
+ private static final String STATE = "state";
+ private static final String REF_CNT = "ref_cnt";
+ private static final String ID = "id";
+ private static final String UPDATED_COUNT = "updatedCount";
+ private static final String SNAPSHOT_ID = "snapshot_id";
+ private static final String VOLUME_ID = "volume_id";
+ private static final String CREATED = "created";
+ private SearchBuilder<SnapshotDataStoreVO> searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq;
+ private SearchBuilder<SnapshotDataStoreVO> searchFilteringStoreIdEqStateEqStoreRoleEqIdEqUpdateCountEqSnapshotIdEqVolumeIdEq;
private SearchBuilder<SnapshotDataStoreVO> stateSearch;
- private SearchBuilder<SnapshotDataStoreVO> parentSnapshotSearch;
- private SearchBuilder<SnapshotVO> snapshotVOSearch;
+ protected SearchBuilder<SnapshotVO> snapshotVOSearch;
private SearchBuilder<SnapshotDataStoreVO> snapshotCreatedSearch;
- protected SearchBuilder<SnapshotDataStoreVO> snapshotSearch;
- public static ArrayList<Hypervisor.HypervisorType> hypervisorsSupportingSnapshotsChaining = new ArrayList<Hypervisor.HypervisorType>();
+ protected static final List<Hypervisor.HypervisorType> HYPERVISORS_SUPPORTING_SNAPSHOTS_CHAINING = List.of(Hypervisor.HypervisorType.XenServer);
@Inject
- private SnapshotDao _snapshotDao;
+ protected SnapshotDao snapshotDao;
- private final String findLatestSnapshot = "select store_id, store_role, snapshot_id from cloud.snapshot_store_ref where " +
+ private static final String FIND_OLDEST_OR_LATEST_SNAPSHOT = "select store_id, store_role, snapshot_id from cloud.snapshot_store_ref where " +
" store_role = ? and volume_id = ? and state = 'Ready'" +
- " order by created DESC " +
- " limit 1";
- private final String findOldestSnapshot = "select store_id, store_role, snapshot_id from cloud.snapshot_store_ref where " +
- " store_role = ? and volume_id = ? and state = 'Ready'" +
- " order by created ASC " +
+ " order by created %s " +
" limit 1";
@Override
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
super.configure(name, params);
- // Note that snapshot_store_ref stores snapshots on primary as well as
- // those on secondary, so we need to
- // use (store_id, store_role) to search
- storeSearch = createSearchBuilder();
- storeSearch.and("store_id", storeSearch.entity().getDataStoreId(), SearchCriteria.Op.EQ);
- storeSearch.and("store_role", storeSearch.entity().getRole(), SearchCriteria.Op.EQ);
- storeSearch.and("state", storeSearch.entity().getState(), SearchCriteria.Op.NEQ);
- storeSearch.done();
-
- storeStateSearch = createSearchBuilder();
- storeStateSearch.and("store_id", storeStateSearch.entity().getDataStoreId(), SearchCriteria.Op.EQ);
- storeStateSearch.and("state", storeStateSearch.entity().getState(), SearchCriteria.Op.EQ);
- storeStateSearch.done();
-
- destroyedSearch = createSearchBuilder();
- destroyedSearch.and("store_id", destroyedSearch.entity().getDataStoreId(), SearchCriteria.Op.EQ);
- destroyedSearch.and("store_role", destroyedSearch.entity().getRole(), SearchCriteria.Op.EQ);
- destroyedSearch.and("state", destroyedSearch.entity().getState(), SearchCriteria.Op.EQ);
- destroyedSearch.done();
-
- cacheSearch = createSearchBuilder();
- cacheSearch.and("store_id", cacheSearch.entity().getDataStoreId(), SearchCriteria.Op.EQ);
- cacheSearch.and("store_role", cacheSearch.entity().getRole(), SearchCriteria.Op.EQ);
- cacheSearch.and("state", cacheSearch.entity().getState(), SearchCriteria.Op.NEQ);
- cacheSearch.and("ref_cnt", cacheSearch.entity().getRefCnt(), SearchCriteria.Op.NEQ);
- cacheSearch.done();
-
- updateStateSearch = this.createSearchBuilder();
- updateStateSearch.and("id", updateStateSearch.entity().getId(), Op.EQ);
- updateStateSearch.and("state", updateStateSearch.entity().getState(), Op.EQ);
- updateStateSearch.and("updatedCount", updateStateSearch.entity().getUpdatedCount(), Op.EQ);
- updateStateSearch.done();
-
- snapshotSearch = createSearchBuilder();
- snapshotSearch.and("snapshot_id", snapshotSearch.entity().getSnapshotId(), SearchCriteria.Op.EQ);
- snapshotSearch.and("store_role", snapshotSearch.entity().getRole(), SearchCriteria.Op.EQ);
- snapshotSearch.and("state", snapshotSearch.entity().getState(), SearchCriteria.Op.EQ);
- snapshotSearch.done();
-
- storeSnapshotSearch = createSearchBuilder();
- storeSnapshotSearch.and("snapshot_id", storeSnapshotSearch.entity().getSnapshotId(), SearchCriteria.Op.EQ);
- storeSnapshotSearch.and("store_id", storeSnapshotSearch.entity().getDataStoreId(), SearchCriteria.Op.EQ);
- storeSnapshotSearch.and("store_role", storeSnapshotSearch.entity().getRole(), SearchCriteria.Op.EQ);
- storeSnapshotSearch.and("state", storeSnapshotSearch.entity().getState(), SearchCriteria.Op.EQ);
- storeSnapshotSearch.done();
-
- snapshotIdSearch = createSearchBuilder();
- snapshotIdSearch.and("snapshot_id", snapshotIdSearch.entity().getSnapshotId(), SearchCriteria.Op.EQ);
- snapshotIdSearch.done();
-
- volumeIdSearch = createSearchBuilder();
- volumeIdSearch.and("volume_id", volumeIdSearch.entity().getVolumeId(), SearchCriteria.Op.EQ);
- volumeIdSearch.done();
-
- volumeSearch = createSearchBuilder();
- volumeSearch.and("volume_id", volumeSearch.entity().getVolumeId(), SearchCriteria.Op.EQ);
- volumeSearch.and("store_role", volumeSearch.entity().getRole(), SearchCriteria.Op.EQ);
- volumeSearch.and("snapshot_id", volumeSearch.entity().getSnapshotId(), SearchCriteria.Op.EQ);
- volumeSearch.done();
-
- volumeIdAndStateReadySearch = createSearchBuilder();
- volumeIdAndStateReadySearch.and("volume_id", volumeIdAndStateReadySearch.entity().getVolumeId(), SearchCriteria.Op.EQ);
- volumeIdAndStateReadySearch.and("state", volumeIdAndStateReadySearch.entity().getState(), SearchCriteria.Op.EQ);
- volumeIdAndStateReadySearch.done();
+ searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq = createSearchBuilder();
+ searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.and(STORE_ID, searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.entity().getDataStoreId(), SearchCriteria.Op.EQ);
+ searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.and(STORE_ROLE, searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.entity().getRole(), SearchCriteria.Op.EQ);
+ searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.and(STATE, searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.entity().getState(), SearchCriteria.Op.NEQ);
+ searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.and(REF_CNT searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.entity().getRefCnt(), SearchCriteria.Op.NEQ);
Review Comment:
```suggestion
searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.and(REF_CNT, searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.entity().getRefCnt(), SearchCriteria.Op.NEQ);
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] GutoVeronezi commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
GutoVeronezi commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1265685538
@blueorangutan package
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1252311939
Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4222
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264664811
@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1265686501
@GutoVeronezi a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1265752353
Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4345
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] acs-robot commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
acs-robot commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264127835
Found UI changes, kicking a new UI QA build
@blueorangutan ui
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] acs-robot commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
acs-robot commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264126957
Found UI changes, kicking a new UI QA build
@blueorangutan ui
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264128129
@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] DaanHoogland merged pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
DaanHoogland merged PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] sonarcloud[bot] commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
sonarcloud[bot] commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1252707499
SonarCloud Quality Gate failed. [![Quality Gate failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/failed-16px.png 'Quality Gate failed')](https://sonarcloud.io/dashboard?id=apache_cloudstack&pullRequest=6751)
[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG)
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY)
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT)
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL)
[![6.7%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/0-16px.png '6.7%')](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_coverage&view=list) [6.7% Coverage](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_coverage&view=list)
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_duplicated_lines_density&view=list)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1253517560
@DaanHoogland a Trillian-Jenkins matrix job (centos7 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1253534429
<b>Trillian Build Failed (tid-4951)<b/>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] sonarcloud[bot] commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
sonarcloud[bot] commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1251756552
SonarCloud Quality Gate failed. [![Quality Gate failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/failed-16px.png 'Quality Gate failed')](https://sonarcloud.io/dashboard?id=apache_cloudstack&pullRequest=6751)
[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG)
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY)
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT)
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL)
[![6.7%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/0-16px.png '6.7%')](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_coverage&view=list) [6.7% Coverage](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_coverage&view=list)
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_duplicated_lines_density&view=list)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1253509653
Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4232
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] codecov[bot] commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
codecov[bot] commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1251657906
# [Codecov](https://codecov.io/gh/apache/cloudstack/pull/6751?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
> Merging [#6751](https://codecov.io/gh/apache/cloudstack/pull/6751?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (a171984) into [main](https://codecov.io/gh/apache/cloudstack/commit/bbc126057674a6cda047c2ea941d09af5c0e14a6?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (bbc1260) will **increase** coverage by `0.00%`.
> The diff coverage is `4.34%`.
```diff
@@ Coverage Diff @@
## main #6751 +/- ##
=========================================
Coverage 10.42% 10.42%
- Complexity 6701 6707 +6
=========================================
Files 2458 2458
Lines 243246 243191 -55
Branches 38067 38065 -2
=========================================
+ Hits 25358 25362 +4
+ Misses 214714 214654 -60
- Partials 3174 3175 +1
```
| [Impacted Files](https://codecov.io/gh/apache/cloudstack/pull/6751?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
|---|---|---|
| [...ack/storage/image/db/SnapshotDataStoreDaoImpl.java](https://codecov.io/gh/apache/cloudstack/pull/6751/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZW5naW5lL3N0b3JhZ2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svc3RvcmFnZS9pbWFnZS9kYi9TbmFwc2hvdERhdGFTdG9yZURhb0ltcGwuamF2YQ==) | `5.20% <4.34%> (+0.93%)` | :arrow_up: |
| [...dstack/network/contrail/model/ModelObjectBase.java](https://codecov.io/gh/apache/cloudstack/pull/6751/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGx1Z2lucy9uZXR3b3JrLWVsZW1lbnRzL2p1bmlwZXItY29udHJhaWwvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svbmV0d29yay9jb250cmFpbC9tb2RlbC9Nb2RlbE9iamVjdEJhc2UuamF2YQ==) | `28.84% <0.00%> (+7.69%)` | :arrow_up: |
:mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264127372
@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264130000
UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6751 (SL-JID-2452)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] acs-robot commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
acs-robot commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264128461
Found UI changes, kicking a new UI QA build
@blueorangutan ui
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1265494005
Packaging result: :heavy_multiplication_x: el7 :heavy_multiplication_x: el8 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 4343
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] DaanHoogland commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
DaanHoogland commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1253516595
@blueorangutan test matrix
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264128809
@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] GutoVeronezi commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
GutoVeronezi commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1252249026
@blueorangutan package
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1252456751
<b>Trillian Build Failed (tid-4937)<b/>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] DaanHoogland commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
DaanHoogland commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1252399450
@blueorangutan test
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] GutoVeronezi commented on a diff in pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
GutoVeronezi commented on code in PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#discussion_r985707022
##########
engine/storage/src/main/java/org/apache/cloudstack/storage/image/db/SnapshotDataStoreDaoImpl.java:
##########
@@ -45,130 +45,84 @@
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
-import com.cloud.utils.db.SearchCriteria.Op;
import com.cloud.utils.db.TransactionLegacy;
import com.cloud.utils.db.UpdateBuilder;
@Component
public class SnapshotDataStoreDaoImpl extends GenericDaoBase<SnapshotDataStoreVO, Long> implements SnapshotDataStoreDao {
private static final Logger s_logger = Logger.getLogger(SnapshotDataStoreDaoImpl.class);
- private SearchBuilder<SnapshotDataStoreVO> updateStateSearch;
- private SearchBuilder<SnapshotDataStoreVO> storeSearch;
- private SearchBuilder<SnapshotDataStoreVO> storeStateSearch;
- private SearchBuilder<SnapshotDataStoreVO> destroyedSearch;
- private SearchBuilder<SnapshotDataStoreVO> cacheSearch;
- private SearchBuilder<SnapshotDataStoreVO> storeSnapshotSearch;
- private SearchBuilder<SnapshotDataStoreVO> snapshotIdSearch;
- private SearchBuilder<SnapshotDataStoreVO> volumeIdSearch;
- private SearchBuilder<SnapshotDataStoreVO> volumeIdAndStateReadySearch;
- private SearchBuilder<SnapshotDataStoreVO> volumeSearch;
+ private static final String STORE_ID = "store_id";
+ private static final String STORE_ROLE = "store_role";
+ private static final String STATE = "state";
+ private static final String REF_CNT = "ref_cnt";
+ private static final String ID = "id";
+ private static final String UPDATED_COUNT = "updatedCount";
+ private static final String SNAPSHOT_ID = "snapshot_id";
+ private static final String VOLUME_ID = "volume_id";
+ private static final String CREATED = "created";
+ private SearchBuilder<SnapshotDataStoreVO> searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq;
+ private SearchBuilder<SnapshotDataStoreVO> searchFilteringStoreIdEqStateEqStoreRoleEqIdEqUpdateCountEqSnapshotIdEqVolumeIdEq;
private SearchBuilder<SnapshotDataStoreVO> stateSearch;
- private SearchBuilder<SnapshotDataStoreVO> parentSnapshotSearch;
- private SearchBuilder<SnapshotVO> snapshotVOSearch;
+ protected SearchBuilder<SnapshotVO> snapshotVOSearch;
private SearchBuilder<SnapshotDataStoreVO> snapshotCreatedSearch;
- protected SearchBuilder<SnapshotDataStoreVO> snapshotSearch;
- public static ArrayList<Hypervisor.HypervisorType> hypervisorsSupportingSnapshotsChaining = new ArrayList<Hypervisor.HypervisorType>();
+ protected static final List<Hypervisor.HypervisorType> HYPERVISORS_SUPPORTING_SNAPSHOTS_CHAINING = List.of(Hypervisor.HypervisorType.XenServer);
@Inject
- private SnapshotDao _snapshotDao;
+ protected SnapshotDao snapshotDao;
- private final String findLatestSnapshot = "select store_id, store_role, snapshot_id from cloud.snapshot_store_ref where " +
+ private static final String FIND_OLDEST_OR_LATEST_SNAPSHOT = "select store_id, store_role, snapshot_id from cloud.snapshot_store_ref where " +
" store_role = ? and volume_id = ? and state = 'Ready'" +
- " order by created DESC " +
- " limit 1";
- private final String findOldestSnapshot = "select store_id, store_role, snapshot_id from cloud.snapshot_store_ref where " +
- " store_role = ? and volume_id = ? and state = 'Ready'" +
- " order by created ASC " +
+ " order by created %s " +
" limit 1";
@Override
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
super.configure(name, params);
- // Note that snapshot_store_ref stores snapshots on primary as well as
- // those on secondary, so we need to
- // use (store_id, store_role) to search
- storeSearch = createSearchBuilder();
- storeSearch.and("store_id", storeSearch.entity().getDataStoreId(), SearchCriteria.Op.EQ);
- storeSearch.and("store_role", storeSearch.entity().getRole(), SearchCriteria.Op.EQ);
- storeSearch.and("state", storeSearch.entity().getState(), SearchCriteria.Op.NEQ);
- storeSearch.done();
-
- storeStateSearch = createSearchBuilder();
- storeStateSearch.and("store_id", storeStateSearch.entity().getDataStoreId(), SearchCriteria.Op.EQ);
- storeStateSearch.and("state", storeStateSearch.entity().getState(), SearchCriteria.Op.EQ);
- storeStateSearch.done();
-
- destroyedSearch = createSearchBuilder();
- destroyedSearch.and("store_id", destroyedSearch.entity().getDataStoreId(), SearchCriteria.Op.EQ);
- destroyedSearch.and("store_role", destroyedSearch.entity().getRole(), SearchCriteria.Op.EQ);
- destroyedSearch.and("state", destroyedSearch.entity().getState(), SearchCriteria.Op.EQ);
- destroyedSearch.done();
-
- cacheSearch = createSearchBuilder();
- cacheSearch.and("store_id", cacheSearch.entity().getDataStoreId(), SearchCriteria.Op.EQ);
- cacheSearch.and("store_role", cacheSearch.entity().getRole(), SearchCriteria.Op.EQ);
- cacheSearch.and("state", cacheSearch.entity().getState(), SearchCriteria.Op.NEQ);
- cacheSearch.and("ref_cnt", cacheSearch.entity().getRefCnt(), SearchCriteria.Op.NEQ);
- cacheSearch.done();
-
- updateStateSearch = this.createSearchBuilder();
- updateStateSearch.and("id", updateStateSearch.entity().getId(), Op.EQ);
- updateStateSearch.and("state", updateStateSearch.entity().getState(), Op.EQ);
- updateStateSearch.and("updatedCount", updateStateSearch.entity().getUpdatedCount(), Op.EQ);
- updateStateSearch.done();
-
- snapshotSearch = createSearchBuilder();
- snapshotSearch.and("snapshot_id", snapshotSearch.entity().getSnapshotId(), SearchCriteria.Op.EQ);
- snapshotSearch.and("store_role", snapshotSearch.entity().getRole(), SearchCriteria.Op.EQ);
- snapshotSearch.and("state", snapshotSearch.entity().getState(), SearchCriteria.Op.EQ);
- snapshotSearch.done();
-
- storeSnapshotSearch = createSearchBuilder();
- storeSnapshotSearch.and("snapshot_id", storeSnapshotSearch.entity().getSnapshotId(), SearchCriteria.Op.EQ);
- storeSnapshotSearch.and("store_id", storeSnapshotSearch.entity().getDataStoreId(), SearchCriteria.Op.EQ);
- storeSnapshotSearch.and("store_role", storeSnapshotSearch.entity().getRole(), SearchCriteria.Op.EQ);
- storeSnapshotSearch.and("state", storeSnapshotSearch.entity().getState(), SearchCriteria.Op.EQ);
- storeSnapshotSearch.done();
-
- snapshotIdSearch = createSearchBuilder();
- snapshotIdSearch.and("snapshot_id", snapshotIdSearch.entity().getSnapshotId(), SearchCriteria.Op.EQ);
- snapshotIdSearch.done();
-
- volumeIdSearch = createSearchBuilder();
- volumeIdSearch.and("volume_id", volumeIdSearch.entity().getVolumeId(), SearchCriteria.Op.EQ);
- volumeIdSearch.done();
-
- volumeSearch = createSearchBuilder();
- volumeSearch.and("volume_id", volumeSearch.entity().getVolumeId(), SearchCriteria.Op.EQ);
- volumeSearch.and("store_role", volumeSearch.entity().getRole(), SearchCriteria.Op.EQ);
- volumeSearch.and("snapshot_id", volumeSearch.entity().getSnapshotId(), SearchCriteria.Op.EQ);
- volumeSearch.done();
-
- volumeIdAndStateReadySearch = createSearchBuilder();
- volumeIdAndStateReadySearch.and("volume_id", volumeIdAndStateReadySearch.entity().getVolumeId(), SearchCriteria.Op.EQ);
- volumeIdAndStateReadySearch.and("state", volumeIdAndStateReadySearch.entity().getState(), SearchCriteria.Op.EQ);
- volumeIdAndStateReadySearch.done();
+ searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq = createSearchBuilder();
+ searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.and(STORE_ID, searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.entity().getDataStoreId(), SearchCriteria.Op.EQ);
+ searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.and(STORE_ROLE, searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.entity().getRole(), SearchCriteria.Op.EQ);
+ searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.and(STATE, searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.entity().getState(), SearchCriteria.Op.NEQ);
+ searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.and(REF_CNT searchFilteringStoreIdEqStoreRoleEqStateNeqRefCntNeq.entity().getRefCnt(), SearchCriteria.Op.NEQ);
Review Comment:
Thanks, @DaanHoogland.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] DaanHoogland commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
DaanHoogland commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1265376191
@blueorangutan package
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] DaanHoogland commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
DaanHoogland commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1264664725
@blueorangutan package
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] blueorangutan commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
blueorangutan commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1272114395
@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [cloudstack] sonarcloud[bot] commented on pull request #6751: Refactor SnapshotDataStoreDaoImpl
Posted by GitBox <gi...@apache.org>.
sonarcloud[bot] commented on PR #6751:
URL: https://github.com/apache/cloudstack/pull/6751#issuecomment-1251637954
SonarCloud Quality Gate failed. [![Quality Gate failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/failed-16px.png 'Quality Gate failed')](https://sonarcloud.io/dashboard?id=apache_cloudstack&pullRequest=6751)
[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=BUG)
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=VULNERABILITY)
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_cloudstack&pullRequest=6751&resolved=false&types=SECURITY_HOTSPOT)
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL) [6 Code Smells](https://sonarcloud.io/project/issues?id=apache_cloudstack&pullRequest=6751&resolved=false&types=CODE_SMELL)
[![7.1%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/0-16px.png '7.1%')](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_coverage&view=list) [7.1% Coverage](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_coverage&view=list)
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=apache_cloudstack&pullRequest=6751&metric=new_duplicated_lines_density&view=list)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org