You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Harikrishna Patnala (JIRA)" <ji...@apache.org> on 2013/07/12 08:19:48 UTC

[jira] [Closed] (CLOUDSTACK-2315) Unable to shutdown network

     [ https://issues.apache.org/jira/browse/CLOUDSTACK-2315?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Harikrishna Patnala closed CLOUDSTACK-2315.
-------------------------------------------

    
> 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 <ha...@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