[ https://issues.apache.org/jira/browse/CLOUDSTACK-2315?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sheng Yang updated CLOUDSTACK-2315: ----------------------------------- Description: NPE got when network is being GCed: 2013-05-02 18:27:41,069 DEBUG [cloud.network.NetworkManagerImpl] (Network-Scavenger-1:null) Sending network shutdown to JuniperSRX 2013-05-02 18:27:41,079 WARN [cloud.network.NetworkManagerImpl] (Network-Scavenger-1:null) Unable to complete shutdown of the network elements due to element: JuniperSRX java.lang.NullPointerException at com.cloud.network.NetworkModelImpl.getNetworkRate(NetworkModelImpl.java:929) at com.cloud.network.ExternalFirewallDeviceManagerImpl.manageGuestNetworkWithExternalFirewall(ExternalFirewallDe viceManagerImpl.java:460) at com.cloud.network.element.JuniperSRXExternalFirewallElement.shutdown(JuniperSRXExternalFirewallElement.java:172) at com.cloud.network.NetworkManagerImpl.shutdownNetworkElementsAndResources(NetworkManagerImpl.java:2248) at com.cloud.network.NetworkManagerImpl.shutdownNetwork(NetworkManagerImpl.java:2178) at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) at com.cloud.network.NetworkManagerImpl$NetworkGarbageCollector.run(NetworkManagerImpl.java:2510) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) It's caused by: commit deaf9106ca557a938edf25bee65cf6b4eb3ac03f Author: Harikrishna Patnala <harikrishna.patn...@citrix.com> Date: Mon Apr 29 14:11:51 2013 +0530 CLOUDSTACK-741: Granular Global Parameters and adding fixes for CLOUDSTACK-2176, CLOUDSTACK-2198, CLOUDSTACK-2200 Adding the zone, cluster, account level parameters The parameters at scope (zone/cluster/pool/account) can be updated by updateConfiguration API with additional parameter zoneid/clusterid/accountid/storagepoolid Whenever these scoped parameters are used in CS they get value from the corresponding details table if not defined get value from global parameter. Same with the listConfiguration API with additional parameter zoneid/clusterid/accountid/storagepoolid The reason is, this commit add this: @@ -921,9 +924,9 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel { } } if (isUserVmsDefaultNetwork || isDomRGuestOrPublicNetwork) { - return _configMgr.getServiceOfferingNetworkRate(vm.getServiceOfferingId()); + return _configMgr.getServiceOfferingNetworkRate(vm.getServiceOfferingId(), vm.getDataCenterId()); } else { - return _configMgr.getNetworkOfferingNetworkRate(ntwkOff.getId()); + return _configMgr.getNetworkOfferingNetworkRate(ntwkOff.getId(), vm.getDataCenterId()); } } And when you see the code, in the "else" statement, vm can be null, which would result in NPE. Then network cannot be shut down. was: NPE got when network is being GCed: 2013-05-02 18:27:41,069 DEBUG [cloud.network.NetworkManagerImpl] (Network-Scavenger-1:null) Sending network shutdown to JuniperSRX 2013-05-02 18:27:41,079 WARN [cloud.network.NetworkManagerImpl] (Network-Scavenger-1:null) Unable to complete shutdown of the network elements due to element: JuniperSRX java.lang.NullPointerException at com.cloud.network.NetworkModelImpl.getNetworkRate(NetworkModelImpl.java:929) at com.cloud.network.ExternalFirewallDeviceManagerImpl.manageGuestNetworkWithExternalFirewall(ExternalFirewallDe viceManagerImpl.java:460) at com.cloud.network.element.JuniperSRXExternalFirewallElement.shutdown(JuniperSRXExternalFirewallElement.java:172) at com.cloud.network.NetworkManagerImpl.shutdownNetworkElementsAndResources(NetworkManagerImpl.java:2248) at com.cloud.network.NetworkManagerImpl.shutdownNetwork(NetworkManagerImpl.java:2178) at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) at com.cloud.network.NetworkManagerImpl$NetworkGarbageCollector.run(NetworkManagerImpl.java:2510) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) It's caused by: 2013-05-02 18:27:41,069 DEBUG [cloud.network.NetworkManagerImpl] (Network-Scavenger-1:null) Sending network shutdown to JuniperSRX 2013-05-02 18:27:41,079 WARN [cloud.network.NetworkManagerImpl] (Network-Scavenger-1:null) Unable to complete shutdown of the network elements due to element: JuniperSRX java.lang.NullPointerException at com.cloud.network.NetworkModelImpl.getNetworkRate(NetworkModelImpl.java:929) at com.cloud.network.ExternalFirewallDeviceManagerImpl.manageGuestNetworkWithExternalFirewall(ExternalFirewallDe viceManagerImpl.java:460) at com.cloud.network.element.JuniperSRXExternalFirewallElement.shutdown(JuniperSRXExternalFirewallElement.java:172) at com.cloud.network.NetworkManagerImpl.shutdownNetworkElementsAndResources(NetworkManagerImpl.java:2248) at com.cloud.network.NetworkManagerImpl.shutdownNetwork(NetworkManagerImpl.java:2178) at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) at com.cloud.network.NetworkManagerImpl$NetworkGarbageCollector.run(NetworkManagerImpl.java:2510) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) The reason is, this commit add this: @@ -921,9 +924,9 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel { } } if (isUserVmsDefaultNetwork || isDomRGuestOrPublicNetwork) { - return _configMgr.getServiceOfferingNetworkRate(vm.getServiceOfferingId()); + return _configMgr.getServiceOfferingNetworkRate(vm.getServiceOfferingId(), vm.getDataCenterId()); } else { - return _configMgr.getNetworkOfferingNetworkRate(ntwkOff.getId()); + return _configMgr.getNetworkOfferingNetworkRate(ntwkOff.getId(), vm.getDataCenterId()); } } And when you see the code, in the "else" statement, vm can be null, which would result in NPE. Then network cannot be shut down. > Unable to shutdown network > -------------------------- > > Key: CLOUDSTACK-2315 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2315 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Affects Versions: 4.2.0 > Reporter: Sheng Yang > Assignee: Harikrishna Patnala > Priority: Blocker > Fix For: 4.2.0 > > > NPE got when network is being GCed: > 2013-05-02 18:27:41,069 DEBUG [cloud.network.NetworkManagerImpl] > (Network-Scavenger-1:null) Sending network shutdown to > JuniperSRX > 2013-05-02 18:27:41,079 WARN [cloud.network.NetworkManagerImpl] > (Network-Scavenger-1:null) Unable to complete shutdown > of the network elements due to element: JuniperSRX > java.lang.NullPointerException > at > com.cloud.network.NetworkModelImpl.getNetworkRate(NetworkModelImpl.java:929) > at > com.cloud.network.ExternalFirewallDeviceManagerImpl.manageGuestNetworkWithExternalFirewall(ExternalFirewallDe > viceManagerImpl.java:460) > at > com.cloud.network.element.JuniperSRXExternalFirewallElement.shutdown(JuniperSRXExternalFirewallElement.java:172) > at > com.cloud.network.NetworkManagerImpl.shutdownNetworkElementsAndResources(NetworkManagerImpl.java:2248) > at > com.cloud.network.NetworkManagerImpl.shutdownNetwork(NetworkManagerImpl.java:2178) > at > com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) > at > com.cloud.network.NetworkManagerImpl$NetworkGarbageCollector.run(NetworkManagerImpl.java:2510) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:722) > It's caused by: > commit deaf9106ca557a938edf25bee65cf6b4eb3ac03f > Author: Harikrishna Patnala <harikrishna.patn...@citrix.com> > Date: Mon Apr 29 14:11:51 2013 +0530 > CLOUDSTACK-741: Granular Global Parameters and adding fixes for > CLOUDSTACK-2176, CLOUDSTACK-2198, CLOUDSTACK-2200 > > Adding the zone, cluster, account level parameters > The parameters at scope (zone/cluster/pool/account) can be updated by > updateConfiguration API with additional parameter > zoneid/clusterid/accountid/storagepoolid > Whenever these scoped parameters are used in CS they get value from the > corresponding details table if not defined get value from global parameter. > Same with the listConfiguration API with additional parameter > zoneid/clusterid/accountid/storagepoolid > The reason is, this commit add this: > @@ -921,9 +924,9 @@ public class NetworkModelImpl extends ManagerBase > implements NetworkModel { > } > } > if (isUserVmsDefaultNetwork || isDomRGuestOrPublicNetwork) { > - return > _configMgr.getServiceOfferingNetworkRate(vm.getServiceOfferingId()); > + return > _configMgr.getServiceOfferingNetworkRate(vm.getServiceOfferingId(), > vm.getDataCenterId()); > } else { > - return _configMgr.getNetworkOfferingNetworkRate(ntwkOff.getId()); > + return _configMgr.getNetworkOfferingNetworkRate(ntwkOff.getId(), > vm.getDataCenterId()); > } > } > And when you see the code, in the "else" statement, vm can be null, which > would result in NPE. Then network cannot be shut down. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira