NullPointerException when doing in-memory-replication

I am clustering two WLS instance sitting behind a WLS NSAPI proxy on one
          multi-home NT box, but when I tried to use in memory replication with adding
          the the following three properties:
          weblogic.httpd.clustering.enable=true
          weblogic.httpd.session.persistence=true
          weblogic.httpd.session.persistentStoreType=replicated
          I got the exception below. if I removed the session.persistence and
          session.persistentStoreType properties, the request will go through and both
          instance can serve request, but I lost the session information in fail over.
          Any hints will be appreciated!
          Qingxiang
          java.lang.NullPointerException
          at
          weblogic.servlet.internal.session.ReplicatedSession.setMaxInactiveInterval(R
          eplicatedSession.java:339)
          at
          weblogic.servlet.internal.session.SessionContext.getNewSessionInstance(Sessi
          onContext.java:322)
          at
          weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
          l.java:1104)
          at
          weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
          ava:1007)
          at
          weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
          ava:981)
          at
          weblogic.servlet.jsp.PageContextImpl.initialize(PageContextImpl.java:47)
          at
          weblogic.servlet.jsp.PageContextImpl.<init>(PageContextImpl.java:64)
          at
          weblogic.servlet.jsp.JspFactoryImpl.getPageContext(JspFactoryImpl.java:31)
          at jsp_servlet.index._jspService(index.java:105)
          at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
          at
          weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
          :123)
          at
          weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
          :141)
          at
          weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
          l.java:744)
          at
          weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
          l.java:692)
          at
          weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
          Manager.java:251)
          at
          weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
          at
          weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
          

I forgot to add that I am running WLS5.1 with sp3.
          "Qingxiang Ke" <[email protected]> wrote in message
          news:[email protected]...
          > I am clustering two WLS instance sitting behind a WLS NSAPI proxy on one
          > multi-home NT box, but when I tried to use in memory replication with
          adding
          > the the following three properties:
          >
          > weblogic.httpd.clustering.enable=true
          > weblogic.httpd.session.persistence=true
          > weblogic.httpd.session.persistentStoreType=replicated
          >
          > I got the exception below. if I removed the session.persistence and
          > session.persistentStoreType properties, the request will go through and
          both
          > instance can serve request, but I lost the session information in fail
          over.
          >
          > Any hints will be appreciated!
          >
          > Qingxiang
          >
          > java.lang.NullPointerException
          > at
          >
          weblogic.servlet.internal.session.ReplicatedSession.setMaxInactiveInterval(R
          > eplicatedSession.java:339)
          > at
          >
          weblogic.servlet.internal.session.SessionContext.getNewSessionInstance(Sessi
          > onContext.java:322)
          > at
          >
          weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
          > l.java:1104)
          > at
          >
          weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
          > ava:1007)
          > at
          >
          weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
          > ava:981)
          > at
          > weblogic.servlet.jsp.PageContextImpl.initialize(PageContextImpl.java:47)
          > at
          > weblogic.servlet.jsp.PageContextImpl.<init>(PageContextImpl.java:64)
          > at
          > weblogic.servlet.jsp.JspFactoryImpl.getPageContext(JspFactoryImpl.java:31)
          > at jsp_servlet.index._jspService(index.java:105)
          > at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
          > at
          >
          weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
          > :123)
          > at
          >
          weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
          > :141)
          > at
          >
          weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
          > l.java:744)
          > at
          >
          weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
          > l.java:692)
          > at
          >
          weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
          > Manager.java:251)
          >
          > at
          >
          weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
          > at
          > weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
          > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
          >
          >
          >
          

