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
          

Similar Messages

  • 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
              

  • 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
              >> >
              >> >
              >>
              >
              >
              

  • Help! Mid files cause "out of memory" session shut down.

    When I export .mid files from Reason 7 and import them into Logic Pro 9, it give me the error message "out of memory" and shuts down the session. Help!!

    I tried a number of values that were multiples of 1024 (2048, etc).
    The only thing that worked seemed to be changing the number and rebooting the server machine.
    Not sure what caused the initial problem though.  Saw very wierd activity in the FMS console.  Had a few hundred users connected, as I typically do for one of my events, and the chat application was repeatedly unloaded from FMS.  When it was reloaded the FMS console would show crazy large numbers in the "Clients" column - numbers like 3954.  Then it would drop to like 340.  Then shoot up again to wildly large numbers.
    Is that the result of a memory problem?

  • 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
              >
              

  • Opt-out low memory 512mb devices for from accessing a Universal app project app in the Store

    I would like to opt out low memory 512mb Windows Phone devices from finding and downloading our app. The suggested method to add the tag <m3:MinDeviceMemory>1GB</m3:MinDeviceMemory>
    into the appx manifest didn't help us to achieve our goal. Low memory devices still can find and install our app. The app is Universal app. The app id is 1f2239bf-87ce-428f-b91f-823aa7e1ae6a.
    Thanks.

    Hi Alex,
    I found such features, but it was for windows phone 8 and windows phone 8.1 silverlight only. You can see it in Memory-related manifest entries section in the following link.
    http://msdn.microsoft.com/en-us/library/windows/apps/jj681682(v=vs.105).aspx.
    In this case, I would recommend you check the device memory at runtime and disable some features when it is necessary. Use
    this one to check the memory in phone project in universal app.
    Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. Click HERE to participate
    the survey.

  • Windows Mail could not be started. Make sure that your disk is not full or that you are not out of memory (0x800C0155).

    I have Vista SP2. Every time I open Firefox (3.6.13), I get three consecutive error messages:
    1) Windows Mail could not be started. The application was unable to open the Windows Mail message store. Your Windows Mail mailbox data is currently being used by another program, such as a virus scanner. Close the program or wait for it to complete its operation, then open Windows Mail again (0x800C0155).
    2) Windows Mail could not be started. Make sure that your disk is not full or that you are not out of memory (0x800C0155).
    3) Windows Mail could not be started because MSOE.DLL could not be initialized.
    This series of messages continue to recur during my Firefox session and eventually will freeze up my session.
    I use Gmail. I do not use Windows Mail or Outlook Express and deleted Windows Live Mail. There is a a file named msoe.dll using the path C: /Program Files/Windows Mail. I also found C:/Program Files/Windows Live/RemoteActiveX even though I thought I deleted all Windows Live programs.
    I have set Firefox as the default browser. Also, in Firefox, if I click on "File=>Send Link", it triggers the series of three error messages above.
    I don't understand why Gmail would reference Winmail. Any ideas how I can fix this? Can I or should I delete the Windows Mail and Windows Live folders?

    I have had many problems with permissions on Windows Vista, 7,8 & 81.1.  It is usually after an update or installation, especially one that requires a reboot to finish (some AVG, Windows Live, Windows Updates, etc).  Once File(s), Folder(s)
    and Registry Key(s) permissions are screwed up, it can take days to work them out if ever.
    After having spent several hours on a clients PC and online forums with this problem.  I transferred her user profile with a free program called
    Transwiz (run as Administrator) to a zip file on the HDD.  I renamed her user in manage User Accounts to "Username old".  I then ran Transwiz again to restore the profile but telling it to create a new user using the original Username.
     After it completed restoring the profile, I logged out of "Username old" and logged in to Username and all wass well, I only needed to supply the email password which is not transferred.  When you move profile data, all the old permissions
    have to be removed and <st1:personname w:st="on">new</st1:personname> permissions added so the data and files belong to the <st1:personname w:st="on">new</st1:personname> user.  This cleared up all the permission
    problems.
    James Taylor

  • 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 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?
              >
              

  • 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
              > >>
              > >
              > >
              

  • Out of memory on rhel 4

    Hi,
    I'm facing unregular but reccurent out of memory errors with Jrockit R27.2 and R27.6 (java 1.5).
    System is RHEL 4 (update 7) with 8Go of memory. 4Go are dedicated to hugepages (2000 * 2mo pages).
    When crash occurs, the system still have free memory. It can happen after 30min or after one week of load.
    JVM is running a tomcat server managing a webapp delivering "heavy" trafic : about 30-60 req/s and up to 100Mo allocated per second.
    I didn't find any clue about this issue. No specific system logs. Is there a known incompatibility with some versions of glibc or kernel ?
    What tests can I do to isolate the problem ?
    Regards,
    Bj
    My jvm configuration is as follow :
    export JAVA_OPTS="$JAVA_OPTS -Xmanagement:port=7091,ssl=false,authenticate=false -Djrockit.lockprofiling=false"
    export JAVA_OPTS="$JAVA_OPTS -d64 -Xms3584m -Xmx3584m -XlargePages -XXcompressedRefs=0"
    export JAVA_OPTS="$JAVA_OPTS -XXsetGC:genconcon -Xns160m -XXgcThreads:4"
    export JAVA_OPTS="$JAVA_OPTS -XXallocClearChunks -XXkeeparearatio=50"
    export JAVA_OPTS="$JAVA_OPTS -XXstaticCompaction -XXcompactRatio:10"
    export JAVA_OPTS="$JAVA_OPTS -XXtlasize:min=12k,preferred=128k -XXlargeObjectLimit:8k"
    export JAVA_OPTS="$JAVA_OPTS -XXlazyUnlocking -Djrockit.useAdaptiveFatSpin=true"
    export JAVA_OPTS="$JAVA_OPTS -XnoOpt"
    export JAVA_OPTS="$JAVA_OPTS -showversion -Xverify:none -XXexitOnOutOfMemory -XXnoSystemGC"
    Here's one stacktrace :
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 351797264, Num elements: 351797248
    at jrockit/vm/Allocator.allocLargeArray(JIZ)Ljava/lang/Object;(Native Method)
    at jrockit/vm/Allocator.allocArray(JIZ)Ljava/lang/Object;(Unknown Source)
    at java/io/ByteArrayOutputStream.write(ByteArrayOutputStream.java:95)
    at java/io/ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1685)
    at java/io/ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1594)
    at java/io/ObjectOutputStream.writeObject0(ObjectOutputStream.java:1085)
    at java/io/ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
    at java/util/HashMap.writeObject(Ljava/io/ObjectOutputStream;)V(Unknown Source)
    at sun/reflect/GeneratedMethodAccessor562.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
        at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java/lang/reflect/Method.invoke(Method.java:585)
        at java/io/ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
        at java/io/ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
        at java/io/ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java/io/ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java/io/ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
        at java/io/ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
        at java/io/ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java/io/ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java/io/ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
        at org/apache/catalina/cluster/session/DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:347)
        at org/apache/catalina/cluster/session/DeltaRequest.writeExternal(DeltaRequest.java:264)
        at org/apache/catalina/cluster/session/DeltaManager.unloadDeltaRequest(DeltaManager.java:715)
        at org/apache/catalina/cluster/session/DeltaManager.requestCompleted(DeltaManager.java:1298)
        at org/apache/catalina/cluster/tcp/ReplicationValve.send(ReplicationValve.java:549)
        at org/apache/catalina/cluster/tcp/ReplicationValve.sendMessage(ReplicationValve.java:536)
        at org/apache/catalina/cluster/tcp/ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:518)
        at org/apache/catalina/cluster/tcp/ReplicationValve.sendReplicationMessage(ReplicationValve.java:428)
        at org/apache/catalina/cluster/tcp/ReplicationValve.invoke(ReplicationValve.java:362)
        at org/apache/catalina/valves/ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org/apache/catalina/core/StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org/apache/catalina/connector/CoyoteAdapter.service(CoyoteAdapter.java:151)
        at org/apache/jk/server/JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
        at org/apache/jk/common/HandlerRequest.invoke(HandlerRequest.java:283)
        at org/apache/jk/common/ChannelSocket.invoke(ChannelSocket.java:773)
        at org/apache/jk/common/ChannelSocket.processConnection(ChannelSocket.java:703)
        at org/apache/jk/common/ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
        at org/apache/tomcat/util/threads/ThreadPool$ControlRunnable.run(ThreadPool.java:685)
        at java/lang/Thread.run(Thread.java:595)
        at jrockit/vm/RNI.c2java(JJJJ)V(Native Method)
    -- end of trace
    JRockit aborted: Out of memory (68)
    Failed to acquire native memory. Try reducing Java heap size using -Xmx:<size> (i.e "-Xmx16m")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Hi,
    Thanks for your smart reply.
    I've looked to errors and I've objects from 2mo to 1.7go !?
    The size of the object doesn't seem to be significant but maybe the content.
    All errors happen during session replication. Maybe sometimes I have an huge/weird session.
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 96206864, Num elements: 96206848
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 2098192, Num elements: 1049086
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 196345872, Num elements: 196345856
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 419954704, Num elements: 419954688
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 1738539024, Num elements: 1738539008
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 2801680, Num elements: 2801664
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 351797264, Num elements: 351797248
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 206569488, Num elements: 206569472
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 351272976, Num elements: 351272960
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 289406992, Num elements: 289406976
    java.lang.OutOfMemoryError: allocLargeArray - Object size: 351797264, Num elements: 351797248
    Regards,
    Bj

  • Help please jvm out of memory

    Could some some please help me with this i hava a programe which is reading email from amd email sever using javamail.
    My problem is that when this pgrograme have to read more than 27 thousand emails and filter them at the same time but as soon as i get to 5900 the jvm runs out of memory. i have tried increaing memory using -Xms and Xms this seem to work but i still get memory leaking could some one have a look at my code i would be very happy to any light at to why or where the leak is comming from.
    at the moment i have managed to track the leak to the "searchEMail" method
    if you cam help my email is [email protected] or [email protected]
    =====================================================================
    EmailFilter.java
    wokoli
    =====================================================================
    import java.io.*;
    import java.util.*;
    import java.awt.*;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.swing.JProgressBar;
    import javax.swing.JWindow;
    public class EmailFilter
      extends Authenticator implements EmailHelper
      protected String from=null;
      protected Session session=null;
      protected PasswordAuthentication authentication=null;
      private Properties props=null;
      private TreeMap bounced=null; 
      private long start=0;
      private long end=0;
      private PrintWriter out=null;
      private int blockSize=100;
      private Store store=null;
       public EmailFilter(Properties props){  
        this(null, null,props);
      public EmailFilter(String user, String host,Properties props)
      try{      
        if(props==null)
          props = new Properties();
          System.out.println("Reading properties file...");
          props.load(new FileInputStream("config.properties"));
          from = user + '@' + host;     
          props.setProperty("mail.user", user);
          props.setProperty("mail.host", host);
          props.setProperty("mail.password",user);     
      }catch(Exception e){
         e.printStackTrace();
        authentication = new PasswordAuthentication(props.getProperty("mail.user"),props.getProperty("mail.password"));
        props.setProperty("mail.store.protocol", "pop3");
        props.setProperty("mail.transport.protocol", "smtp");
        session = Session.getInstance(props, this);
        blockSize=Integer.parseInt(props.getProperty(BLOCKSIZE));
        this.props=props;       
        processCsvFile();
    private int column=0; 
    protected void processCsvFile()
      Recipient resp=null;
      BufferedReader reader=null;
      try {
        File  file=new File("report.csv");
        if(!file.exists())
         return;      
        System.out.println("Reading report.cvs file...");
        reader= new BufferedReader(new FileReader(file));
        StreamTokenizer parser = new StreamTokenizer(reader);
        parser.wordChars(' ', ' ');
        parser.wordChars('@', '@');
        parser.wordChars(':', ':');
        parser.wordChars('-', '-');
        parser.wordChars('"', '"');
        parser.eolIsSignificant(true);
        int nxtToken=0;
        while ((nxtToken=parser.nextToken()) != StreamTokenizer.TT_EOF )
          if(nxtToken==StreamTokenizer.TT_EOL)
           column=0;     
           resp=new BouncedEmail();
         if(parser.lineno()>1)
          switch (parser.ttype)
            case StreamTokenizer.TT_NUMBER:
             switch (column)
                case 1:{
                   resp.setCount((int)parser.nval);       
                       column++; break;
               break;
            case StreamTokenizer.TT_WORD:
               switch (column)
                case 0:{                             
                    resp.setEmail(parser.sval);            
                       column++; break;}
                case 2:{
                 String str=parser.sval.replace('"',' ');;
                    resp.setDate(str.trim());     
                       column++;break;}
                case 3:{                  
                 String str=parser.sval.replace('"',' ');;
                    resp.setTime(str.trim());                 
                       column++; break;}
               break;
               default:
             addBounced(resp);
           } catch (IOException e){
               e.printStackTrace();
          }finally{
          try{
              if(reader!=null)
                  reader.close();      
             }catch(IOException ioe){
            ioe.printStackTrace();
      public PasswordAuthentication getPasswordAuthentication(){
        return authentication;
      private boolean searchEmail(MimeMessage msg)
       String criteria=null;
       String str=null;
    try{      
        criteria=(String)props.get(FROM);
        str=(String)msg.getFrom()[0].toString();
        if(criteria!=null && criteria.length()>1 && str!=null && str.length()>1)
         if(doSearch(str,criteria)==BOUNCED)
           return BOUNCED;
       criteria=(String)props.get(SUBJECT);
       str=(String)msg.getSubject();
       if(criteria!=null && criteria.length()>1 && str!=null && str.length()>1)
        if(doSearch(str,criteria)==BOUNCED)
         return BOUNCED;  
      /*criteria=(String)props.get(BODY); 
       Object  o = msg.getContent();
      if (o instanceof String) {
        str=(String)o;   
       } else if (o instanceof Multipart) {
        Multipart mp = (Multipart)o;
        //int count = OutOfMemoryErrormp.getCount();
        //for (int i = 0; i < count; i++)
        //dumpPart(mp.getBodyPart(i));
       } else if (o instanceof InputStream) {
         //System.out.println("--This is just an input stream");
         //InputStream is = (InputStream)o;
         //int c;
         //while ((c = is.read()) != -1)
         //     System.out.write(c);
      if(criteria!=null && criteria.length()>1 && str!=null && str.length()>1)
        if(doSearch(str,criteria)==BOUNCED)
         return BOUNCED; 
    }catch(OutOfMemoryError oome){
        System.out.println("while in searchEmail "+oome);   
        System.out.println("while in searchEmail "+oome.getStackTrace());
        finalize();
        System.exit(0);  
      catch(javax.mail.internet.AddressException ae){}
      catch(NullPointerException npe){}
      catch(Exception ex){
       //ex.printStackTrace();
       ex.getMessage();
      return !BOUNCED;
      //str is the content that you wnat to search and criteria is the 
      //what you are searching for
      //str      -> From, Subject or Body from Message Object
      //criteria -> From, Subject or Body from Prop file 
      private boolean doSearch(String str,String criteria)
      if(str==null || criteria ==null)
         return !BOUNCED;
        StreamTokenizer token=new StreamTokenizer((Reader)new StringReader(criteria));
        StringSearch sch=new StringSearch(str.getBytes());
        token.wordChars(' ', ' ');
        token.wordChars('@', '@');
        token.wordChars(':', ':');
        token.wordChars('-', '-');
        token.wordChars('"', '"');
        token.eolIsSignificant(true);
        int nxtToken=0;
        try{
        while ((nxtToken=token.nextToken()) != StreamTokenizer.TT_EOF )
           if(token.ttype==StreamTokenizer.TT_WORD)
         if(sch.indexOf(token.sval)>-1)
              return BOUNCED;              
          }catch(OutOfMemoryError oome)
             System.out.println("while in doSearch ");
             oome.printStackTrace();
        }catch(IOException ioe){
         ioe.printStackTrace();
        return !BOUNCED;
      public void sendMessage(String to, String subject, String content) throws MessagingException
          MimeMessage msg = new MimeMessage(session);
        msg.addRecipients(Message.RecipientType.TO, to);
        msg.setSubject(subject);
        msg.setText(content);
        Transport.send(msg);
      private void addBounced(Recipient resp)
        if(resp==null)
         return;        
        if(bounced==null)
             bounced=new TreeMap();
        String email =resp.getEmail();
        if(email==null)
             return;
         if(isExisting(email)==null){    
           bounced.put(email,resp); 
      private String isExisting(String key)
       if(key==null || bounced==null)
        return null;    
      String name=null;
      Iterator itr=bounced.keySet().iterator();
      while(itr.hasNext())
       name=(String)itr.next();
       if(name==null)
          return null;
       if(name.equals(key))
        return name;
      return null;
    private void writeReport()
      if(bounced==null)
           return;
      Recipient resp=null;  
      File file =null;
       try{
      if(out==null) //writing for to file for the first time
        file=new File("report.csv");
        if(file.exists())
         System.out.println("Found and deleted report file "+file.delete());
         file =new File("report.csv");
         out =new PrintWriter(
              new BufferedWriter(
              new FileWriter(file)),true); 
          out.println("Email,Count,Last Date Bounced,Lasted Time Bounced");    
       Iterator itr=bounced.keySet().iterator();
       String key=null;
       System.out.println("Writing report...");
       while(itr.hasNext())   
        key=(String)itr.next();
        resp=(Recipient)bounced.get(key);
        out.println(key+","+resp.getCount()+",\""+resp.getDate()+"\",\""+resp.getTime()+"\"");     
       }catch(Exception ex){
        ex.printStackTrace();
       }finally{
        if(bounced!=null)
         bounced.clear();
         bounced=null;
         out.flush();
    private void collectGarbage()
      System.out.println("mem before "+Runtime.getRuntime().freeMemory());
      Runtime.getRuntime().gc();
      System.out.println("mem after "+Runtime.getRuntime().freeMemory());
      System.out.println("Garbage collected");     
    private void createBouncedEmail(String email,String date, String time,int count)
       if(email==null)
        return;
       String name=isExisting(email);
       if(name!=null)
        Recipient res=(Recipient)bounced.get(name);
        bounced.remove(name);             
        int c=res.getCount();
        addBounced(new BouncedEmail(email,res.getDate(),res.getTime(),++c));
       }else  
       addBounced(new BouncedEmail(email,date,time,count));
      public void checkInbox(int mode) throws MessagingException, IOException
       Folder inbox=null;
    //   Store store= null;
       JProgressBar pbar=null;
       JWindow window=null;
       try
        if (mode <0) return;
         boolean show = (mode & SHOW_MESSAGES) > 0;
         boolean clear = (mode & CLEAR_MESSAGES) > 0;
         String action =
          (show ? "Show" : "") +
          (show && clear ? " and " : "") +
          (clear ? "Clear" : "");
         System.out.println("Checking mail on: "+props.getProperty("mail.host"));     
         store = session.getStore();
         System.out.println("Trying to connect to mail server: "+props.getProperty("mail.host"));
         store.connect();    
         System.out.println("Connected on mail server : "+getRequestingSite());    
         Folder root = store.getDefaultFolder();    
         inbox = root.getFolder(INBOX);
         System.out.println("Opening mail folder for Reading");    
         inbox.open(Folder.READ_ONLY);
         Message[] msgs = inbox.getMessages();
         if (msgs.length ==0){
          System.out.println("No messages in inbox");
        for (int cnt = 0; cnt < msgs.length; cnt++)
          MimeMessage msg = (MimeMessage)msgs[cnt];
          System.out.println("Reading msg "+cnt);
         if(searchEmail(msg)==BOUNCED)
          createBouncedEmail(msg.getFrom()[0].toString(),null,null,-1);
         if (show)
             System.out.println("    From: " + msg.getFrom()[0]);
             System.out.println(" Subject: " + msg.getSubject());
             System.out.println(" Content: " + msg.getContent());
         if (clear)
            msg.setFlag(Flags.Flag.DELETED, true);
         if((bounced!=null && bounced.size()==blockSize) || cnt==msgs.length-1)
          writeReport();
         if(cnt%100==0)
            collectGarbage();
        //writeReport();
        //end=new Date().getTime();
        //System.out.println("Time complted: "+new Date());  
        //System.out.println("Time taken to complete: "+new Date(end-start));
       }catch(OutOfMemoryError oome)
             System.out.println("while in checkInbox ");
             oome.printStackTrace(); 
       }catch (AuthenticationFailedException afe){
            afe.printStackTrace();
       }finally{
       if(window!=null)
         window.dispose();
       if(inbox!=null)
        inbox.close(true);
       if(store!=null)
        store.close();
       if(out!=null)
        out.close();
    protected void finalize() 
          try{
               if(out!=null)
      out.close();
               if(store!=null)
      store.close();
      System.out.println("Closing connection...");
          }catch(Exception ex){
          ex.printStackTrace();
    }

    Cross posted
    http://forum.java.sun.com/thread.jsp?thread=429947&forum=4&message=1920034

  • 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
              

  • 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!
              

  • I am running out of memory on my hard drive and need to delete files. How can I see all the files/applications on my hard drive so I can see what is taking up a lot of room?

    I am running out of memory on my hard drive and need to delete files. How can I see all the files/applications on my hard drive so I can see what is taking up a lot of room?
    Thanks!
    David

    Either of these should help.
    http://grandperspectiv.sourceforge.net/
    http://www.whatsizemac.com/
    Or search 'disk size' in the App Store.
    Be carefull with what you delete & have a backup BEFORE you start, you may also want to reboot to try to free any memory that may have been written to disk.

Maybe you are looking for

  • Can I move Lion from my old work laptop to a "new" one (still running snow leopard) without repurchasing?

    I had an old Macbook through my work that was running Leopard 10.5.8.  After a while, I could not use a few programs on it that I wanted to, and my company was not upgrading the OS, so I purchased Mountain Lion and upgraded to 10.8.4. Six months late

  • Defaulting Item category in Equp BOM

    Dear Experts, I  have a problem at the time of creating Equipment BOM, i am mentioning all the details in Header data and while entering the material numbers, it is asking to enter the item category. In our scenario item category for all engg materia

  • C# and JNI

    Are there any plans for JNI support of C#?

  • Wanted: App to update Skyhook database

    I live in a small city with almost no Skyhook coverage. It's not that big of a deal because it's not a large city and I always know where I am, but I'd still like to play with the new location-based applications that are coming out. My wish is to fin

  • ICal events not showing up on remote computer

    Hi, I am using .Mac to sync iCal. I write an appointment in Computer A. Computer B will sync the appointment and allocate the time on computer B but doesn't show what the appointment was. Any idea?