Hi,

we have configured a cluster with the web-part over two machines.
They are placed on the same net with a load balancer which listens
to 172.23.20.58:100 and selects between 172.23.20.29:8090/172.23.20.58:8090.

They are in a so called cluster-island and everything goes just fine
with easy JSP- and HTML-pages. BUT... when it comes to sharing session and
their attributes something goes wrong when we do a
"session.removeAttribute("X");"

Does anyone know why? Here are some fileconfigurations for you:
1) Start of the load balancer:
C:\cm\orion>java -jar loadbalancer.jar -host 172.23.20.58 -port 100
Balancer initialized...
Added island number 1 to the cluster...
Discovered server LKPS031/172.23.20.29:8090...
Discovered server LKPS031/172.23.20.29:8090...

2) start of Orion:
C:\cm\orion>java -jar orion.jar
Orion/1.3.8 initialized

3) Our config-files:
orion-web.xml
<?xml version="1.0"?>
<!DOCTYPE orion-web-app PUBLIC "-//Evermind//DTD Orion Web Application
2.3//EN" "http://www.orionserver.com/dtds/orion-web.dtd">
<orion-web-app
        deployment-version="1.3.8"
        jsp-cache-directory="./persistence"
        temporary-directory="./temp"
        servlet-webdir="/servlet/">
        <cluster-config host="230.0.0.1" id="1" port="9127" />
</orion-web-app>

cm-web-site.xml
<?xml version="1.0"?>
<!DOCTYPE web-site PUBLIC "Orion Web-site"
"http://www.orionserver.com/dtds/web-site.dtd">
<web-site host="172.23.20.58" port="8090" display-name="Framfab CM WebSite"
cluster-island="1">
        <!-- The default web-app for this site, bound to the root -->
        <default-web-app application="cmweb" name="webfiles" />
        <access-log path="../log/default-web-access.log" />
        <frontend host="172.23.20.58" port="100" />
</web-site>

web.xml
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
<web-app>
        <display-name>Framfab Content Management</display-name>
        <description>Webfiles for FFCM application</description>
        <distributable />
        <login-config>
                <auth-method>BASIC</auth-method>
        </login-config>
</web-app>

Our easy examples comes here:
1) A JSP-page to set/get and remove attributes:
<pre>
<%
        try {
                session.setAttribute("cmCluster", "Hello World!");
                out.println("1");
                out.println(session.getAttribute("cmCluster"));
                out.println("2");
                out.println(":" + session.getAttribute("cmChrister") + ":");
                out.println("3");
                session.removeAttribute("cmCluster");
                out.println("4");
                session.removeAttribute("cmChrister");
                out.println("5");
} catch (Throwable t) { out.println(t); }
%>
</pre>
2) Result:
1
Hello World!
2
:null:
3
----------->>> java.lang.StackOverflowError

The same error appears when we uses another page but orion types all the
error to the page like this:
500 Internal Server Error
java.lang.StackOverflowError
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
        at
com.evermind.server.http.ClusteredHttpSession.removeAttribute(JAX)
        at com.evermind.server.http.EvermindHttpSession.removeValue(JAX)
... Continues ...

Can anyone help us with this problem? What can it be? Doesn't it seem
strange
that no attributes, wheater they are set or not, can be removed?

Any comments are appreciated!

/Nicklas & Christer

________________________________
[EMAIL PROTECTED]
Systems Developer
FramFab
Box 629, 581 07 Link�ping, Sweden
Direct +46 (0)13 465 00 05, Cellular +46 (0)709 41 10 05
http://www.framfab.se
"World without fences - who needs Gates?"

Reply via email to