Similar Messages

  • How much does in-memory replication boost txn rates?

    I posted the note below on the weblogic.developer.interest.clustering" list.
              As a supplement to that question, I'm wondering how much of a boost to
              transaction rates that anyone sees from using in-memory replication with
              WebLogic?
              =====================
              How many peak/average transactions per second is anyone pushing through
              WebLogic? With what response time? On what version of WebLogic? With what
              sort of a configuration?
              If you don't have transactions per second, any other measures of performance
              and scalability would be interesting.
              Randy Heffner
              Giga Information Group
              

              Mike -
              Thanks for the reply -- I phrased my question poorly. What I intended was
              this:
              - Compared to saving context to disk (so that it is accessible across
              servers in a cluster), how much does in-memory replication boost transaction
              throughput rates?
              I'm just wondering if anyone has measured the difference in their
              environment.
              Randy
              "Mike Reiche" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Boost transaction rates? No - it degrades transaction rates. Replicating
              data is
              > extra work.
              >
              > Mike
              >
              > "Randy Heffner" <[email protected]> wrote:
              > >I posted the note below on the weblogic.developer.interest.clustering"
              > >list.
              > >As a supplement to that question, I'm wondering how much of a boost to
              > >transaction rates that anyone sees from using in-memory replication with
              > >WebLogic?
              > >
              > >=====================
              > >How many peak/average transactions per second is anyone pushing through
              > >WebLogic? With what response time? On what version of WebLogic? With
              > >what
              > >sort of a configuration?
              > >
              > >If you don't have transactions per second, any other measures of
              performance
              > >and scalability would be interesting.
              > >
              > >Randy Heffner
              > >Giga Information Group
              > >
              > >
              > >
              > >
              >
              

  • Java.lang.NullPointerException when doing SQL on ms access

    I am trying to perform Insert and delete commands on an access database and I continue to get a java.lang.NullPointerException when performing the action. Everything is fine when i do a Select * FROM..., I am able to read all of the information I ask for, but when performing the Insert/Delete commands I get the error. Any help would be appreciated, I will copy and past a portion of my code below. All of the fields and variable types match with what is in the database.
    public void executeAddSecretary() throws SQLException{
    String a,b;
    a= txtSecLname.getText();
    b= txtSecFname.getText();
    statement.execute("INSERT INTO Contact_Sec (Sec_Lname,Sec_Fname) Values ('" + a + "', '" + b + "')");
    System.out.println("updated Secretary");
    public void executeDeleteContact() throws SQLException{
    String a = "a";
    statement.execute("DELETE FROM Contact WHERE Lname = ('" + a + "')");
    System.out.println("deleted contact");
    Thanks to anyone who can help me out.

    1) Use prepared statement instead of statement.
    2) Do like this ...
    PreparedStatement prepStmt = null;
    try
         String query="INSERT INTO Contact_Sec (Sec_Lname,Sec_Fname) Values (?,?)");
         prepStmt = connection.prepareStatement(query);
         prepStmt.setString(1, value1);
         prepStmt.setString(2, value2);
         prepStmt.executeUpdate();
    catch (SQLException e)
         throw e;
    catch (Exception e)
         throw e;
    finally
         try
              if (prepStmt != null)
                   prepStmt.close();
         } catch (Exception e) {}
         try
              if (connection != null)
                   connection.close();
         } catch (Exception e) {}
    }3) If you still get the null exception then put step wise System.out's
    and debug it.
    -Rohit

  • NullPointerException when doing a getObjectById

    In one circumstance I am getting a NullPointerException when performing a
    getObjectById. I double checked to be sure that all fields of the object
    Id are filled properly and that the metadata is mapped properly. This
    error is with 2.5.0 b2
    - Jeff
    Exception and Stack Trace:
    com.solarmetric.kodo.runtime.FatalException: java.lang.NullPointerException
    NestedThrowables:
    java.lang.NullPointerException
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(PersistenceManagerImpl.java:1150)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:1045)
    at
    dtv.pos.tender.TenderHelper.getTenderSettingsForGroup(TenderHelper.java:69)
    at
    dtv.pos.tender.ValidateTenderAmountRule.validateGroup(ValidateTenderAmountRule.java:42)
    at
    dtv.pos.tender.ValidateTenderAmountRule.isValid(ValidateTenderAmountRule.java:28)
    at
    dtv.pos.common.AbstractValidationOp.applyValidationRules(AbstractValidationOp.java:205)
    at
    dtv.pos.common.AbstractValidationOp.runValidationCheck(AbstractValidationOp.java:170)
    at
    dtv.pos.common.AbstractValidationOp.handleOpExec(AbstractValidationOp.java:133)
    at
    dtv.pos.framework.op.DefaultOpChain.internalDoOp(DefaultOpChain.java:353)
    at
    dtv.pos.framework.op.DefaultOpChain.handleOpExec(DefaultOpChain.java:178)
    at
    dtv.pos.framework.op.OpChainProcessor.runChain(OpChainProcessor.java:336)
    at
    dtv.pos.framework.op.OpChainProcessor.internalEventHandle(OpChainProcessor.java:271)
    at dtv.pos.framework.op.OpChainProcessor.run(OpChainProcessor.java:106)
    at java.lang.Thread.run(Thread.java:536)
    NestedThrowablesStackTrace:
    java.lang.NullPointerException
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.initialize(StateManagerImpl.java:216)
    at
    com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.loadByPK(ClassMapping.java:986)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStoreManager.java:327)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerImpl.java:177)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(PersistenceManagerImpl.java:1143)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:1045)
    at
    dtv.pos.tender.TenderHelper.getTenderSettingsForGroup(TenderHelper.java:69)
    at
    dtv.pos.tender.ValidateTenderAmountRule.validateGroup(ValidateTenderAmountRule.java:42)
    at
    dtv.pos.tender.ValidateTenderAmountRule.isValid(ValidateTenderAmountRule.java:28)
    at
    dtv.pos.common.AbstractValidationOp.applyValidationRules(AbstractValidationOp.java:205)
    at
    dtv.pos.common.AbstractValidationOp.runValidationCheck(AbstractValidationOp.java:170)
    at
    dtv.pos.common.AbstractValidationOp.handleOpExec(AbstractValidationOp.java:133)
    at
    dtv.pos.framework.op.DefaultOpChain.internalDoOp(DefaultOpChain.java:353)
    at
    dtv.pos.framework.op.DefaultOpChain.handleOpExec(DefaultOpChain.java:178)
    at
    dtv.pos.framework.op.OpChainProcessor.runChain(OpChainProcessor.java:336)
    at
    dtv.pos.framework.op.OpChainProcessor.internalEventHandle(OpChainProcessor.java:271)
    at dtv.pos.framework.op.OpChainProcessor.run(OpChainProcessor.java:106)
    at java.lang.Thread.run(Thread.java:536)

    I have discovered that the cause of this error was that we accidentaly
    made the class abstract. I am confused however as to why this caused a
    null-pointer exception, as opposed to an exception that complained about
    trying to instantiate an abstract class.
    Jeff Sheldon wrote:
    In one circumstance I am getting a NullPointerException when performing a
    getObjectById. I double checked to be sure that all fields of the object
    Id are filled properly and that the metadata is mapped properly. This
    error is with 2.5.0 b2
    - Jeff
    Exception and Stack Trace:
    com.solarmetric.kodo.runtime.FatalException: java.lang.NullPointerException
    NestedThrowables:
    java.lang.NullPointerException
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(PersistenceManagerImpl.java:1150)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:1045)
    at
    dtv.pos.tender.TenderHelper.getTenderSettingsForGroup(TenderHelper.java:69)
    at
    dtv.pos.tender.ValidateTenderAmountRule.validateGroup(ValidateTenderAmountRule.java:42)
    at
    dtv.pos.tender.ValidateTenderAmountRule.isValid(ValidateTenderAmountRule.java:28)
    at
    dtv.pos.common.AbstractValidationOp.applyValidationRules(AbstractValidationOp.java:205)
    at
    dtv.pos.common.AbstractValidationOp.runValidationCheck(AbstractValidationOp.java:170)
    at
    dtv.pos.common.AbstractValidationOp.handleOpExec(AbstractValidationOp.java:133)
    at
    dtv.pos.framework.op.DefaultOpChain.internalDoOp(DefaultOpChain.java:353)
    at
    dtv.pos.framework.op.DefaultOpChain.handleOpExec(DefaultOpChain.java:178)
    at
    dtv.pos.framework.op.OpChainProcessor.runChain(OpChainProcessor.java:336)
    at
    dtv.pos.framework.op.OpChainProcessor.internalEventHandle(OpChainProcessor.java:271)
    at dtv.pos.framework.op.OpChainProcessor.run(OpChainProcessor.java:106)
    at java.lang.Thread.run(Thread.java:536)
    NestedThrowablesStackTrace:
    java.lang.NullPointerException
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.initialize(StateManagerImpl.java:216)
    at
    com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.loadByPK(ClassMapping.java:986)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStoreManager.java:327)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerImpl.java:177)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(PersistenceManagerImpl.java:1143)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:1045)
    at
    dtv.pos.tender.TenderHelper.getTenderSettingsForGroup(TenderHelper.java:69)
    at
    dtv.pos.tender.ValidateTenderAmountRule.validateGroup(ValidateTenderAmountRule.java:42)
    at
    dtv.pos.tender.ValidateTenderAmountRule.isValid(ValidateTenderAmountRule.java:28)
    at
    dtv.pos.common.AbstractValidationOp.applyValidationRules(AbstractValidationOp.java:205)
    at
    dtv.pos.common.AbstractValidationOp.runValidationCheck(AbstractValidationOp.java:170)
    at
    dtv.pos.common.AbstractValidationOp.handleOpExec(AbstractValidationOp.java:133)
    at
    dtv.pos.framework.op.DefaultOpChain.internalDoOp(DefaultOpChain.java:353)
    at
    dtv.pos.framework.op.DefaultOpChain.handleOpExec(DefaultOpChain.java:178)
    at
    dtv.pos.framework.op.OpChainProcessor.runChain(OpChainProcessor.java:336)
    at
    dtv.pos.framework.op.OpChainProcessor.internalEventHandle(OpChainProcessor.java:271)
    at dtv.pos.framework.op.OpChainProcessor.run(OpChainProcessor.java:106)
    at java.lang.Thread.run(Thread.java:536)

  • When does actually HttpSession replication occurs?

    I have been told this:
              "With in memory replication, the state is replicated before the request is
              sent back to the client and not after each setAttribute".
              I would like someone to confirm this.
              Thanks!
              Justin
              

    Session replication happens at the end of HTTP request not at every
              setAttribute.
              -- Prasad
              "Justin Andrews" <[email protected]> wrote in message
              news:3b8eb826$[email protected]..
              > I have been told this:
              >
              > "With in memory replication, the state is replicated before the request is
              > sent back to the client and not after each setAttribute".
              >
              > I would like someone to confirm this.
              >
              > Thanks!
              > Justin
              >
              >
              >
              >
              

  • Heap creep with in memory replication

    Solaris 5.7
              WebLogic server 5.10 SP5 (beta)
              Hi all,
              I have the folowing scenario: 1xWLS5.1 proxy 2xWLS5.1 servers
              To begin with the free heap is maintained to a usable level by the GC.
              However over a period of 30 minutes with a load of 1200 virtual users the
              free heap is reduced to 0%.
              When no in-memory replication is used and 2000 virtual users the free heap
              is maintained at 70% (90% for the proxy).
              This is causing obvious problems and is not usable. What is the problem and
              the solution?
              thanks
              -lucio
              

    -mx256M -ms256M
              -lucio
              > How much heap have you allocated when you started the vm?
              >
              > - Prasad
              >
              >
              > Lucio Piccoli wrote:
              >
              > > Solaris 5.7
              > > WebLogic server 5.10 SP5 (beta)
              > >
              > > Hi all,
              > > I have the folowing scenario: 1xWLS5.1 proxy 2xWLS5.1 servers
              > >
              > > To begin with the free heap is maintained to a usable level by the GC.
              > > However over a period of 30 minutes with a load of 1200 virtual users
              the
              > > free heap is reduced to 0%.
              > >
              > > When no in-memory replication is used and 2000 virtual users the free
              heap
              > > is maintained at 70% (90% for the proxy).
              > >
              > > This is causing obvious problems and is not usable. What is the problem
              and
              > > the solution?
              > >
              > > thanks
              > >
              > > -lucio
              >
              

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

  • When does java deallocate memory for objects;

    um i'm working on a midp application that is very memory consuming. i would like to optimise it and make it just the oposite of what it is. now i would like to know when does java dellocate memory for an object, is it when it can find no more references to that object? or some other time, well i know its not when it can find no more references to that object because i've already tried that.
    or to make things simpler is there any explicit way to make java deallocate memory for a specific object, like if i have a thread, which is executing a while loop, and i want java to end the thread and free its memory. is there any way to do this?

    I happen to have quite some J2ME experience and it's not overly wise to count on extensive garbage collection. The garbage collector in limited device VMs isnt as advanced as it's big brothers. Try to avoid excessive object allocation and reuse instances whenever possible.
    As for garbage collection, objects will be garbage collected if they can no longer be reached by any of the active application threads and if the garbage collectors deems it necessary to collect garbage, which will probably be when free heap memory becomes sparse or when there's some idle time in your application.

  • Memory consumption issues (when doing large batches of photos)

    I have a user who reports my plugin consumes memory until Lr/System is no longer operable, when doing large batches of photos.
    I have this type of problem too from time to time, but not always, and in the most recent case, *not* for the same operation my client is complaining about.
    Begs the question: is there a way to control whether excessive memory is used, or force it to be released, when doing an operation upon large batches of photos.
    Note: the operation is already concluding catalog transactions every 1000 photos (exits with-write function, and re-enters). My client reports Lr/System slowdown at about 4000 photos. He is running Lr3, Windows OS - system details not yet known.
    Rob

    Hey Rob
    Have you already tried John R. Ellis idea of reducing the transaction size? I remember from another project we had to limit the transaction size on a SQLite based database due to memory problems.
    Maybe you are facing a different problem - not sure how efficient LUAs garbage collection is and your code causes some kind of memory leaks somewhere.
    Daniel

  • "Error issuing replication: 8453 (0x2105)" when doing a repadmin /syncall

    Whenever I do a repadmin /syncall I get "CALLBACK MESSAGE: Error issuing replication: 8453 (0x2105):"
    If I do a repadmin /syncall /P the command completes with no errors
    I am running this command from the only FSMO roles holder for my domain
    This is also in our hub office which all of our branch offices connect to. 
    I was going to run "repadmin /syncall /e /P" to immediately replicate changes to all of our DCs, but I want to be sure this won't break anything.
    I found two warnings in the following Microsoft article that worry me: 
    http://technet.microsoft.com/en-us/library/cc811569(v=ws.10).aspx
    "These are very powerful subcommands and should be used sparingly as they do not follow replication agreements that are in place and have the potential to cause replication storm and break Active Directory if not used properly."
    for the /syncall switch:
    "Use this command and the above flags cautiously or you can damage the replication system because this command does not follow replication agreements nor honor any replication restrictions such as DISABLE_INBOUND_REPL or DISABLE_OUTBOUND_REPL"
    Is running this command safe or will I cause problems by doing this? I was thinking that because this is the FSMO roles holder doing a /P (push) to the other DCs from this one would be ok.
    I should also add that doing a "repadmin /replicate" to any DC executes without any errors.

    Can you post the dcdiag /q,repadmin /replsum and repadmin /syncall details of DC's to analyse the same.Please use skydive to post the log
    "Error issuing replication: 8453 (0x2105):" This can either be a DNS misconfig,secure channel between DC broken,lingering object issue or network connectivity issue,necessary ports are not fully opened between locations,etc. Microsoft's PortQry tests specific
    AD ports and the ephemeral ports, and the required responses from the services on the required AD ports it specifically scans for.  Here's more info on the ports that AD requires to properly communicate:
    Active Directory Firewall Ports -
    http://msmvps.com/blogs/acefekay/archive/2011/11/01/active-directory-firewall-ports-let-s-try-to-make-this-simple.aspx
    Also, disable local windows firewall service, by default it is enabled in vista/windows 2008 and above. Check the network connectivity and latency.
    Disable Windows Firewall:
    http://technet.microsoft.com/en-us/library/cc766337(WS.10).aspx
    Also ensure the following DNS setting on DC:
    1. Each DC / DNS server points to its private IP address as primary DNS server and other remote/local DNS servers as secondary in TCP/IP properties.
    2. Each DC has just one IP address and single network adapter is enabled.
    3. Contact your ISP and get valid DNS IPs from them and add it in to the forwarders, Do not set public DNS server in TCP/IP setting of DC.
    4. Once you are done, run "ipconfig /flushdns & ipconfig /registerdns", restart DNS and NETLOGON service each DC.
    Do not put private DNS IP addresses in forwarder list.
    5.Assign static IP address to DC if IP address is assigned by DHCP server to DC.It is strongly not recommended.
    Hope this helps.
    Best Regards,
    Sandesh Dubey.
    MCSE|MCSA:Messaging|MCTS|MCITP:Enterprise Adminitrator |
    My Blog
    Disclaimer: This posting is provided "AS IS" with no warranties or guarantees , and confers no rights.

  • 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
              

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

  • Error in pricing when doing sourcing in EBP 4.0

    Hello,
    We're experiencing random errors when doing sourcing in EBP 4.0. The shopping carts don't seem to have any similarities that could launch the error. There has been few cases when the same error has occured when user is creating a shopping cart.
    The problem occures when doing sourcing and the shopping cart is either being held or a PO is created. The error creates dump in ST22, "UNCAUGHT_EXCEPTION". This is somehow related to pricing and we have checked note 673372 and ran report BBP_CND_CUSTOMIZING_CHECK, all OK. IPC is running the same SP level as SRM, SP level 10.
    We have already created an OSS about this, but as this is completely random we haven't been able to reproduce the error and no solution has been found.
    Here's some data from ST22:
    Transaction......... "BBPSOCO01 "             
    Program............. "SAPLBBP_PDH"            
    Screen.............. "SAPLBBP_SOCO_UI_ITS 2000"
    The termination occurred in the ABAP program "SAPLBBP_PDH" in "BBP_PD_ABORT"
    The main program was "SAPLBBP_SOCO_UI_ITS ".                                                                               
    The termination occurred in line 69 of the source code of the (Include)   
    program "LBBP_PDHU08"                                                    
    of the source code of program "LBBP_PDHU08" (when calling the editor 690).
    000600   * get the messages from the application log    
    000610     TRY.                                         
    000620         CALL FUNCTION 'BBP_PD_LOG_GET_MESSAGES'  
    000630           TABLES                                 
    000640             E_MESSAGES = LT_MESSAGES.            
    000650       CATCH CX_BBP_PD_ABORT.                     
    000660         REFRESH LT_MESSAGES.                     
    000670     ENDTRY.                                      
    000680                                                  
    >     RAISE EXCEPTION TYPE CX_BBP_PD_ABORT EXPORTING
    Thanks already in advance!
    -Jussi

    Hi
    Please refer to following SAP Notes:
    Note 860935 - pricing customizing exits are missing
    Note 673372 - Short dumps UNCAUGHT_EXCEPTION in SRM 3.0, 4.0, and 5.0
    Also try to implement the latest IPC patches following the instructions from note 880749, then restart the VMC. It worked for us, after trying many things with no luck.
    Alternatively, try this as well. There must be some problem with VMC. Most probably java connection problem. Please execute program RSVMCRT_HEALTH_CHECK in SE38 transaction. You should see green for all 4 messages in the result. Please contact your basis consultant and refer notes 854170 (and 844817)
    <u>Other related OSS notes.</u>
    Note 1024374 - Unexpected pricing error for pricing irrelevant item
    Note 992259 - NullPointerException in Command GetFilteredCsticsAndValues
    Note 860935 - pricing customizing exits are missing
    Note 673372 - Short dumps UNCAUGHT_EXCEPTION in SRM 3.0, 4.0, and 5.0
    Note 854170 - Activating the component "VM Container"
    Note 593109 - Short dumps UNCAUGHT_EXCEPTION in SRM 2.0 (EBP 3.5)
    Note 880749 - Patching of VMC based AP 7.00 engines
    Note 854170 - Activating the component "VM Container"
    Note 844816 - Information for Upgrade from IPC 4.0 to SAP AP 7.00
    Hope this will help.
    Please award points if helpful.
    Regards,
    -Atul

Maybe you are looking for