Session in-memory replication problem

Hi,
          I am running into some cluster HttpSession replication problems. Here is
          the scenario where replication fails (all servers mentioned here are a
          part of a cluster).
          1a - 2 Weblogic servers (A&B) are running - no users logged in,
          2a - user logs in and a new session in server A is created.
          3a - after several interactions, server A is killed.
          4a - after user makes susequent request, Weblogic correctly fails over
          to server B
          Problem: Not entire session data is replicated. The authentication info
          seems to
          be replicated correctly but there are some collections in the session of
          server A
          that did not make it to the session in server B.
          The interesting part is this: If there is only one server A running to
          begin with and a user
          interacts with it for a while and only then server B is started, when
          after server B starts up
          server A dies - the entire session (which is exactly the same as in the
          failing scenario) is
          corretly replicated in B, including collections that were missing in the
          failing scenario.
          How can this be possible ????
          Thanks for any info on this one - it really puzzles me.
          Andrew
          

Yes, you are on the right track. Everytime you modify the object you should call
          putValue. We will make it more clear in the docs.
          - Prasad
          Andrzej Porebski wrote:
          > Everything is Serilizable. I get no exceptions. I did however read some old
          > posts regarding
          > session replication and I hope I found an answer. It basically seems to boil
          > down to what
          > triggers session sync-up between servers. In my case , I store an object into
          > session and
          > later on manipulate that object directly wihotu session involvment and the
          > results of those manipulations
          > are not replicated - no wonder if HttpSession's putValue method is the only
          > trigger.
          > Am i on the right track here?
          >
          > -Andrew
          >
          > Prasad Peddada wrote:
          >
          > > Do you have non serializable data by any chance?
          > >
          > > - Prasad
          > >
          > > Andrzej Porebski wrote:
          > >
          > > > Hi,
          > > > I am running into some cluster HttpSession replication problems. Here is
          > > > the scenario where replication fails (all servers mentioned here are a
          > > > part of a cluster).
          > > > 1a - 2 Weblogic servers (A&B) are running - no users logged in,
          > > > 2a - user logs in and a new session in server A is created.
          > > > 3a - after several interactions, server A is killed.
          > > > 4a - after user makes susequent request, Weblogic correctly fails over
          > > > to server B
          > > >
          > > > Problem: Not entire session data is replicated. The authentication info
          > > > seems to
          > > > be replicated correctly but there are some collections in the session of
          > > > server A
          > > > that did not make it to the session in server B.
          > > >
          > > > The interesting part is this: If there is only one server A running to
          > > > begin with and a user
          > > > interacts with it for a while and only then server B is started, when
          > > > after server B starts up
          > > > server A dies - the entire session (which is exactly the same as in the
          > > > failing scenario) is
          > > > corretly replicated in B, including collections that were missing in the
          > > > failing scenario.
          > > >
          > > > How can this be possible ????
          > > >
          > > > Thanks for any info on this one - it really puzzles me.
          > > >
          > > > Andrew
          > >
          > > --
          > > Cheers
          > >
          > > - Prasad
          >
          > --
          > -------------------------------------------------------------
          > Andrzej Porebski
          > Sailfish Systems, Ltd. Phone 1 + (212) 607-3061
          > 44 Wall Street, 17th floor Fax: 1 + (212) 607-3075
          > New York, NY 10005
          > -------------------------------------------------------------
          

