ofri masad has posted comments on this change.

Change subject: core: Fast update quota cache
......................................................................


Patch Set 8: (5 inline comments)

....................................................
File backend/manager/dbscripts/create_functions.sql
Line 620:         quota_limitation.quota_id as quota_id,
Line 621:         quota_limitation.vds_group_id as vds_group_id,
Line 622:         vds_groups.name AS vds_group_name,
Line 623:         quota_limitation.virtual_cpu,
Line 624:         cast(COALESCE(sum(num_of_sockets * cpu_per_socket * 
cast(vm_dynamic.status not in (0, 13 , 14, 15) as INTEGER)), 0) as INTEGER) as 
virtual_cpu_usage,
Done
Line 625:         quota_limitation.mem_size_mb,
Line 626:         COALESCE(sum(vm_static.mem_size_mb), 0) as mem_size_mb_usage
Line 627:     FROM quota_limitation
Line 628:         LEFT JOIN vm_static ON vm_static.quota_id = 
quota_limitation.quota_id


....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java
Line 33: 
Line 34:     // when (cache size/number of quota in DB) ratio is under this 
minimum threshold - the calls to
Line 35:     // updateQuotaCache() would result in cache update. otherwise 
update will be executed.
Line 36:     private static final double MINIMUM_CACHE_FACTOR =
Line 37:             (double) Config.<Integer> 
GetValue(ConfigValues.MinimumPercentageToUpdateQuotaCache) / 100;
Done
Line 38: 
Line 39:     public static QuotaManager getInstance() {
Line 40:         return INSTANCE;
Line 41:     }


Line 1010:                 if 
(!storagePoolQuotaMap.containsKey(quota.getStoragePoolId())) {
Line 1011:                     
storagePoolQuotaMap.put(quota.getStoragePoolId(), new HashMap<Guid,Quota>());
Line 1012:                 }
Line 1013:                 
storagePoolQuotaMap.get(quota.getStoragePoolId()).put(quota.getId(), quota);
Line 1014:             }
Done
Line 1015:         } finally {
Line 1016:             lock.writeLock().unlock();
Line 1017:         }
Line 1018:         long timeEnd = System.currentTimeMillis();


....................................................
File 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/QuotaDAODbFacadeImpl.java
Line 182:         }
Line 183:         return quotaEntity;
Line 184:     }
Line 185: 
Line 186:     private static ParameterizedRowMapper<Long> intMapper = new 
ParameterizedRowMapper<Long>() {
Done
Line 187:         @Override
Line 188:         public Long mapRow(ResultSet resultSet, int i) throws 
SQLException {
Line 189:             return (Long) resultSet.getObject(1);
Line 190:         }


Line 205:     @Override
Line 206:     public List<Quota> getAllQuotaIncludingConsumption() {
Line 207:         MapSqlParameterSource parameterSource = new 
MapSqlParameterSource();
Line 208:         // get thin quota (only basic quota meta data)
Line 209:         List<Quota> allThinQuota = 
getCallsHandler().executeReadList("getAllThinQuota", 
getQuotaMetaDataFromResultSet(), parameterSource);
this is called every 10 minutes (configurable).
Line 210: 
Line 211:         if (allThinQuota != null && !allThinQuota.isEmpty()){
Line 212:             Map<Guid, Quota> allQuotaMap = new HashMap<Guid, Quota>();
Line 213:             for (Quota quota : allThinQuota) {


--
To view, visit http://gerrit.ovirt.org/10159
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Id3db08957e413d2f1e0480b764334dd7268c8221
Gerrit-PatchSet: 8
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: ofri masad <oma...@redhat.com>
Gerrit-Reviewer: Doron Fediuck <dfedi...@redhat.com>
Gerrit-Reviewer: Eli Mesika <emes...@redhat.com>
Gerrit-Reviewer: Gilad Chaplik <gchap...@redhat.com>
Gerrit-Reviewer: Michael Kublin <mkub...@redhat.com>
Gerrit-Reviewer: Yair Zaslavsky <yzasl...@redhat.com>
Gerrit-Reviewer: ofri masad <oma...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to