CS-15239 vmware:noticed nullpointer exception when we put host in maintenance mode in clustered management setup

Reviewed-By: Kelven

Changes:
- Use of class variable of type GenericSearchBuilder causes issues when multiple threads invoke this method to findCapacity
- Changing the scope of the variable to be local to these methods.
This commit is contained in:
prachi 2012-06-06 13:48:03 -07:00
parent 9e4bfca027
commit a8108823f6
1 changed files with 3 additions and 4 deletions

View File

@ -56,7 +56,6 @@ public class CapacityDaoImpl extends GenericDaoBase<CapacityVO, Long> implements
private final SearchBuilder<CapacityVO> _hostIdTypeSearch;
private final SearchBuilder<CapacityVO> _hostOrPoolIdSearch;
protected GenericSearchBuilder<CapacityVO, SummedCapacity> SummedCapacitySearch;
private SearchBuilder<CapacityVO> _allFieldsSearch;
protected final StoragePoolDaoImpl _storagePoolDao = ComponentLocator.inject(StoragePoolDaoImpl.class);
@ -252,7 +251,7 @@ public class CapacityDaoImpl extends GenericDaoBase<CapacityVO, Long> implements
@Override
public List<SummedCapacity> findCapacityBy(Integer capacityType, Long zoneId, Long podId, Long clusterId){
SummedCapacitySearch = createSearchBuilder(SummedCapacity.class);
GenericSearchBuilder<CapacityVO, SummedCapacity> SummedCapacitySearch = createSearchBuilder(SummedCapacity.class);
SummedCapacitySearch.select("dcId", Func.NATIVE, SummedCapacitySearch.entity().getDataCenterId());
SummedCapacitySearch.select("sumUsed", Func.SUM, SummedCapacitySearch.entity().getUsedCapacity());
SummedCapacitySearch.select("sumReserved", Func.SUM, SummedCapacitySearch.entity().getReservedCapacity());
@ -470,7 +469,7 @@ public class CapacityDaoImpl extends GenericDaoBase<CapacityVO, Long> implements
}
public List<SummedCapacity> findByClusterPodZone(Long zoneId, Long podId, Long clusterId){
SummedCapacitySearch = createSearchBuilder(SummedCapacity.class);
GenericSearchBuilder<CapacityVO, SummedCapacity> SummedCapacitySearch = createSearchBuilder(SummedCapacity.class);
SummedCapacitySearch.select("sumUsed", Func.SUM, SummedCapacitySearch.entity().getUsedCapacity());
SummedCapacitySearch.select("sumTotal", Func.SUM, SummedCapacitySearch.entity().getTotalCapacity());
SummedCapacitySearch.select("capacityType", Func.NATIVE, SummedCapacitySearch.entity().getCapacityType());
@ -505,7 +504,7 @@ public class CapacityDaoImpl extends GenericDaoBase<CapacityVO, Long> implements
@Override
public List<SummedCapacity> findNonSharedStorageForClusterPodZone(Long zoneId, Long podId, Long clusterId){
SummedCapacitySearch = createSearchBuilder(SummedCapacity.class);
GenericSearchBuilder<CapacityVO, SummedCapacity> SummedCapacitySearch = createSearchBuilder(SummedCapacity.class);
SummedCapacitySearch.select("sumUsed", Func.SUM, SummedCapacitySearch.entity().getUsedCapacity());
SummedCapacitySearch.select("sumTotal", Func.SUM, SummedCapacitySearch.entity().getTotalCapacity());
SummedCapacitySearch.select("capacityType", Func.NATIVE, SummedCapacitySearch.entity().getCapacityType());