DaanHoogland commented on code in PR #10712:
URL: https://github.com/apache/cloudstack/pull/10712#discussion_r2071197800
##########
usage/src/main/java/com/cloud/usage/UsageManagerImpl.java:
##########
@@ -2162,6 +2177,13 @@ private void handleVpcEvent(UsageEventVO event) {
if (EventTypes.EVENT_VPC_DELETE.equals(event.getType())) {
usageVpcDao.remove(event.getResourceId(), event.getCreateDate());
} else if (EventTypes.EVENT_VPC_CREATE.equals(event.getType())) {
+ List<UsageVpcVO> entries =
usageVpcDao.listAll(event.getResourceId());
+ if (!entries.isEmpty()) {
+ s_logger.warn(String.format("Active helper entries already
exist for VPC [%s]; therefore, we will not create a new one.",
+ event.getResourceId()));
+ return;
+ }
+ s_logger.debug(String.format("Creating a helper entry for VPC
[%s].", event.getResourceId()));
UsageVpcVO usageVPCVO = new UsageVpcVO(event.getResourceId(),
event.getZoneId(), event.getAccountId(), domainId, Vpc.State.Enabled.name(),
event.getCreateDate(), null);
Review Comment:
could be a new method (again, return needs to be handled with a checked
exception)
##########
usage/src/main/java/com/cloud/usage/UsageManagerImpl.java:
##########
@@ -2142,15 +2143,29 @@ private void createBackupEvent(final UsageEventVO
event) {
}
private void handleNetworkEvent(UsageEventVO event) {
+ long networkId = event.getResourceId();
Account account =
_accountDao.findByIdIncludingRemoved(event.getAccountId());
long domainId = account.getDomainId();
if (EventTypes.EVENT_NETWORK_DELETE.equals(event.getType())) {
- usageNetworksDao.remove(event.getResourceId(),
event.getCreateDate());
+ usageNetworksDao.remove(networkId, event.getCreateDate());
} else if (EventTypes.EVENT_NETWORK_CREATE.equals(event.getType())) {
- UsageNetworksVO usageNetworksVO = new
UsageNetworksVO(event.getResourceId(), event.getOfferingId(),
event.getZoneId(), event.getAccountId(), domainId,
Network.State.Allocated.name(), event.getCreateDate(), null);
+ List<UsageNetworksVO> entries =
usageNetworksDao.listAll(networkId);
+ if (!entries.isEmpty()) {
+ s_logger.warn(String.format("Received a NETWORK.CREATE event
for a network [%s] that already has helper entries; " +
+ "therefore, we will not create a new one.",
networkId));
+ return;
+ }
+ s_logger.debug(String.format("Creating a helper entry for network
[%s].", networkId));
+ UsageNetworksVO usageNetworksVO = new UsageNetworksVO(networkId,
event.getOfferingId(), event.getZoneId(),
+ event.getAccountId(), domainId,
Network.State.Allocated.name(), event.getCreateDate(), null);
usageNetworksDao.persist(usageNetworksVO);
Review Comment:
could be a new method (if the return is handled with a checked exception)
##########
usage/src/main/java/com/cloud/usage/UsageManagerImpl.java:
##########
@@ -2142,15 +2143,29 @@ private void createBackupEvent(final UsageEventVO
event) {
}
private void handleNetworkEvent(UsageEventVO event) {
+ long networkId = event.getResourceId();
Account account =
_accountDao.findByIdIncludingRemoved(event.getAccountId());
long domainId = account.getDomainId();
if (EventTypes.EVENT_NETWORK_DELETE.equals(event.getType())) {
- usageNetworksDao.remove(event.getResourceId(),
event.getCreateDate());
+ usageNetworksDao.remove(networkId, event.getCreateDate());
} else if (EventTypes.EVENT_NETWORK_CREATE.equals(event.getType())) {
- UsageNetworksVO usageNetworksVO = new
UsageNetworksVO(event.getResourceId(), event.getOfferingId(),
event.getZoneId(), event.getAccountId(), domainId,
Network.State.Allocated.name(), event.getCreateDate(), null);
+ List<UsageNetworksVO> entries =
usageNetworksDao.listAll(networkId);
+ if (!entries.isEmpty()) {
+ s_logger.warn(String.format("Received a NETWORK.CREATE event
for a network [%s] that already has helper entries; " +
+ "therefore, we will not create a new one.",
networkId));
+ return;
+ }
+ s_logger.debug(String.format("Creating a helper entry for network
[%s].", networkId));
+ UsageNetworksVO usageNetworksVO = new UsageNetworksVO(networkId,
event.getOfferingId(), event.getZoneId(),
+ event.getAccountId(), domainId,
Network.State.Allocated.name(), event.getCreateDate(), null);
usageNetworksDao.persist(usageNetworksVO);
} else if (EventTypes.EVENT_NETWORK_UPDATE.equals(event.getType())) {
- usageNetworksDao.update(event.getResourceId(),
event.getOfferingId(), event.getResourceType());
+ s_logger.debug(String.format("Marking previous helper entries of
network [%s] as removed.", networkId));
+ usageNetworksDao.remove(networkId, event.getCreateDate());
+ s_logger.debug(String.format("Creating an updated helper entry for
network [%s].", networkId));
+ UsageNetworksVO usageNetworksVO = new UsageNetworksVO(networkId,
event.getOfferingId(), event.getZoneId(),
+ event.getAccountId(), domainId, event.getResourceType(),
event.getCreateDate(), null);
+ usageNetworksDao.persist(usageNetworksVO);
Review Comment:
could be a new method
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]