[
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 <[email protected]>
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 <[email protected]>
> 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