fix regression of Load Balancer Rewrites Location Headers Irrespective of 
Location Header URL Host


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/662f14d0
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/662f14d0
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/662f14d0

Branch: refs/heads/4.0.0-grouping
Commit: 662f14d05769b4c3431d30fe86fad4938723a7d0
Parents: 1e60645
Author: Udara Liyanage <[email protected]>
Authored: Mon Aug 18 14:50:52 2014 +0530
Committer: Udara Liyanage <[email protected]>
Committed: Mon Aug 18 14:50:52 2014 +0530

----------------------------------------------------------------------
 .../load/balancer/mediators/LocationReWriter.java        | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/662f14d0/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/mediators/LocationReWriter.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/mediators/LocationReWriter.java
 
b/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/mediators/LocationReWriter.java
index 50f08a3..02253ef 100644
--- 
a/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/mediators/LocationReWriter.java
+++ 
b/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/mediators/LocationReWriter.java
@@ -66,10 +66,15 @@ public class LocationReWriter extends AbstractMediator {
                     // Check whether the location host is an ip address of a 
known member
                     String hostname = 
LoadBalancerContext.getInstance().getMemberIpHostnameMap().get(inLocationUrl.getHost());
                     if (StringUtils.isEmpty(hostname)) {
-                        if (log.isDebugEnabled()) {
-                            log.debug(String.format("A hostname not found for 
ip: [ip-address] %s", inLocationUrl.getHost()));
+                        
+                        if 
(!LoadBalancerContext.getInstance().getHostNameClusterMap().containsCluster(inLocationUrl.getHost()))
 {
+                               if (log.isDebugEnabled()) {
+                                log.debug(String.format("A hostname not found 
for ip: [ip-address] %s", inLocationUrl.getHost()));
+                            }
+                               return;
+                        } else {
+                               hostname = inLocationUrl.getHost();
                         }
-                        return;
                     }
 
                     if (log.isDebugEnabled()) {

Reply via email to