bug 10271: don't include removed records when search for local storage pool

status 10217: resolved fixed
This commit is contained in:
alena 2011-06-16 13:54:16 -07:00
parent 8c9fe2ec71
commit c48c3edfbc
5 changed files with 14 additions and 5 deletions

View File

@ -592,7 +592,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager {
AgentAttache attache = findAttache(hostId);
// Get storage pool host mappings here because they can be removed as a part of handleDisconnect later
List<StoragePoolHostVO> pools = _storagePoolHostDao.listByHostId(hostId);
List<StoragePoolHostVO> pools = _storagePoolHostDao.listByHostIdIncludingRemoved(hostId);
try {

View File

@ -4174,7 +4174,7 @@ public class ManagementServerImpl implements ManagementServer {
public boolean checkIfMaintenable(long hostId) {
// get the poolhostref record
List<StoragePoolHostVO> poolHostRecordSet = _poolHostDao.listByHostId(hostId);
List<StoragePoolHostVO> poolHostRecordSet = _poolHostDao.listByHostIdIncludingRemoved(hostId);
if (poolHostRecordSet != null) {
// the above list has only 1 record

View File

@ -1446,7 +1446,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag
@Override
public boolean delPoolFromHost(long hostId) {
List<StoragePoolHostVO> poolHosts = _poolHostDao.listByHostId(hostId);
List<StoragePoolHostVO> poolHosts = _poolHostDao.listByHostIdIncludingRemoved(hostId);
for (StoragePoolHostVO poolHost : poolHosts) {
s_logger.debug("Deleting pool " + poolHost.getPoolId() + " from host " + hostId);
_poolHostDao.remove(poolHost.getId());

View File

@ -28,7 +28,7 @@ import com.cloud.utils.db.GenericDao;
public interface StoragePoolHostDao extends GenericDao<StoragePoolHostVO, Long> {
public List<StoragePoolHostVO> listByPoolId(long id);
public List<StoragePoolHostVO> listByHostId(long hostId);
public List<StoragePoolHostVO> listByHostIdIncludingRemoved(long hostId);
public StoragePoolHostVO findByPoolHost(long poolId, long hostId);
@ -39,4 +39,6 @@ public interface StoragePoolHostDao extends GenericDao<StoragePoolHostVO, Long>
public void deletePrimaryRecordsForHost(long hostId);
public void deleteStoragePoolHostDetails(long hostId, long poolId);
List<StoragePoolHostVO> listByHostId(long hostId);
}

View File

@ -78,11 +78,18 @@ public class StoragePoolHostDaoImpl extends GenericDaoBase<StoragePoolHostVO, Lo
}
@Override
public List<StoragePoolHostVO> listByHostId(long hostId) {
public List<StoragePoolHostVO> listByHostIdIncludingRemoved(long hostId) {
SearchCriteria<StoragePoolHostVO> sc = HostSearch.create();
sc.setParameters("host_id", hostId);
return listIncludingRemovedBy(sc);
}
@Override
public List<StoragePoolHostVO> listByHostId(long hostId) {
SearchCriteria<StoragePoolHostVO> sc = HostSearch.create();
sc.setParameters("host_id", hostId);
return listBy(sc);
}
@Override
public StoragePoolHostVO findByPoolHost(long poolId, long hostId) {