Updated Branches:
  refs/heads/master bbfa9bfcb -> 7b63894a0

CLOUDSTACK-2891. While adding a new vlan range if the new range extends an 
existing range then CS extends the existing range to include the new range.
This is done by checking if the last vlan in the new range is same as the start 
vlan of any existing range.
Since for a single vlan the start and the end vlan are the same the check goes 
to an infinite loop resulting in a java.lang.OutOfMemoryError: Java heap space 
error.
Remove the check for a single vlan because if an existing range starts with the 
single vlan then it implies that the range already exists


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7b63894a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7b63894a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7b63894a

Branch: refs/heads/master
Commit: 7b63894a0a2226c16de6ce2eaa5aa6f62746026c
Parents: bbfa9bf
Author: Likitha Shetty <[email protected]>
Authored: Tue Jun 11 11:45:31 2013 +0530
Committer: Likitha Shetty <[email protected]>
Committed: Tue Jun 11 12:08:05 2013 +0530

----------------------------------------------------------------------
 server/src/com/cloud/network/NetworkServiceImpl.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b63894a/server/src/com/cloud/network/NetworkServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java 
b/server/src/com/cloud/network/NetworkServiceImpl.java
index d5a59d6..407bdc2 100755
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -2663,7 +2663,7 @@ public class NetworkServiceImpl extends ManagerBase 
implements  NetworkService {
                      existingRanges.get(i).second(-1);
                  }
                 value = vnetMap.get((existingRanges.get(i).second()));
-                if (value != null) {
+                if (value != null && ( (existingRanges.get(i).second()) != 
(existingRanges.get(i).first()) )) {
                     vnetMap.remove((existingRanges.get(i).second()));
                     vnetMap.remove(existingRanges.get(i).first());
                     vnetMap.put(existingRanges.get(i).first(),value);

Reply via email to