Similar Messages

  • In memory replication problems when I bring up a new server

              I've got in memory replication set up for 6.1. It works fine if I have 2 servers
              up and 1 goes down.
              However, if I have 1 server up and a bring a second server up, the sessions blow
              out.
              E.g. I've got server A and server B.
              Both are up, both have sessions. As new sessions come in, they are replicated over
              to the other server.
              now I bring server B down. All sessions on B fail over to A.
              so far so good.
              However when I bring server A back up some of the sessions fail as soon as the server
              is back up.
              Is this a configuration issue, is this a know problem?
              This worked fine in weblogic 5.1. In 5.1 when I brought an instance back up, everything
              worked fine.
              

              It turns out the problem was caused by using an old version of the Apache Plugin.
              This problem occurred while using the 5.1 apache plugin with WLS 6.1.
              Once we realized we were using the wrong plugin and swithced to the 6.1 plugin, the
              problem went away.
              

  • In-memory replication of http session is not working in BEA7 cluster

              Hi everyone,
              I have 3 managed servers in Bea7.0 SP4 in a cluster. The client requests are sent
              through apache web server. I have given cluster address as URL in httpd.conf of
              apache server which sends the client requests for dynamic pages such as JSPs and
              servlets to the weblogic cluster.
              Load balancing is working fine. I ensured this from the log files of all the 3
              servers. All the 3 servers are getting different client requests and thus load
              balancing is working.
              Now, I wanted to achieve Fail-over. I do not think that i should use proxy plug-in
              for this. I feel the cluster itself will handle fail-over provided i make the
              http session as memory replicated.
              I updated the weblogic.xml with the following entry :
              <session-descriptor>
              <param-name>PersistentStoreType</param-name>
              <param-value>replicated</param-value>
              </session-param>
              </session-descriptor>
              I guess this is sufficient to make the http session as cluster aware.
              But when I shutdown server1, the user connected to server1 will be kicked out
              of the session and come to login page through server2 or server3 which are running
              fine.
              Could anyone help me to achieve http session as cluster aware. Does it indicate
              that I have to go for WLS proxy – HttpClusterServlet to achieve fail over for
              http session ?
              BTW, for your info, i am using setAttribute() and getAttribute() while manipulating
              the session.
              thanks in advance.
              

              Hi Ryan,
              Thanks for ur valuable input.
              I can see failover working.
              But, I can not continue with the same session in my application.
              I printed session Ids before and after failover, I found both are different.
              I guess session replication is a responsibility of weblogic/apache plugin.
              If not please let me know which all settings I should do to make failover working?
              Thanks again.
              Plad
              "ryan upton" <ryanjupton at learningvoyage dot com> wrote:
              >Plad,
              >
              >Are you trying to gracefully shut down the server? If you are then the
              >problem that you say you can't identify is simply the server's default
              >behavior which is to wait for all non-replicated sessions to be dropped
              >or
              >timed out before killing the process. Try forcing the shutdown: kill
              >-9 the
              >PID or CTRL-C if you started the server from the command line. You can
              >also
              >check the ``Ignore Sessions During Shutdown" checkbox under the server's
              >control tab in the admin console, this should allow you to shut down
              >gracefully without waiting for session timeout. BTW your sequence is
              >off
              >in #5 below, the replication doesn't occur upon failure, the replication
              >has
              >already happened once you created the session object on the first server,
              >I
              >think maybe you're confusing replication with failover.
              >
              >~RU
              >
              >"Plad" <[email protected]> wrote in message
              >news:[email protected]...
              >>
              >> Hi,
              >> I have 2 managed servers in a cluster.
              >>
              >> 1. I have got a DNS name configured which maps to these 2 managed server's
              >IP
              >> addresses.
              >> 2. I can browse my site using this DNS name.
              >> In HTTPD.conf I have :
              >>
              >> ServerName dev.a.b.net
              >>
              >> <IfModule mod_weblogic.c>
              >> WebLogicCluster 10.1.38.232:7023,10.1.34.51:7023
              >> MatchExpression *.*
              >> </IfModule>
              >>
              >> LoadModule weblogic_module modules/mod_wl_20.so
              >>
              >> 3. I have adeded session descriptor in weblogic.xml , also enabled
              >proxy
              >plugin
              >> in weblogic console.
              >>
              >> 4. I tested accessing my application using DNS url after shutting down
              >alternatively
              >> each manaed server. I can access application.
              >>
              >> 5. Now, problem comes when I access a managed server1 , keeping server2
              >down.
              >> I am able to access my application.
              >> Now, I start the server2.
              >> (Here I am supposing that replication should occur)
              >> Then I am shutting down server1.
              >> But, this time the server log shows me following:
              >>
              >>
              >> 9:58:51 AM GMT+05:30 NOTICE Web application(s) chlist still have
              >non-replicated
              >> sessions after 2 minutes of initiating SUSPEND. Waiting for non-replicated
              >sessions
              >> to finish.
              >> 10:00:51 AM GMT+05:30 NOTICE Web application(s) chlist still have
              >non-replicated
              >> sessions after 4 minutes of initiating SUSPEND. Waiting for non-replicated
              >sessions
              >> to finish.
              >>
              >> I am unable to make out where the problem is?
              >> Can it be a problem of Liecense? Is there any specialcluster liecense
              >for
              >weblogic8?
              >>
              >> Hoping to get replies.
              >> Thanx.
              >> Plad
              >>
              >> "ryan upton" <ryanjupton at learningvoyage dot com> wrote:
              >> >See my reply to your first post, but I've also added a few comments
              >here.
              >> >
              >> >"jyothi" <[email protected]> wrote in message
              >> >news:[email protected]...
              >> >>
              >> >> I guess someone from bea support team only can answer both your
              >question
              >> >and mine.
              >> >> As per my knowledge, we do not need to do any setup at Apache
              >side
              >> >regarding
              >> >> cluster other than mentioning cluster address as URL while
              >contacting
              >> >WLS
              >> >> from apache.
              >> >>
              >> >> I hope someone from Bea, will help us. I do not think that we
              >> >go for
              >> >WLS
              >> >> proxy plug-in using HttpClusterServlet for making session replication.
              >> > I
              >> >strongly
              >> >> feel that the cluster itself be able to manage the fail-over of
              >> >http
              >> >sessions
              >> >> provided we put the entry "PersistentStoreType" in weblogic.xml
              >> >regarding
              >> >> the session replication.
              >> >>
              >> >
              >> >The cluster does handle the management of Sessions. The clustered
              >> >applications still create the Session objects and the cluster manages
              >> >them
              >> >as per your deployment descriptor settings (replicated, JDBC, File)
              >however
              >> >the proxy has to be aware of which server the client has an affinity
              >> >for
              >> >(only with replicated sessions) and it does that by reading a cookie
              >> >passed
              >> >back from the server that handled the initial request and created
              >the
              >> >primary session object. The proxy has a list of both the primary
              >and
              >> >secondary server locations from this cookie that it can use to failover
              >> >the
              >> >request if the primary server fails. Clusters _DO NOT_ failover nor
              >> >do they
              >> >load balance, that's the job of your proxy, whether you're using the
              >> >HTTPClusterServlet, WLS Plug-in or a more sophisticated hardware load
              >> >balancer like Big IPs F5
              >> >
              >> >> jyothi
              >> >>
              >> >
              >> >~RU
              >> >
              >> >
              >>
              >
              >
              

  • In-memory replication and no. of sessions - clarification

              a small question/clarification
              Lets say we have 2 servers in cluster with in-memory repication. Let say maximum RAM for jvm heap can use is 1.5GB.
              I understand that HTTP Session Data is stored in heap (am i wrong?).
              Now lets say if we set weblogic.httpd.session.cacheEntries=1024 (default).
              The documentation says...
              weblogic.httpd.session.cacheEntries=x
              Where x limits the number of cached sessions at any time. If you are expecting high volumes of simultaneous active sessions, you do not want these sessions to soak up the RAM of your server since this may cause performance problems swapping to and from virtual memory. When the cache is full, the least recently used sessions are stored in the persistent store and recalled automatically when required. If you do not use persistence, this property is ignored, and there is no soft limit to the number of sessions allowed in main memory. By default, the number of cached sessions is 1024. The minimum is 16, and maximum is Integer.MAX_VALUE. An empty session uses less than 100 bytes, but will grow as data is added to it.
              If lets say 1025 user comes in what happens in followin scenario
              1. no heap memory available:
              Does is throw out of memory exception or what does it do to accomodate new user?
              Does swapping occur for HTTP data on the heap? (or am i talking nonsense?)
              2. heap memory available:
              What does the following mean for in-memory replication?
              When the cache is full, the least recently used sessions are stored in the persistent store and recalled automatically when required.
              thanks in advance
              

    shivu wrote:
              > a small question/clarification
              >
              > Lets say we have 2 servers in cluster with in-memory repication. Let say maximum RAM for jvm heap can use is 1.5GB.
              Dont' allocate 1GB for heap. Try not to allocate more than 512 MB.
              > I understand that HTTP Session Data is stored in heap (am i wrong?).
              >
              > Now lets say if we set weblogic.httpd.session.cacheEntries=1024 (default).
              >
              > The documentation says...
              > -----------
              > weblogic.httpd.session.cacheEntries=x
              > Where x limits the number of cached sessions at any time. If you are expecting high volumes of simultaneous active sessions, you do not want these sessions to soak up the RAM of your server since this may cause performance problems swapping to and from virtual memory. When the cache is full, the least recently used sessions are stored in the persistent store and recalled automatically when required. If you do not use persistence, this property is ignored, and there is no soft limit to the number of sessions allowed in main memory. By default, the number of cached sessions is 1024. The minimum is 16, and maximum is Integer.MAX_VALUE. An empty session uses less than 100 bytes, but will grow as data is added to it.
              > ------------
              >
              > If lets say 1025 user comes in what happens in followin scenario
              >
              > 1. no heap memory available:Does is throw out of memory exception or what does it do to accomodate new user?
              > Does swapping occur for HTTP data on the heap? (or am i talking nonsense?)
              If you are out of memory you are out of luck.
              >
              > 2. heap memory available:
              >
              > What does the following mean for in-memory replication?
              > -----
              > When the cache is full, the least recently used sessions are stored in the persistent store and recalled automatically when required.
              > ----
              Hmm. I don't think there is any hard limit with in memory replication. But I would check and let you know.
              >
              > thanks in advance
              Cheers
              - Prasad
              

  • Problems with WebLogic in-memory replication

    We are using Netscape Server 4.0 with the WebLogic 4.51sp7 proxy connecting
              to 2 clustered machines. We'd like to use the in-memory replication, but
              whenever we set up our weblogic.properties file like the description in the
              "Setting up a WebLogic Cluster" document, we get an error. The following
              are the settings we are setting:
              weblogic.httpd.clustering.enable=true
              weblogic.httpd.session.persistence=true
              webloigc.httpd.session.persistentStoreType=replicated
              We get the error when we try to start up any of the servers in the cluster.
              The following is the error:
              Unable to initialize server: java.lang.NullPointerException
              fatal initialization exception
              java.lang.NullPointerException
              at weblogic.t3.srvr.HttpServer.start(Compiled Code)
              at weblogic.t3.srvr.T3Srvr.start(Compiled Code)
              at weblogic.t3.srvr.T3Srvr.main(Compiled Code)
              at weblogic.Server.startServerDynamically(Compiled Code)
              at weblogic.Server.main(Compiled Code)
              Any information anyone has out there would be greatly appreciated!
              

    Actually, it is just the weblogic.httpd.clustering.enable=true that causes
              problems. When I remove it, it starts up just fine, but I don't think it is
              using the in-memory replication. It is throwing the exception near the end
              of the start up procedure, just after loading the EJBs. Lately, it hasn't
              even been throwing the exception, it just hangs. The last lines we see are:
              74 EJBs were deployed using .ser files.
              0 EJBs were deployed using .jar files
              It is at this point that it either throws the exception or hangs. We do
              have clustering licenses for all the machines in the cluster. We are using
              the default multicastAddress (237.0.0.1) so I was not explicitly setting it.
              Now, I am and it doesn't seem to make any difference.
              Any ideas?
              John
              "Mike Benham" <[email protected]> wrote in message
              news:[email protected]...
              >
              > So just setting those listed properties causes an NPE? If you remove
              > just those properties, you don't get an NPE? At what point in the
              > startup procedure is that exception thrown? Although it shouldn't
              > result in that error, are you sure that you have a clustering license?
              > You also need to set the multicast address to use for your cluster:
              > weblogic.cluster.multicastAddress=IP.
              >
              > - Mike
              >
              >
              > John Peters wrote:
              > >
              > > We are using Netscape Server 4.0 with the WebLogic 4.51sp7 proxy
              connecting
              > > to 2 clustered machines. We'd like to use the in-memory replication,
              but
              > > whenever we set up our weblogic.properties file like the description in
              the
              > > "Setting up a WebLogic Cluster" document, we get an error. The
              following
              > > are the settings we are setting:
              > >
              > > weblogic.httpd.clustering.enable=true
              > > weblogic.httpd.session.persistence=true
              > > webloigc.httpd.session.persistentStoreType=replicated
              > >
              > > We get the error when we try to start up any of the servers in the
              cluster.
              > > The following is the error:
              > >
              > > Unable to initialize server: java.lang.NullPointerException
              > > fatal initialization exception
              > > java.lang.NullPointerException
              > > at weblogic.t3.srvr.HttpServer.start(Compiled Code)
              > > at weblogic.t3.srvr.T3Srvr.start(Compiled Code)
              > > at weblogic.t3.srvr.T3Srvr.main(Compiled Code)
              > > at weblogic.Server.startServerDynamically(Compiled Code)
              > > at weblogic.Server.main(Compiled Code)
              > >
              > > Any information anyone has out there would be greatly appreciated!
              

  • Out of memory session store + in memory replication

    I think I know the answer, but I am going to ask anyway.
              Appearantly, if I use file based session persistance, weblogic will manage
              the in-memory session cache and store least recently used sessions to disk
              in order to preserve memory.
              Of course, file based persistance is slower than in-memory replication, and
              it doesn't work so well if we don't have a shared filesystem for our cluster
              (we don't), but the ability to manage memory in this way is very compelling.
              Is it possible to have a hybrid, where session state is replicated between
              nodes using in-memory-replication techniques, but each node only keeps a
              limited number of sessions in memory and swaps the rest out to disk?
              I think the answer is no, but it seems like a good feature.
              

              "Erik Speckman" <[email protected]> wrote in message
              news:[email protected]..
              > I think I know the answer, but I am going to ask anyway.
              >
              > Appearantly, if I use file based session persistance, weblogic will manage
              > the in-memory session cache and store least recently used sessions to disk
              > in order to preserve memory.
              >
              > Of course, file based persistance is slower than in-memory replication,
              and
              > it doesn't work so well if we don't have a shared filesystem for our
              cluster
              > (we don't), but the ability to manage memory in this way is very
              compelling.
              >
              > Is it possible to have a hybrid, where session state is replicated between
              > nodes using in-memory-replication techniques, but each node only keeps a
              > limited number of sessions in memory and swaps the rest out to disk?
              >
              > I think the answer is no, but it seems like a good feature.
              >
              >
              I don't think you can explicitly tune it, but of course any stuff in memory
              that doesn't get used for a while is going to end up on disk anyway if your
              physical memory is all allocated. Your swap system will probably do as good
              a job of this as being able to specify how many sessions are kept in memory
              would do.
              Loz
              

  • Can javax.rmi.PortableRemoteObject be attribute of http session with in-memory replication?

    Hi:
              When the servlet server try to do the in memory replication, a Stub class
              not found exception throwed out.
              The rmi object is compiled with -iiop option, should I compile it without
              iiop option?
              Please help
              thanks
              andrew
              

    Hi don:
              Thanks for you reply.
              I can't get the stack trace right, I am not working today. but I'll get it
              later.
              All the machine has the IIOP tie and stub class.
              The jar file works fine on weblogic6.1 cluster.
              thanks again
              andrew
              "Don Ferguson" <[email protected]> wrote in message
              news:[email protected]..
              > What's the exact stack trace? Is the stub present on all machines in the
              > cluster?
              >
              > -Don
              >
              > Andrew wrote:
              >
              > > Hi:
              > > When the servlet server try to do the in memory replication, a Stub
              class
              > > not found exception throwed out.
              > > The rmi object is compiled with -iiop option, should I compile it
              without
              > > iiop option?
              > >
              > > Please help
              > > thanks
              > > andrew
              >
              

  • In memory replication doesn't seem to work

    We have set up a Cluster with 2 servers. Our Proxy server is NES. We can
              see the round robin working but each time we are accessing the session,
              the same cookie gets overriden (the browser receives the WebLogicSession
              cookie from the weblogic servers) .... Loosing all the information..
              Is this a WebLogic bug ?
              Olivier
              [olivier.vcf]
              

    I don't think it goes in the xml file. It should be in weblogic.properties file
              weblogic.httpd.session.cookie.name=foo
              -- Prasad
              John wrote:
              > Could you tell me how I can set up the cookie in web.xml to override the WeblogicSession cookie?
              >
              > "Yogi Mudras" <[email protected]> wrote:
              > >Is SP6 out yet ?
              > >
              > >
              > >"Olivier Brand" <[email protected]> wrote in message
              > >news:[email protected]...
              > >> BEA told me that the Session bug will be fixed in SP7.
              > >>
              > >> Otherwise, the in-memory replication is working fine. During our stress
              > >test, we got
              > >> some exceptions.
              > >>
              > >> When we are using in-memory replicaiton, should all the objects put in the
              > >HttpSession
              > >> be Serializable ? My guess is that they have to be.
              > >>
              > >> Olivier
              > >>
              > >> weblogic.servlet.internal.session.ReplicatedSession.invalidate(Compiled
              > >> Code)
              > >> at
              > >>
              > >weblogic.servlet.internal.session.ReplicatedSessionContext.invalidateSession
              > >(Compiled
              > >> Code)
              > >> at
              > >>
              > >weblogic.servlet.internal.session.SessionContext$SessionInvalidator.invalida
              > >teSessions(Compiled
              > >>
              > >> Code)
              > >> at
              > >>
              > >weblogic.servlet.internal.session.SessionContext$SessionInvalidator.trigger(
              > >Compiled
              > >> Code)
              > >> at
              > >> weblogic.time.common.internal.ScheduledTrigger.executeLocally(Compiled
              > >> Code)
              > >> at
              > >> weblogic.time.common.internal.ScheduledTrigger.execute(Compiled Code)
              > >> at weblogic.time.server.ScheduledTrigger.execute(Compiled Code)
              > >> at weblogic.kernel.ExecuteThread.run(Compiled Code)
              > >>
              > >> weblogic.cluster.replication.NotFoundException: remove unable to find
              > >> object 7173403347807782043
              > >> at java.lang.Throwable.fillInStackTrace(Native Method)
              > >> at java.lang.Throwable.fillInStackTrace(Compiled Code)
              > >> at weblogic.rmi.extensions.AbstractRequest.sendReceive(Compiled
              > >> Code)
              > >> at
              > >> weblogic.cluster.replication.ReplicationManager_WLStub.remove(Compiled
              > >> Code)
              > >> at
              > >> weblogic.cluster.replication.ReplicationManager.unregister(Compiled
              > >> Code)
              > >> at
              > >> weblogic.servlet.internal.session.ReplicatedSession.invalidate(Compiled
              > >> Code)
              > >> at
              > >>
              > >weblogic.servlet.internal.session.ReplicatedSessionContext.invalidateSession
              > >(Compiled
              > >> Code)
              > >> at
              > >>
              > >weblogic.servlet.internal.session.SessionContext$SessionInvalidator.invalida
              > >teSessions(Compiled
              > >>
              > >> Code)
              > >> at
              > >>
              > >weblogic.servlet.internal.session.SessionContext$SessionInvalidator.trigger(
              > >Compiled
              > >> Code)
              > >> at
              > >> weblogic.time.common.internal.ScheduledTrigger.executeLocally(Compiled
              > >> Code)
              > >>
              > >> Prasad Peddada wrote:
              > >>
              > >> > Olivier Brand wrote:
              > >> >
              > >> > > In fact, nothing is impossible since there is a HUGE bug in WebLogic
              > >and the
              > >> > > sessions. This bug has been (and still is) filed under the following
              > >number:
              > >> > > CR033896.
              > >> > > I have noticed that if you have two different web app, if you contact
              > >a
              > >> > > servlet in app 1 and a servlet in app 2 (2 different contexts), the
              > >same
              > >> > > cookie: WebLogicSession, is being overriden !!
              > >> > > The workaround is to override in the web.xml the name of the session.
              > >> >
              > >> > Do you have problems even with the suggested workaround?
              > >> >
              > >> > > I got the sticky load balancing back in placing the CookieName
              > >argument in the
              > >> > > NES proxy (app1 and app2). This way the proxy can identify what
              > >application
              > >> > > server to contact depending on the requestor's cookie.
              > >> > >
              > >> > > I am still noticing the loss of the session when using the failover:
              > >> > >
              > >> > > I stop app server A, app1 is switched to app server B but recreate the
              > >same
              > >> > > cookie with a different value. I thought that in-memory replication
              > >was...
              > >> > > replicating. Does it mean that only the DB persistency (or file system
              > >if
              > >> > > using NFS of course) can work in a failover scenario ?
              > >> >
              > >> > When you failover to server B the cookie will change. The behavior is
              > >correct, but
              > >> > do you see loss of session data. Is it possible to post the cookies
              > >before and
              > >> > after failover.
              > >> >
              > >> > - Prasad
              > >> >
              > >> > >
              > >> > > Olivier
              > >> > >
              > >> > > Prasad Peddada wrote:
              > >> > >
              > >> > > > Olivier Brand wrote:
              > >> > > >
              > >> > > > > We have set up a Cluster with 2 servers. Our Proxy server is NES.
              > >We can
              > >> > > > > see the round robin working but each time we are accessing the
              > >session,
              > >> > > > > the same cookie gets overriden (the browser receives the
              > >WebLogicSession
              > >> > > > > cookie from the weblogic servers) .... Loosing all the
              > >information..
              > >> > > >
              > >> > > > What do you mean by overriden? That's not possible. Could you post
              > >the two
              > >> > > > sessions ids.
              > >> > > >
              > >> > > > - Prasad
              > >> > > >
              > >> > > > >
              > >> > > > > Is this a WebLogic bug ?
              > >> > > > >
              > >> > > > > Olivier
              > >> >
              > >> > --
              > >> > Cheers
              > >> >
              > >> > - Prasad
              > >>
              > >
              > >
              

  • 3rd party distributed SW load balancing with In-Memory Replication

              Hi,
              Could someone please comment on the feasibility of the following setup?
              I've started testing replication with a software load balancing product. This
              product lets all nodes receive all packets and uses a kernel-level filter
              to let only one node at the time receive it. Since there's minimum 1 heartbeat
              between the nodes, there are several NICs in each node.
              At the moment it seems like it doesn't work: - I use the SessionServlet - with
              a 2-node cluster I first have the 2 nodes up and I access it with a single client:
              .the LB is configured to be sticky wrt. source IP address, so the same node gets
              all the traffic - when I stop the node receiving the traffic the other node takes
              over (I changed the colours of SessionServlet) . however, the counter restarts
              at zero
              From what I read of the in-memory replication documentation I thought that it
              might work also with a distributed software load balancing cluster. Any comments
              on the feasability of this?
              Is there a way to debug replication (in WLS6SP1)? I don't see any replication
              messages in the logs, so I'm not even sure that it works at all. - I do get a
              message about "Clustering Services startting" when I start the examples server
              on each node - is there anything tto look for in the console to make sure that
              things are working? - the evaluation license for WLS6SP1 on NT seems to support
              In-Memory Replication and Cluster. However, I've also seen a Cluster-II somewhere:
              is that needed?
              Thanks for your attention!
              Regards, Frank Olsen
              

    We are considering Resonate as one of the software load balancer. We haven't certified
              them yet. I have no idea how long its going to take.
              As a base rule if the SWLB can do the load balancing and maintain stickyness that is fine
              with us as long as it doesn't modify the cookie or the URL if URL rewriting is enabled.
              Having said that if you run into problems we won't be able to support you since it is not
              certified.
              -- Prasad
              Frank Olsen wrote:
              > Prasad Peddada <[email protected]> wrote:
              > >Frank Olsen wrote:
              > >
              > >> Hi,
              > >>
              > > We don't support any 3rd party software load balancers.
              >
              > Does that mean that there are technical reasones why it won't work, or just that
              > you haven't tested it?
              >
              > > As >I said before I am thinking your configuration is >incorrect if n-memory
              > replication is not working. I would >strongly suggest you look at webapp deployment
              > descriptor and >then the config.xml file.
              >
              > OK.
              >
              > >Also doing sticky based on source ip address is not good. You >should do it based
              > on passive cookie persistence or active >cookie persistence (with cookie insert,
              > a new one).
              > >
              >
              > I agree that various source-based sticky options (IP, port; network) are not the
              > best solution. In our current implementation we can't do this because the SW load
              > balancer is based on filtering IP packets on the driver level.
              >
              > Currently I'm more interested in understanding whether it can our SW load balancer
              > can work with your replication at all?
              >
              > What makes me think that it could work is that in WLS6.0 a session failed over
              > to any cluster node can recover the replicated session.
              >
              > Can there be a problem with the cookies?
              > - are the P/S for replication put in the cookie by the node itself or by the proxy/HW
              > load balancer?
              >
              > >
              > >The options are -Dweblogic.debug.DebugReplication=true and
              > >-Dweblogic.debug.DebugReplicationDetails=true
              > >
              >
              > Great, thanks!
              >
              > Regards,
              > Frank Olsen
              

  • Defeating In Memory Replication

    I have some questions about in memory servlet session replication in
              weblogic 5.1 clusters. It seems to me rather easy to create a scenario
              where the session is lost. While the servers in a cluster do a good job
              maintaining session state within the cluster while machines leave and
              join the cluster, the web server proxy in front of the cluster relies on
              state (a cookie) from the client to find the cluster server that has the
              session state. There is no way for the cluster servers to stay in sync
              with client cookies if the client make infrequent requests.
              I hope that someone can tell me that I am wrong but please consider the
              following scenario.
              There is a cluster made up of 5 servers.
              There is one weblogic web server acting as the proxy in front of the
              cluster.
              A web browser makes connection #1 and causes the creation of SessionA.
              Server1 is the primary node for the session, Server2 is the backup.
              Server1 is taken out of service. Server2 is now the primary, Server3 is
              the backup.
              Server2 is taken out of service. Server3 is now the primary, Server4 is
              the backup.
              The web browser makes connection #2. Its cookie refers to Server1 as
              the primary and Server2 as the backup. This cookie state is stale, the
              proxy server does not know where to go and the session created in
              connection #1 is lost.
              Am I right? Will this scenario lose the session?
              - Kevin
              

    Kevin McEntee wrote:
              > Interesting, see my comments below.
              >
              > Prasad Peddada wrote:
              > >
              > > Kevin McEntee wrote:
              > >
              > > > I have some questions about in memory servlet session replication in
              > > > weblogic 5.1 clusters. It seems to me rather easy to create a scenario
              > > > where the session is lost. While the servers in a cluster do a good job
              > > > maintaining session state within the cluster while machines leave and
              > > > join the cluster, the web server proxy in front of the cluster relies on
              > > > state (a cookie) from the client to find the cluster server that has the
              > > > session state. There is no way for the cluster servers to stay in sync
              > > > with client cookies if the client make infrequent requests.
              > >
              > > That's true. But, you don't expect the servers to go down fast either.
              >
              > Maybe not for errors or crashes but what about pushing new code to a
              > production website? The company I work for pushes new code to the live
              > internet site once per week. Typically 1/3 to 1/2 of the machines are
              > taken out of service while new code is copied to the servers. These
              > machines are brought back into service and more are taken out. This
              > process continues until all of the machines have new code and are
              > brought back into service.
              >
              > This is an example of a regular controlled circumstance where machines
              > are taken out and brought back into a cluster.
              Replication has been designed with failures in mind but not controlled
              failures. We will be addressing this issue in our next release most probably.
              > > > There is a cluster made up of 5 servers.
              > > > There is one weblogic web server acting as the proxy in front of the
              > > > cluster.
              > > >
              > > > A web browser makes connection #1 and causes the creation of SessionA.
              > > > Server1 is the primary node for the session, Server2 is the backup.
              > > > Server1 is taken out of service. Server2 is now the primary, Server3 is
              > > > the backup.
              > > > Server2 is taken out of service. Server3 is now the primary, Server4 is
              > > > the backup.
              > > > The web browser makes connection #2. Its cookie refers to Server1 as
              > > > the primary and Server2 as the backup. This cookie state is stale, the
              > > > proxy server does not know where to go and the session created in
              > > > connection #1 is lost.
              > > >
              > > > Am I right? Will this scenario lose the session?
              > >
              > > Yes, you will lose the session information since the client didn't make
              > > connection while the servers are being taken out of service. You can
              > > alternatively use JDBC persistence or file persistence for this which will
              > > not have the problems you mentioned.
              > >
              >
              > This makes me wonder if anyone is depending on in-memory replication of
              > servlet sessions for real data or just caching. It is so easy to defeat
              > that I cannot imagine depending on it, especially given the need to
              > regularly change the live site code as described in above.
              Your requirements seem to be quite different what it was intended for, so I
              cannot comment on this.
              > Is anyone out there reading this group using in-memory replication of
              > servlet sessions on a live internet site? What is your push process
              > like?
              >
              > - Kevin
              - Prasad
              

  • In memory replication not working

    We are using Weblogic 4.5.1 SP5 (I know that is an old service pack -
              but this is in a production system and it usually takes a guarantee that
              a change will fix a bug before being allowed).
              We are clustering two weblogic servers.
              In our test systems everything works great.
              In our production systems, failover works, but not in memory
              replication. With the replication debugging output turned on I see the
              following output:
              <WebLogicServer> WebLogic Server started
              <RJVM> Creating connection to 10.100.35.90/10.100.35.80 ...
              (I should point out that this RJVM message only appears on one of the
              servers, appears whether or not the other server is running, and
              10.100.35.80 is not the IP address of the other server nor of this
              server.)
              (Note, it never prints the typical <RepMan>Adding XXXXXX to the cluster)
              When a user connects and a session is created, we see the following:
              <RepMan>Unable to create secondary for XXXXXXX
              <RepMan>Registered XXXXXX
              <RepMan>Get Secondary JVMID returning null for XXXXXXX
              <RepMan>updateSecondary called on unpaired primary
              <RepMan>lookup found for XXXXXX
              The second server never outputs any new information.
              It's not the code, this works in test, and we have poured over the
              configuration, and all configuration files look correct.
              The MulticastTest also works in the production system.
              Any ideas?
              

              Looks like they are not in cluster..
              double check the configuration and check in weblogic console whether you see both servers under the cluster name...
              Robert Antonucci <[email protected]> wrote:
              >We are using Weblogic 4.5.1 SP5 (I know that is an old service pack -
              >but this is in a production system and it usually takes a guarantee that
              >a change will fix a bug before being allowed).
              >
              >We are clustering two weblogic servers.
              >In our test systems everything works great.
              >In our production systems, failover works, but not in memory
              >replication. With the replication debugging output turned on I see the
              >following output:
              >
              ><WebLogicServer> WebLogic Server started
              ><RJVM> Creating connection to 10.100.35.90/10.100.35.80 ...
              >(I should point out that this RJVM message only appears on one of the
              >servers, appears whether or not the other server is running, and
              >10.100.35.80 is not the IP address of the other server nor of this
              >server.)
              >(Note, it never prints the typical <RepMan>Adding XXXXXX to the cluster)
              >
              >When a user connects and a session is created, we see the following:
              >
              ><RepMan>Unable to create secondary for XXXXXXX
              ><RepMan>Registered XXXXXX
              ><RepMan>Get Secondary JVMID returning null for XXXXXXX
              ><RepMan>updateSecondary called on unpaired primary
              ><RepMan>lookup found for XXXXXX
              >
              >The second server never outputs any new information.
              >
              >It's not the code, this works in test, and we have poured over the
              >configuration, and all configuration files look correct.
              >The MulticastTest also works in the production system.
              >
              >Any ideas?
              >
              

  • How can I avoid memory leak problem ?

    I use Jdev 10.1.2 . I have a memory leak problem with ADF .
    My application is very large . We have at least 30 application module , each application module contain many view object
    and I have to support a lot of concurrent users .
    as I know ADF stored data of view object in http session .
    and http session live is quite long . when I use application for a while It raise Ouf of Memory error .
    I am new for ADF.
    I try to use clearCache() on view object when I don't use it any more .
    and call resetState() when I don't use Application Module any more
    I don't know much about behavior of clearCache() and resetState() .
    I am not sure that It can avoid memory leak or not .
    Do you have suggestion to avoid this problem ?

    ADF does not store data in the HTTP session.
    See Chapter 28 "Application Module State Management" in the ADF Developer's Guide for Forms/4GL Developers on the ADF Learning Center at http://download-uk.oracle.com/docs/html/B25947_01/toc.htm for more information.
    See Chapter 29 "Understanding Application Module Pooling" to learn how you can tune the pooling parameters to control how many modules are used and how many modules "hang around" for what periods of time.

  • Evaluation license for ejb-in-memory-replication!!!

              Hi,
              Has anyone tried using in-memory replication for a stateful-session bean in the evaluation
              copy of WebLogic 6.0 ? I have a simple stateful session bean with <replication-type>InMemory</replication-type>
              set in weblogic-ejb-jar.xml. But when I try to generate a deployable jar file, I
              get the following message,
              % java weblogic.ejbc -compiler jikes std_simple_stateful.jar simple_stateful.jar
              Couldn't find a license for in-memory replication of EJB's, this feature is disabled
              <Jan 31, 2001 1:40:21 PM EST> <Info> <EJB> <Couldn't find a license for in-memory
              replication of EJB's, this feature is disabled>
              The license file seems to have the product enabled.
              any suggestions ???
              thanx in advance
              -Ram
              [email protected]
              

    Make sure the license is in ejbc's classpath.
              We fixed this for SP1 to make it so ejbc will always compile regardless
              of your license. The actual license check occurs when you deploy the
              bean.
              -- Rob
              Ram Munjuluri wrote:
              >
              > Hi,
              >
              > Has anyone tried using in-memory replication for a stateful-session bean in the evaluation
              > copy of WebLogic 6.0 ? I have a simple stateful session bean with <replication-type>InMemory</replication-type>
              > set in weblogic-ejb-jar.xml. But when I try to generate a deployable jar file, I
              > get the following message,
              >
              > % java weblogic.ejbc -compiler jikes std_simple_stateful.jar simple_stateful.jar
              > Couldn't find a license for in-memory replication of EJB's, this feature is disabled
              > <Jan 31, 2001 1:40:21 PM EST> <Info> <EJB> <Couldn't find a license for in-memory
              > replication of EJB's, this feature is disabled>
              >
              > The license file seems to have the product enabled.
              >
              > any suggestions ???
              >
              > thanx in advance
              > -Ram
              > [email protected]
              Coming Soon: Building J2EE Applications & BEA WebLogic Server
              by Michael Girdley, Rob Woollen, and Sandra Emerson
              http://learnweblogic.com
              

  • Setting up in-memory replication in WLS5.1

              Hi,
              How do you set up in-memory replication in WLS5.1? I mean what the weblogic.properties
              and what are it's values?
              Thanx
              

    Put it in the cluster level properties file. What service pack are you using? I would recommend you use the latest (SP11)
              with WLS 5.1.
              Kailu wrote:
              > Hi,
              >
              > I've set up the following properties(in the server level properties, should they
              > be set up in the cluster level properties?)
              >
              > weblogic.httpd.clustering.enable=true
              > weblogic.httpd.session.persistence=true
              > weblogic.httpd.session.persistentStoreType=replicated
              >
              > and I'm getting the following error(does it have anything do with the settings
              > in the weblogic.policy file?)
              >
              > Mon Mar 18 10:07:55 CST 2002:<I> <ServletContext-General> session: init
              > Mon Mar 18 10:07:55 CST 2002:<E> <ServletContext-General> Servlet failed with
              > Exception
              > java.lang.SecurityException:
              > at java.lang.Throwable.fillInStackTrace(Native Method)
              > at weblogic.rmi.extensions.AbstractRequest.sendReceive(AbstractRequest.java:76)
              > at weblogic.jndi.internal.RemoteContextFactoryImpl_WLStub.getContext(RemoteContextFactoryImpl_WLStub.java:95)
              > at weblogic.jndi.WLInitialContextFactoryDelegate.newRemoteContext(WLInitialContextFactoryDelegate.java:316)
              > at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(Compiled Code)
              > at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(Compiled
              > Code)
              > at weblogic.jndi.Environment.getContext(Compiled Code)
              > at weblogic.jndi.Environment.getInitialContext(Compiled Code)
              > at weblogic.cluster.replication.ReplicationManager.getRepMan(ReplicationManager.java:363)
              > at weblogic.cluster.replication.ReplicationManager.createSecondary(Compiled
              > Code)
              > at weblogic.cluster.replication.ReplicationManager.register(ReplicationManager.java:617)
              > at weblogic.servlet.internal.session.ReplicatedSession.<init>(ReplicatedSession.java:106)
              > at weblogic.servlet.internal.session.ReplicatedSessionContext.getNewSession(ReplicatedSessionContext.java:50)
              > at weblogic.servlet.internal.session.SessionContext.getNewSessionInstance(SessionContext.java:349)
              > at weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImpl.java:1307)
              > at weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.java:1199)
              > at examples.servlets.SessionServlet.doGet(SessionServlet.java:51)
              > at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
              > at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:106)
              > at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:907)
              > at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:851)
              > at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:252)
              > at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:364)
              > at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:252)
              > at weblogic.kernel.ExecuteThread.run(Compiled Code)
              >
              > "Kailu" <[email protected]> wrote:
              > >
              > >Hi,
              > >
              > >How do you set up in-memory replication in WLS5.1? I mean what the weblogic.properties
              > >and what are it's values?
              > >
              > >Thanx
              Rajesh Mirchandani
              Developer Relations Engineer
              BEA Support
              

  • Is a clustering licence required for using In-Memory replication?

              Hi,
              Could you please tell me if it is possible to use In-Memory replication
              without a clustering licence? (With WebLogic 6 on Linux with eval.
              licence.)
              I ask, because the documentation states that it can be used with
              HW load-balancing devices. If that is the case, how do you configure
              replication without configuring a WebLogic cluster (since you already
              have a HW LB cluster!).
              Regards,
              Frank Olsen
              

    Okay, so then the advice to contact your BEA account rep for a clustering eval
              license is correct.
              Frank Olsen wrote:
              > Hi and thanks for your help,
              >
              > My license file does not have support for clustering/replication.
              > There's "only": WebLogic, SSL/Export, 2PC, EJB 1.1, EJB 2.0, JMS,
              > jDriver/MSSQLServer4, jDriver/Informix4, jDriver/Oracle.
              >
              > BTW, sorry for misreading the first response -- maybe I can put
              > it on the account on the end of the day with a flu ;-)
              >
              > Robert Patrick <[email protected]> wrote:
              > >My wife has the now expired eval license that came packaged
              > >with WLS 6.0 GA and
              > >it includes licenses for clustering and in-memory replication
              > >for both servlets
              > >and EJBs.
              > >
              > >Hope this helps,
              > >Robert
              > >
              > >Prasad Peddada wrote:
              > >
              > >> I don't think replication license is part of it.
              > >>
              > >> -- Prasad
              > >>
              > >> Robert Patrick wrote:
              > >>
              > >> > I was under the impression that our eval licenses
              > >now include clustering.
              > >> > Please open up your license.bea file to see if this
              > >is the case...
              > >> >
              > >> > Prasad Peddada wrote:
              > >> >
              > >> > ? Frank,
              > >> > ?
              > >> > ? I meant you need clustering license. Contact
              > >your sales rep to get an
              > >> > ? eval license.
              > >> > ?
              > >> > ? You can ignore groups for now.
              > >> > ?
              > >> > ? -- Prasad
              > >> > ?
              > >> > ? Frank Olsen wrote:
              > >> > ?
              > >> > ? ? Prasad Peddada [email protected]? wrote:
              > >> > ? ? ?No, you can't use In Memory replication without
              > >clustering
              > >> > ? ? ?license.
              > >> > ? ? ?
              > >> > ? ?
              > >> > ? ? Great!
              > >> > ? ?
              > >> > ? ? Could you please tell me how to configure this?
              > >> > ? ?
              > >> > ? ? The documentation took me from configuring replication
              > >of HTTP
              > >> > ? ? sessions in:
              > >> > ? ? http://e-docs.bea.com/wls/docs60/cluster/servlet.html
              > >> > ? ? to configuring Replication Groups in:
              > >> > ? ? http://e-docs.bea.com/wls/docs60/cluster/setup.html#683053
              > >> > ? ? which tells you to:
              > >> > ? ? 1. Open the Administration Console.
              > >> > ? ? 2. Select the Servers node.
              > >> > ? ? 3. Select the server to configure.
              > >> > ? ? 4. Select the Cluster tab.
              > >> > ? ? 5. Type in values for the following attribute
              > >fields:
              > >> > ? ? a) Replication Group: Enter the replication
              > >group name to
              > >> > ? ? which this server belongs.
              > >> > ? ? b) Preferred Secondary Group: Enter the name
              > >of the replication
              > >> > ? ? group you would like to use to host replicated
              > >HTTP session states
              > >> > ? ? for this server.
              > >> > ? ? 6. Apply the changes.
              > >> > ? ?
              > >> > ? ? It's all well to give names of these groups, but
              > >where do you specify
              > >> > ? ? the servers in the group?
              > >> > ? ?
              > >> > ? ? There's a link to:
              > >> > ? ? http://e-docs.bea.com/wls/docs60/adminguide/config.html#config_005
              > >> > ? ? which gives a list of configuration tasks (Configuring
              > >an individual
              > >> > ? ? server, Cloning an indv. server, ...).
              > >> > ? ?
              > >> > ? ? Where to I go from here?
              > >> > ? ?
              > >> > ? ? Regards,
              > >> > ? ? Frank Olsen
              > >
              

Maybe you are looking for

  • Can no longer connect to WiFi after iOS 6

    After updating my iPhone 3GS to iOS 6.0 not 2 hours ago, everything seemed fine - for about 30 minutes. I soon lost all connections to my personal WiFi router in my house (both of them, actually). For a short period of time I was not even able to fin

  • Connect a macbook pro to on old tv with only aerial cable input

    I'm trying to connect a macbook pro to on old tv with only aerial cable input, i have a mini displayport to vga, vga to s-video/phono(yellow) and a phono to aerial, the macbook doesnt recognize it as a display, any suggestions? Can i force it to send

  • Recommendations for a Bluetooth iSynch-capable cell phone Not Motorola

    Hi all, I am in the market for a new phone that willl enable me to interact with iCal and Address Book. I have always hated the Motorola menu systems, currently have a Sony Ericcson Z500, and had great success a long time ago with Nokias in the Winte

  • LineChart Performance with createSymbols on

    I am using JavaFX 2.2 and creating a LineChart with lots of data points (8 series with 20K points each for a total of 60K data points). This works quite nicely if I setCreateSymbols(false). If I turn symbols on so that I can see the markers, it becom

  • I have a field I want to have a sql statemnet validate the data entered....

    What I have is a field that I want 5 acceptable entries, and only those entries able to be submitted. So if the acceptable entry is dog and someone enters cat, I want to force an error. Anyone want to show me how easy it is?