BlazeDS stress test framework

Hi all,
I'm looking for a stress test tool for BlazeDS applications
As far as I understand BlazeDS (not that much) Adobe's tool for Flex DS (LC DS) - http://labs.adobe.com/wiki/index.php/Flex_Stress_Testing_Framework - might not be appropriate.
Am I right here ?
Does anyone have a direction to go with this ?

Some commercial products are available that have some Flex/BlazeDS support. WebLOAD from RadView has a Flex Add-On that I believe some people have used for testing BlazeDS.
The Flex Stress Testing Framework, recently updated and renamed the Data Services Stress Testing Framework only runs on LCDS 2.6.
http://labs.adobe.com/wiki/index.php/Data_Services_Stress_Testing_Framework
We are thinking about updating the Data Services Stress Testing Framework to run on BlazeDS as well but don't have any definate plans or schedule for this at this point.
For the time being, if none of the commercial products work for you, I think you should be able to use the Data Services Stress Testing Framework to test BlazeDS, but I haven't tested this.
You would deploy the Data Services Stress Testing Framework on LCDS and then in your load test make whichever destination/service you are testing point to your BlazeDS server. For example if you are load testing a messaging destination on your BlazeDS server you would have the messaging destination in your load test use a channel with a url that pointed to your BlazeDS server and not your LCDS server. Setting this up would definately take some understanding of BlazeDS, specifically how channels, destinations, etc. work.
If that sounds daunting, I would look into one of the commercial products. I think commercial products may be limited at this point in terms of how well they emulate our channel/messaging behaviour but I know some vendors have been working on this so that should be getting better.
Hope that helps.

Similar Messages

  • [svn] 3526: The call to the TestNG task in the configuration test framework had haltOnFailure set to true which is not what we want .

    Revision: 3526
    Author: [email protected]
    Date: 2008-10-08 14:21:40 -0700 (Wed, 08 Oct 2008)
    Log Message:
    The call to the TestNG task in the configuration test framework had haltOnFailure set to true which is not what we want. Failures will get logged to the database at which point we can review them.
    Also fix a failing test.
    Modified Paths:
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/build.xml
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/jms/NoJNDINameT est/error.txt
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/jms/NoJNDINameT est/services-config.xml

    I have a standard Ant build script for signing a jar file. I import it into my master Ant build files with
    <import file="Sign.xml"/>
    and then in my master Ant script I setup the name of the jar file e.g.
    <property name="jar-file" value="${fun}/FunApplet.jar"/>
    and then invoke a target
    <target name="sign-jar" depends="jar, sign">
    </target>
    Since this target (sign-jar) depends on target 'jar' and target 'sign' it executes the 'jar' target and then the 'sign' target that is contained in Sign.xml.

  • Weblogic 5.1 SP4 Hangs in stress test

    Hi,
    I am trying to stress test my application. I am using
    Weblogic 5.1 SP4 JDK 1.2.2 on Windows NT.
    The stress test client creates 20 threads and makes
    simultaneous requests to the Weblogic Server. This hangs the
    server completely. I am not able to ping the server, attach to it
    via Weblogic console or anything else.
    The relevant parameters are
    weblogic.system.executeThreadCount=15
    weblogic.system.nativeIO.enable=true
    The thread dump shows all the threads trying in read (socket).
    I have attached the thread dump. I would really appreciate if
    someone can explain WHY Weblogic is hanging and how do I fix
    this problem.
    Thanks,
    Mihir
    Full thread dump Classic VM (JDK-1.2.2-W, native threads):
    "ListenThread" (TID:0xdfe7a0, sys_thread_t:0xafbe70, state:R, native
    ID:0x13
    0) prio=5
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:406)
    at java.net.ServerSocket.implAccept(ServerSocket.java:240)
    at java.net.ServerSocket.accept(ServerSocket.java:224)
    at weblogic.t3.srvr.ListenThread.run(ListenThread.java:277)
    "ExecuteThread-14" (TID:0xdeff90, sys_thread_t:0x9e0de0, state:R, native
    ID:
    0x142) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at java.io.FilterInputStream.read(FilterInputStream.java:118)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    at com.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-13" (TID:0xdefe10, sys_thread_t:0x9e0c80, state:R, native
    ID:
    0x106) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at java.io.FilterInputStream.read(FilterInputStream.java:118)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    at com.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-12" (TID:0xdefcb8, sys_thread_t:0x9e0b20, state:R, native
    ID:
    0xac) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at java.io.FilterInputStream.read(FilterInputStream.java:118)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    at com.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-11" (TID:0xdefb80, sys_thread_t:0x9e09c0, state:R, native
    ID:
    0x49) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at java.io.FilterInputStream.read(FilterInputStream.java:118)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    at com.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-10" (TID:0xdefa00, sys_thread_t:0x9e0860, state:R, native
    ID:
    0x139) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at java.io.FilterInputStream.read(FilterInputStream.java:118)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    at com.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-9" (TID:0xdef8a8, sys_thread_t:0x9e0700, state:R, native
    ID:0
    x12c) prio=5
    at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
    at
    weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:326)
    at
    weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
    23)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-8" (TID:0xdef770, sys_thread_t:0x9e05a0, state:R, native
    ID:0
    x11f) prio=5
    at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
    at
    weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:326)
    at
    weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
    23)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-7" (TID:0xdef5f8, sys_thread_t:0x9e0440, state:R, native
    ID:0
    x160) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at java.io.FilterInputStream.read(FilterInputStream.java:118)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    at com.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-6" (TID:0xdef4a0, sys_thread_t:0x9e02e0, state:R, native
    ID:0
    x13e) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at java.io.FilterInputStream.read(FilterInputStream.java:118)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    at com.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-5" (TID:0xdef340, sys_thread_t:0x9e0180, state:R, native
    ID:0
    x15b) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at java.io.FilterInputStream.read(FilterInputStream.java:118)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    at com.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-4" (TID:0xdef1f0, sys_thread_t:0x9dfa30, state:R, native
    ID:0
    x155) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at java.io.FilterInputStream.read(FilterInputStream.java:118)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    at com.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-3" (TID:0xdef098, sys_thread_t:0x9df530, state:R, native
    ID:0
    x16c) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at java.io.FilterInputStream.read(FilterInputStream.java:118)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    at com.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-2" (TID:0xdeef50, sys_thread_t:0x9df200, state:R, native
    ID:0
    x16b) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInp

    Hi Sam,
    I've experienced deadlocking socket problems from my entity beans before,
    except in my app I created my own HttpConnections. And like you said,
    increasing the threads only temporarily solves the problem until the
    requests scale up again... However, your solution, reading file from the
    file system, doesn't seem much safer either, for according to ejb specs one
    should not use java.io!
    If I were to grab my connections from a Connection Factory registered in
    weblogic.properties, will this alleviate the deadlocks? Is there a Weblogic
    implementation for File ResourceBundle?
    Gene Chuang
    Teach the world. Join Kiko!
    http://www.kiko.com/profile/join.jsp?refcode=TAF-gchuang
    "WebLogic" <[email protected]> wrote in message
    news:[email protected]...
    Since Xerces is trying to open connections back to the server you are
    running xerces in you are seeing
    a classic deadlock condition. All of the execute threads are being usedup
    by xereces waiting to read
    a file that requires an execute thread to be available. You can try
    increasing the number of threads, however,
    it is difficult to avoid this problem when you are making loopback
    connections. I suggest that you write
    an entity resolver that does not make http connections back to the same
    server, instead it would read the
    file from the file system so that you cannot get in this deadlocksituation.
    >
    Sam
    "Mihir Mehta" <[email protected]> wrote in message
    news:[email protected]...
    It does not look like a Xerces problem as all the threads that are
    reading
    the posted data are runnable.
    Mihir
    "Gene Chuang" <[email protected]> wrote in message
    news:[email protected]...
    Possibly a Xerces problem? Which version are u using?
    Gene Chuang
    Teach the world. Join Kiko!
    http://www.kiko.com/profile/join.jsp?refcode=TAF-gchuang
    "Mihir Mehta" <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    I am trying to stress test my application. I am using
    Weblogic 5.1 SP4 JDK 1.2.2 on Windows NT.
    The stress test client creates 20 threads and makes
    simultaneous requests to the Weblogic Server. This hangs the
    server completely. I am not able to ping the server, attach to it
    via Weblogic console or anything else.
    The relevant parameters are
    weblogic.system.executeThreadCount=15
    weblogic.system.nativeIO.enable=true
    The thread dump shows all the threads trying in read (socket).
    I have attached the thread dump. I would really appreciate if
    someone can explain WHY Weblogic is hanging and how do I fix
    this problem.
    Thanks,
    Mihir
    Full thread dump Classic VM (JDK-1.2.2-W, native threads):
    "ListenThread" (TID:0xdfe7a0, sys_thread_t:0xafbe70, state:R,
    native
    ID:0x13
    0) prio=5
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:406)
    at java.net.ServerSocket.implAccept(ServerSocket.java:240)
    at java.net.ServerSocket.accept(ServerSocket.java:224)
    at weblogic.t3.srvr.ListenThread.run(ListenThread.java:277)
    "ExecuteThread-14" (TID:0xdeff90, sys_thread_t:0x9e0de0,
    state:R,
    native
    ID:
    0x142) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at
    java.net.SocketInputStream.read(SocketInputStream.java:90)
    atjava.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    atjava.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    atjava.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at
    java.io.FilterInputStream.read(FilterInputStream.java:118)
    atjava.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at
    sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    atorg.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    >>>>
    atcom.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    >>>>
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-13" (TID:0xdefe10, sys_thread_t:0x9e0c80,state:R,
    native
    ID:
    0x106) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at
    java.net.SocketInputStream.read(SocketInputStream.java:90)
    atjava.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    atjava.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    atjava.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at
    java.io.FilterInputStream.read(FilterInputStream.java:118)
    atjava.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at
    sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    atorg.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    >>>>
    atcom.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    >>>>
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-12" (TID:0xdefcb8, sys_thread_t:0x9e0b20,state:R,
    native
    ID:
    0xac) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at
    java.net.SocketInputStream.read(SocketInputStream.java:90)
    atjava.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    atjava.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    atjava.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at
    java.io.FilterInputStream.read(FilterInputStream.java:118)
    atjava.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at
    sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    atorg.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    >>>>
    atcom.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    >>>>
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-11" (TID:0xdefb80, sys_thread_t:0x9e09c0,state:R,
    native
    ID:
    0x49) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at
    java.net.SocketInputStream.read(SocketInputStream.java:90)
    atjava.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    atjava.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    atjava.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at
    java.io.FilterInputStream.read(FilterInputStream.java:118)
    atjava.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at
    sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    atorg.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    >>>>
    atcom.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    >>>>
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-10" (TID:0xdefa00, sys_thread_t:0x9e0860,state:R,
    native
    ID:
    0x139) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at
    java.net.SocketInputStream.read(SocketInputStream.java:90)
    atjava.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    atjava.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    atjava.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at
    java.io.FilterInputStream.read(FilterInputStream.java:118)
    atjava.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at
    sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    atorg.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    >>>>
    atcom.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    >>>>
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-9" (TID:0xdef8a8, sys_thread_t:0x9e0700, state:R,native
    ID:0
    x12c) prio=5
    at weblogic.socket.NTSocketMuxer.getNextSocket(Native
    Method)
    at
    weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:326)
    at
    weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
    23)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-8" (TID:0xdef770, sys_thread_t:0x9e05a0, state:R,native
    ID:0
    x11f) prio=5
    at weblogic.socket.NTSocketMuxer.getNextSocket(Native
    Method)
    at
    weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:326)
    at
    weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
    23)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-7" (TID:0xdef5f8, sys_thread_t:0x9e0440, state:R,native
    ID:0
    x160) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at
    java.net.SocketInputStream.read(SocketInputStream.java:90)
    atjava.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    atjava.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    atjava.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at
    java.io.FilterInputStream.read(FilterInputStream.java:118)
    atjava.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at
    sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    atorg.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    >>>>
    atcom.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    >>>>
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-6" (TID:0xdef4a0, sys_thread_t:0x9e02e0, state:R,native
    ID:0
    x13e) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at
    java.net.SocketInputStream.read(SocketInputStream.java:90)
    atjava.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    atjava.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    atjava.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at
    java.io.FilterInputStream.read(FilterInputStream.java:118)
    atjava.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at
    sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
    canner.java:380)
    atorg.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
    at
    com.mycompanyxml.MyXMLDocument.createDocument(MyXMLDocument.java:125)
    >>>>
    atcom.mycompanyxml.MyXMLDocument.<init>(MyXMLDocument.java:86)
    at
    com.mycompanyintegration.servlet.MyCompanyXMLCmdServlet.doPost(MyCompanyXMLC
    m
    dServlet.java:65)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
    textImpl.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
    ContextManager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
    a:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    >>>>
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread-5" (TID:0xdef340, sys_thread_t:0x9e0180, state:R,native
    ID:0
    x15b) prio=5
    at java.net.SocketInputStream.socketRead(Native Method)
    at
    java.net.SocketInputStream.read(SocketInputStream.java:90)
    atjava.io.BufferedInputStream.fill(BufferedInputStream.java:190)
    atjava.io.BufferedInputStream.read1(BufferedInputStream.java:229)
    atjava.io.BufferedInputStream.read(BufferedInputStream.java:285)
    at
    java.io.FilterInputStream.read(FilterInputStream.java:118)
    atjava.io.PushbackInputStream.read(PushbackInputStream.java:168)
    at
    sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:516)
    at
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:466)
    at java.net.URL.openStream(URL.java:818)
    at
    org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
    aderFactory.java:149)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alEntity(DefaultEntityHandler.java:747)
    at
    org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
    alSubset(DefaultEntityHandler.java:566)
    at
    org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
    er.java:1131)
    at
    org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
    umentScanner.java:2177)
    at
    org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
    anner.java:2133)
    at
    org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
    tch(XMLDocumentScanner.java:882)
    at
    org.apache.xerces.framewor

  • [svn] 3229: Made some updates to the config test framework.

    Revision: 3229
    Author: [email protected]
    Date: 2008-09-16 12:15:34 -0700 (Tue, 16 Sep 2008)
    Log Message:
    Made some updates to the config test framework. This should be able to run on all the regression boxes now assuming I got the names of all the log files correct for the different app servers. After this checkin, I will update the regression scripts to start running the config framework tests under automation. This will be another antcall from the run.tests target in automation.xml which will run the tests and then load the results to the test results db.
    Modified Paths:
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/build.xml
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/DestinationWith NoChannelTest/error.txt
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/DestinationWith NoIDTest/error.txt
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/jms/InvalidAckn owledgeModeTest/error.txt
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/jms/InvalidDeli veryModeTest/error.txt
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/jms/InvalidDest inationTypeTest/error.txt
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/jms/InvalidMess ageTypeTest/error.txt
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/jms/NoConnectio nFactoryTest/error.txt
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/jms/NoJNDINameT est/error.txt
    blazeds/trunk/qa/resources/frameworks/qa-frameworks.zip

    despite the workaround, it doesn't fix the real problem. It shouldn't be a huge deal for adobe to add support for multiple svn versions. Dreamweaver is the first tool i've used that works with svn that doesn't support several types of svn meta data. If they're going to claim that Dreamweaver supports svn is should actually support svn, the current version, not a version several years old. This should have been among the first patches released, or at least after snow leopard came out (and packaged with it the current version of svn).
    does anyone know if the code that handles meta data formatting is something that is human readable, or where it might be, or is it in compiled code.
    i signed up for the forums, for the sole purpose of being able to vent about this very frustrating and disappointing situation.

  • Server socket stress test?

    We have a server socket running.  We have simple client programme as below. We would like to do a stress test on our server socket by running the codes below. How can we achieve a parallel effect with the following codes? Normally what limitation will the socket application have e.g. number of socket per minute etc?
    [code]
    public class stress1 extends Thread {
    public static void main(String[] argv) {
    try {
       for (int i = 0; i < 5000; i++) {
            Socket socket = new Socket("localhost", 18000);
            PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            out.println("data to my server ");
            System.out.println(in.readLine() + i);
                 out.close();
            in.close();
            socket.close();
        } catch (Exception e) {
          e.printStackTrace();
    [/code]

    Of course you can.  JMeter is a testing tool.  You can use it for functionality tests, stress/load tests, etc.  And those test cases can be completely customized especially since you can write JUnit tests and use those for the functionality and simply let the framework handle the load portion of it (i.e. how often, for how long).

  • Database base storage stress test

    Hi,
    I have a ucm 11g instance up and running with SSO.
    I need to test database storage against filesystem storage.
    Does anyone have any suggestions on how to test this?
    Also I'm sure I read somewhere (but I can't find it now) that once I go in one direction I can't go back, does anyone have any details about this?
    Many thanks
    James

    First of all, take a look at File Store Provider (here: http://download.oracle.com/docs/cd/E14571_01/doc.1111/e10792/c02_settings005.htm#CSMSP445)
    In general, filesystem storage is always used even if you store data in the database, in the end. It is, though, understood as a temporary storage. In theory, you can keep your files in both locations and I see no reason why you should not be able to go from FS to DB and back, BUT you have to consider consequences (you might have to rebuild indexes or even migrate data from one storage to the other).
    As for stress tests, first you have to decide WHAT you want to test. Potential candidates are:
    - checkin of a single item (wasted effort: since FS is always used as an intermediate storage it will always be a bit faster)
    - mass checkin (e.g. from Batch Loader - especially if you use Fast Checkin settings, db can be a bit faster, but you will need a real lot of small files)
    - search
    - update (metadata - wasted effort: should be the same)
    - backup
    - migration of content
    Then, you will have to setup two environments with more-or-less the same conditions (CPU power, memory, disk speed).
    And finally, you will have to create and run you test cases. I'd suggest to automate stress tests via writing a program calling the same services with the same data. Use WebServices (if non-Java) or RIDC (if Java).
    Alternatively, if your task is "to get results" rather than "perform stress tests", you could try to approach consulting services or project managers to provide some normalized results for you. Something can be obtained in this whitepaper: http://www.oracle.com/us/products/middleware/content-management/ecm-extreme-performance-wp-077977.pdf

  • Exception only occuring during stress test

    We are trying to get ready to release a beta version of the software I'm working on.. so part of getting ready for that was to try set up some stress tests and hit the server with multiple requests for the same page....
    Not sure exactly how many it is taking but we are getting the following exception.
    2005-06-10 13:20:23 StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
    java.lang.NumberFormatException: For input string: "200044.E2000444E"
            at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
            at java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1207)
            at java.lang.Double.parseDouble(Double.java:220)
            at java.text.DigitList.getDouble(DigitList.java:127)
            at java.text.DecimalFormat.parse(DecimalFormat.java:1070)
            at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1386)
            at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1156)
            at java.text.DateFormat.parse(DateFormat.java:333)
            at com.xxxxx.xxxxx.struts.adapter.BrowseBaseAdapter.formatYyyyMMddToLocaleStr(BrowseBaseAdapter.java:194)I can only assume that something was not thread safe and somehow something is getting confused....
    this is the method that produced the error and the code that it runs.
    I know absolutely nothing about making something thread safe.... can anyone give me good link to refer to or point something out in the below code that might be a no no.
    private static final SimpleDateFormat xxxxxxxxDateFormat =
              new SimpleDateFormat("yyyyMMdd");
         protected String formatYyyyMMddToLocaleStr(
              String  xxxxxxxxDt,
              Locale locale) {
              String result = "";
              if ( xxxxxxxxDt != null &&  xxxxxxxxDt.length() == 8) {
                   try {
                        Date tempDate =  xxxxxxxxDateFormat.parse( xxxxxxxxDt);
                        result = javaDataTypeToString(tempDate, locale);
                   } catch (ParseException ex) {
              return result;
    public String javaDataTypeToString(Object data, Locale locale) {
              String returnType = data.getClass().getName();
              String result = null;
              if (returnType.equals("java.lang.String")) {
                   result = (String) data;
              } else if (returnType.equals("java.lang.Float")) {
                   NumberFormat formatter = NumberFormat.getNumberInstance(locale);
                   formatter.setMaximumFractionDigits(6);
                   formatter.setGroupingUsed(false);
                   result = formatter.format((Float) data);
              } else if (returnType.equals("java.lang.Double")
                        || returnType.equals("java.math.BigDecimal")) {
                   NumberFormat formatter = NumberFormat.getNumberInstance(locale);
                   formatter.setMaximumFractionDigits(13);
                   formatter.setGroupingUsed(false);
                   StringBuffer buffer = new StringBuffer();
                   result = formatter.format(data, buffer, new FieldPosition(0))
                             .toString();
              } else if (returnType.equals("java.lang.Integer")) {
                   Integer inte = (Integer) data;
                   int intVal = inte.intValue();
                   if (intVal != 0)
                        result = String.valueOf(intVal);
                   else
                        result = "";
              } else if (returnType.equals("java.util.Date")) {
                   java.util.Date date = (java.util.Date) data;
                   SimpleDateFormat dateFormatter = getDatePattern(locale);
                   result = dateFormatter.format(date);
              } else if (returnType.equals("com.sungard.stnweb.utility.Time")) {
                   Time time = (Time) data;
                   result = time.asString();
              } else if (returnType.equals("java.lang.Boolean")) {
                   Boolean dataBool = (Boolean) data;
                   if (dataBool.booleanValue())
                        result = "1";
                   else
                        result = "";
              return result;

    From the API on java.text.SimpleDateFormat
    Synchronization
    Date formats are not synchronized. It is recommended to create separate
    format instances for each thread. If multiple threads access a format
    concurrently, it must be synchronized externally. Being static, your date format object will be accessed by multiple threads.
    Solution: Don't make the date format object static.
    I would suggest like this:
    private static final String dfString  ="yyyyMMdd";
    protected String formatYyyyMMddToLocaleStr(String  xxxxxxxxDt, Locale locale) {
      String result = "";
      SimpleDateFormat xxxxxxxxDateFormat = new SimpleDateFormat(dfString );
      if ( xxxxxxxxDt != null &&  xxxxxxxxDt.length() == 8) {
      try {
        Date tempDate =  xxxxxxxxDateFormat.parse( xxxxxxxxDt);
        result = javaDataTypeToString(tempDate, locale);
      catch (ParseException ex) {}
              return result;
    Ok, so it is constructing a DateFormatting object for each method call, but I don't see it as that big a deal. Its not a huge hit. You might get away with making it an instance variable - I don't know how you use the enclosing class. Start with this, and see if it works.
    Cheers,
    evnafets

  • Error in running Jasper Reports for more than 100 users in stress test

    I have created a web application with Jasper reports. during the stress test, we were able to run the same report simultaneously for 100 concurrent users, after that we get the following error. I hope there is no problem in my code (correct me if i am wrong)
    We use Web Sphere
    The error we get is as follows:
    java.io.FileNotFoundException: /apps/HewittProjects/installedApps/TBIA/workforce_CUR.ear/workforceServer4.16.4.war/reports/timesheet_mgr2.jasper (Too many open files)
               at java.io.FileInputStream.open(Native Method)
               at java.io.FileInputStream.(FileInputStream.java:106)
               at com.wily.introscope.agent.probe.io.ManagedFileInputStream.(ManagedFileInputStream.java:89)
               at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:85)
               at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:64)
               at com.workforcesoftware.servlets.ReportServlet2.getCompiledReport(ReportServlet2.java:712)
               at com.workforcesoftware.servlets.ReportServlet2.doPost(ReportServlet2.java:423)
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
               at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
               at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
               at com.ibm.ws.webcontainer.servlet.ServicingServletState.service(StrictLifecycleServlet.java:333)
               at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
               at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
               at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
               at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
               at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:61)
               at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1009)
               at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:529)
               at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:208)
               at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)
               at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:321)
               at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
               at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:120)
               at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:250)
               at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
               at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
               at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:652)
               at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:448)
               at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:937)
    NESTED BY :
    net.sf.jasperreports.engine.JRException: Error loading object from file : /apps/HewittProjects/installedApps/TBIA/workforce_CUR.ear/workforceServer4.16.4.war/reports/timesheet_mgr2.jasper
               at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:92)
               at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:64)
               at com.workforcesoftware.servlets.ReportServlet2.getCompiledReport(ReportServlet2.java:712)
               at com.workforcesoftware.servlets.ReportServlet2.doPost(ReportServlet2.java:423)
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
               at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
               at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
               at com.ibm.ws.webcontainer.servlet.ServicingServletState.service(StrictLifecycleServlet.java:333)
               at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
               at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
               at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
               at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
               at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:61)
               at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1009)
               at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:529)
               at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:208)
               at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)
               at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:321)
               at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
               at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:120)
               at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:250)
               at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
               at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
               at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:652)
               at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:448)
               at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:937)
    if this really cannot find the file, then how could it run successfully for 100 users?
    Have anyone experienced this problem?
    Thanks for your help.

    ummm seems odd to have 100 users making a report.. that can be the limitation of your application..

  • User is thrown from the Application under Cluster stress test

    Hi All,
    i have ADF/ADF faces application running on WLS 10.3.5.0 Cluster Environment (with 2 nodes).
    I'm running application using in memory Session replication.
    The problem which i have is that under the stress test (about 10-20 users) sometimes user suddenly is presented with Login Screen (more rare with session expired message) ! This also can happens immediately after user login .
    That happens randomly on different part of the System. In more of the cases user is thrown independently from other users but
    sometimes all the users are thrown simultaniously.
    When the System is tested with only one user this effect appears very rare.
    What i have done is to enable Cluster and Replication debugging to see if there some errors within Http Session Replication. However there isn't any errors appeared. From the application part everything seems fine.
    I suspect that the proxy could cause a problem (by forwarding the request to secondary instead of primary server). Currenltly i'm using HttpClusterSerlvet installed by default from WebLogic Configurator on dedicated Managed Server.
    Can somebody give any advice with this ?
    Thanks in advance,
    Krasimir

    Krashmir,
    Did you find any solution for this problem. I am also facing the similar issue.
    Thanks,
    Ram

  • Some Thoughts On An OWB Performance/Testing Framework

    Hi all,
    I've been giving some thought recently to how we could build a performance tuning and testing framework around Oracle Warehouse Builder. Specifically, I'm looking at was in which we can use some of the performance tuning techniques described in Cary Millsap/Jeff Holt's book "Optimizing Oracle Performance" to profile and performance tune mappings and process flows, and to use some of the ideas put forward in Kent Graziano's Agile Methods in Data Warehousing paper http://www.rmoug.org/td2005pres/graziano.zip and Steven Feuernstein's utPLSQL project http://utplsql.sourceforge.net/ to provide an agile/test-driven way of developing mappings, process flows and modules. The aim of this is to ensure that the mappings we put together are as efficient as possible, work individually and together as expected, and are quick to develop and test.
    At the moment, most people's experience of performance tuning OWB mappings is firstly to see if it runs set-based rather than row-based, then perhaps to extract the main SQL statement and run an explain plan on it, then check to make sure indexes etc are being used ok. This involves a lot of manual work, doesn't factor in the data available from the wait interface, doesn't store the execution plans anywhere, and doesn't really scale out to encompass entire batches of mapping (process flows).
    For some background reading on Cary Millsap/Jeff Holt's approach to profiling and performance tuning, take a look at http://www.rittman.net/archives/000961.html and http://www.rittman.net/work_stuff/extended_sql_trace_and_tkprof.htm. Basically, this approach traces the SQL that is generated by a batch file (read: mapping) and generates a file that can be later used to replay the SQL commands used, the explain plans that relate to the SQL, details on what wait events occurred during execution, and provides at the end a profile listing that tells you where the majority of your time went during the batch. It's currently the "preferred" way of tuning applications as it focuses all the tuning effort on precisely the issues that are slowing your mappings down, rather than database-wide issues that might not be relevant to your mapping.
    For some background information on agile methods, take a look at Kent Graziano's paper, this one on test-driven development http://c2.com/cgi/wiki?TestDrivenDevelopment , this one http://martinfowler.com/articles/evodb.html on agile database development, and the sourceforge project for utPLSQL http://utplsql.sourceforge.net/. What this is all about is having a development methodology that builds in quality but is flexible and responsive to changes in customer requirements. The benefit of using utPLSQL (or any unit testing framework) is that you can automatically check your altered mappings to see that they still return logically correct data, meaning that you can make changes to your data model and mappings whilst still being sure that it'll still compile and run.
    Observations On The Current State of OWB Performance Tuning & Testing
    At present, when you build OWB mappings, there is no way (within the OWB GUI) to determine how "efficient" the mapping is. Often, when building the mapping against development data, the mapping executes quickly and yet when run against the full dataset, problems then occur. The mapping is built "in isolation" from its effect on the database and there is no handy tool for determining how efficient the SQL is.
    OWB doesn't come with any methodology or testing framework, and so apart from checking that the mapping has run, and that the number of rows inserted/updated/deleted looks correct, there is nothing really to tell you whether there are any "logical" errors. Also, there is no OWB methodology for integration testing, unit testing, or any other sort of testing, and we need to put one in place. Note - OWB does come with auditing, error reporting and so on, but there's no framework for guiding the user through a regime of unit testing, integration testing, system testing and so on, which I would imagine more complete developer GUIs come with. Certainly there's no built in ability to use testing frameworks such as utPLSQL, or a part of the application that let's you record whether a mapping has been tested, and changes the test status of mappings when you make changes to ones that they are dependent on.
    OWB is effectively a code generator, and this code runs against the Oracle database just like any other SQL or PL/SQL code. There is a whole world of information and techniques out there for tuning SQL and PL/SQL, and one particular methodology that we quite like is the Cary Millsap/Jeff Holt "Extended SQL Trace" approach that uses Oracle diagnostic events to find out exactly what went on during the running of a batch of SQL commands. We've been pretty successful using this approach to tune customer applications and batch jobs, and we'd like to use this, together with the "Method R" performance profiling methodology detailed in the book "Optimising Oracle Performance", as a way of tuning our generated mapping code.
    Whilst we want to build performance and quality into our code, we also don't want to overburden developers with an unwieldy development approach, because what we'll know will happen is that after a short amount of time, it won't get used. Given that we want this framework to be used for all mappings, it's got to be easy to use, cause minimal overhead, and have results that are easy to interpret. If at all possible, we'd like to use some of the ideas from agile methodologies such as eXtreme Programming, SCRUM and so on to build in quality but minimise paperwork.
    We also recognise that there are quite a few settings that can be changed at a session and instance level, that can have an effect on the performance of a mapping. Some of these include initialisation parameters that can change the amount of memory assigned to the instance and the amount of memory subsequently assigned to caches, sort areas and the like, preferences that can be set so that indexes are preferred over table scans, and other such "tweaks" to the Oracle instance we're working with. For reference, the version of Oracle we're going to use to both run our code and store our data is Oracle 10g 10.1.0.3 Enterprise Edition, running on Sun Solaris 64-bit.
    Some initial thoughts on how this could be accomplished
    - Put in place some method for automatically / easily generating explain plans for OWB mappings (issue - this is only relevant for mappings that are set based, and what about pre- and post- mapping triggers)
    - Put in place a method for starting and stopping an event 10046 extended SQL trace for a mapping
    - Put in place a way of detecting whether the explain plan / cost / timing for a mapping changes significantly
    - Put in place a way of tracing a collection of mappings, i.e. a process flow
    - The way of enabling tracing should either be built in by default, or easily added by the OWB developer. Ideally it should be simple to switch it on or off (perhaps levels of event 10046 tracing?)
    - Perhaps store trace results in a repository? reporting? exception reporting?
    at an instance level, come up with some stock recommendations for instance settings
    - identify the set of instance and session settings that are relevant for ETL jobs, and determine what effect changing them has on the ETL job
    - put in place a regime that records key instance indicators (STATSPACK / ASH) and allows reports to be run / exceptions to be reported
    - Incorporate any existing "performance best practices" for OWB development
    - define a lightweight regime for unit testing (as per agile methodologies) and a way of automating it (utPLSQL?) and of recording the results so we can check the status of dependent mappings easily
    other ideas around testing?
    Suggested Approach
    - For mapping tracing and generation of explain plans, a pre- and post-mapping trigger that turns extended SQL trace on and off, places the trace file in a predetermined spot, formats the trace file and dumps the output to repository tables.
    - For process flows, something that does the same at the start and end of the process. Issue - how might this conflict with mapping level tracing controls?
    - Within the mapping/process flow tracing repository, store the values of historic executions, have an exception report that tells you when a mapping execution time varies by a certain amount
    - get the standard set of preferred initialisation parameters for a DW, use these as the start point for the stock recommendations. Identify which ones have an effect on an ETL job.
    - identify the standard steps Oracle recommends for getting the best performance out of OWB (workstation RAM etc) - see OWB Performance Tips http://www.rittman.net/archives/001031.html and Optimizing Oracle Warehouse Builder Performance http://www.oracle.com/technology/products/warehouse/pdf/OWBPerformanceWP.pdf
    - Investigate what additional tuning options and advisers are available with 10g
    - Investigate the effect of system statistics & come up with recommendations.
    Further reading / resources:
    - Diagnosing Performance Problems Using Extended Trace" Cary Millsap
    http://otn.oracle.com/oramag/oracle/04-jan/o14tech_perf.html
    - "Performance Tuning With STATSPACK" Connie Dialeris and Graham Wood
    http://www.oracle.com/oramag/oracle/00-sep/index.html?o50tun.html
    - "Performance Tuning with Statspack, Part II" Connie Dialeris and Graham Wood
    http://otn.oracle.com/deploy/performance/pdf/statspack_tuning_otn_new.pdf
    - "Analyzing a Statspack Report: A Guide to the Detail Pages" Connie Dialeris and Graham Wood
    http://www.oracle.com/oramag/oracle/00-nov/index.html?o60tun_ol.html
    - "Why Isn't Oracle Using My Index?!" Jonathan Lewis
    http://www.dbazine.com/jlewis12.shtml
    - "Performance Tuning Enhancements in Oracle Database 10g" Oracle-Base.com
    http://www.oracle-base.com/articles/10g/PerformanceTuningEnhancements10g.php
    - Introduction to Method R and Hotsos Profiler (Cary Millsap, free reg. required)
    http://www.hotsos.com/downloads/registered/00000029.pdf
    - Exploring the Oracle Database 10g Wait Interface (Robin Schumacher)
    http://otn.oracle.com/pub/articles/schumacher_10gwait.html
    - Article referencing an OWB forum posting
    http://www.rittman.net/archives/001031.html
    - How do I inspect error logs in Warehouse Builder? - OWB Exchange tip
    http://www.oracle.com/technology/products/warehouse/pdf/Cases/case10.pdf
    - What is the fastest way to load data from files? - OWB exchange tip
    http://www.oracle.com/technology/products/warehouse/pdf/Cases/case1.pdf
    - Optimizing Oracle Warehouse Builder Performance - Oracle White Paper
    http://www.oracle.com/technology/products/warehouse/pdf/OWBPerformanceWP.pdf
    - OWB Advanced ETL topics - including sections on operating modes, partition exchange loading
    http://www.oracle.com/technology/products/warehouse/selfserv_edu/advanced_ETL.html
    - Niall Litchfield's Simple Profiler (a creative commons-licensed trace file profiler, based on Oracle Trace Analyzer, that displays the response time profile through HTMLDB. Perhaps could be used as the basis for the repository/reporting part of the project)
    http://www.niall.litchfield.dial.pipex.com/SimpleProfiler/SimpleProfiler.html
    - Welcome to the utPLSQL Project - a PL/SQL unit testing framework by Steven Feuernstein. Could be useful for automating the process of unit testing mappings.
    http://utplsql.sourceforge.net/
    Relevant postings from the OTN OWB Forum
    - Bulk Insert - Configuration Settings in OWB
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=291269&tstart=30&trange=15
    - Default Performance Parameters
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=213265&message=588419&q=706572666f726d616e6365#588419
    - Performance Improvements
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=270350&message=820365&q=706572666f726d616e6365#820365
    - Map Operator performance
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=238184&message=681817&q=706572666f726d616e6365#681817
    - Performance of mapping with FILTER
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=273221&message=830732&q=706572666f726d616e6365#830732
    - Poor mapping performance
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=275059&message=838812&q=706572666f726d616e6365#838812
    - Optimizing Mapping Performance With OWB
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=269552&message=815295&q=706572666f726d616e6365#815295
    - Performance of mapping with FILTER
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=273221&message=830732&q=706572666f726d616e6365#830732
    - Performance of the OWB-Repository
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=66271&message=66271&q=706572666f726d616e6365#66271
    - One large JOIN or many small ones?
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=202784&message=553503&q=706572666f726d616e6365#553503
    - NATIVE PL SQL with OWB9i
    http://forums.oracle.com/forums/thread.jsp?forum=57&thread=270273&message=818390&q=706572666f726d616e6365#818390
    Next Steps
    Although this is something that I'll be progressing with anyway, I'd appreciate any comment from existing OWB users as to how they currently perform performance tuning and testing. Whilst these are perhaps two distinct subject areas, they can be thought of as the core of an "OWB Best Practices" framework and I'd be prepared to write the results up as a freely downloadable whitepaper. With this in mind, does anyone have an existing best practices for tuning or testing, have they tried using SQL trace and TKPROF to profile mappings and process flows, or have you used a unit testing framework such as utPLSQL to automatically test the set of mappings that make up your project?
    Any feedback, add it to this forum posting or send directly through to me at [email protected]. I'll report back on a proposed approach in due course.

    Hi Mark,
    interesting post, but I think you may be focusing on the trees, and losing sight of the forest.
    Coincidentally, I've been giving quite a lot of thought lately to some aspects of your post. They relate to some new stuff I'm doing. Maybe I'll be able to answer in more detail later, but I do have a few preliminary thoughts.
    1. 'How efficient is the generated code' is a perennial topic. There are still some people who believe that a code generator like OWB cannot be in the same league as hand-crafted SQL. I answered that question quite definitely: "We carefully timed execution of full-size runs of both the original code and the OWB versions. Take it from me, the code that OWB generates is every bit as fast as the very best hand-crafted and fully tuned code that an expert programmer can produce."
    The link is http://www.donnapkelly.pwp.blueyonder.co.uk/generated_code.htm
    That said, it still behooves the developer to have a solid understanding of what the generated code will actually do, such as how it will take advantage of indexes, and so on. If not, the developer can create such monstrosities as lookups into an un-indexed field (I've seen that).
    2. The real issue is not how fast any particular generated mapping runs, but whether or not the system as a whole is fit for purpose. Most often, that means: does it fit within its batch update window? My technique is to dump the process flow into Microsoft Project, and then to add the timings for each process. That creates a Critical Path, and then I can visually inspect it for any bottleneck processes. I usually find that there are not more than one or two dogs. I'll concentrate on those, fix them, and re-do the flow timings. I would add this: the dogs I have seen, I have invariably replaced. They were just garbage, They did not need tuning at all - just scrapping.
    Gee, but this whole thing is minimum effort and real fast! I generally figure that it takes maybe a day or two (max) to soup up system performance to the point where it whizzes.
    Fact is, I don't really care whether there are a lot of sub-optimal processes. All I really care about is performance of the system as a whole. This technique seems to work for me. 'Course, it depends on architecting the thing properly in the first place. Otherwise, no amount of tuning of going to help worth a darn.
    Conversely (re. my note about replacing dogs) I do not think I have ever tuned a piece of OWB-generated code. Never found a need to. Not once. Not ever.
    That's not to say I do not recognise the value of playing with deployment configuration parameters. Obviously, I set auditing=none, and operating mode=set based, and sometimes, I play with a couple of different target environments to fool around with partitioning, for example. Nonetheless, if it is not a switch or a knob inside OWB, I do not touch it. This is in line with my dictat that you shall use no other tool than OWB to develop data warehouses. (And that includes all documentation!). (OK, I'll accept MS Project)
    Finally, you raise the concept of a 'testing framework'. This is a major part of what I am working on at the moment. This is a tough one. Clearly, the developer must unit test each mapping in a design-model-deploy-execute cycle, paying attention to both functionality and performance. When the developer is satisifed, that mapping will be marked as 'done' in the project workbook. Mappings will form part of a stream, executed as a process flow. Each process flow will usually terminate in a dimension, a fact, or an aggregate. Each process flow will be tested as an integrated whole. There will be test strategies devised, and test cases constructed. There will finally be system tests, to verify the validity of the system as a production-grade whole. (stuff like recovery/restart, late-arriving data, and so on)
    For me, I use EDM (TM). That's the methodology I created (and trademarked) twenty years ago: Evolutionary Development Methodology (TM). This is a spiral methodology based around prototyping cycles within Stage cycles within Release cycles. For OWB, a Stage would consist (say) of a Dimensional update. What I am trying to now is to graft this within a traditional waterfall methodology, and I am having the same difficulties I had when I tried to do it then.
    All suggestions on how to do that grafting gratefully received!
    To sum up, I 'm kinda at a loss as to why you want to go deep into OWB-generated code performance stuff. Jeepers, architect the thing right, and the code runs fast enough for anyone. I've worked on ultra-large OWB systems, including validating the largest data warehouse in the UK. I've never found any value in 'tuning' the code. What I'd like you to comment on is this: what will it buy you?
    Cheers,
    Donna
    http://www.donnapkelly.pwp.blueyonder.co.uk

  • SQL connection errors when stress testing mobile service: SQL failure after 3 attempts

    I have created a Mobile Service (node.js), which has been running for a few months with 50-100k api calls per day with no issues.
    The usage of the service will be scaled up soon, and it will receive much higher traffic, so I am running stress tests (on a staging deployment of the same service).
    The api in question queries data from the sql database that is attached to the mobile service, but caches the resulting data in a redis database for 5 minutes, so each call with identical parameters will not access the SQL database, just the redis cache.
    My first test never has any problems:
    Run a single api calls as fast as possible using the program wrk (https://github.com/wg/wrk). This test never has a problem, and I have run it an hour continuously with a sustained rate of 200 req/s and very few timeout errors.
    The second test always causes problems:
    I created a list of 5 different api calls to the same service (same endpoint, but different parameters), and I run those randomly interweaved as fast as possible. I use the program locust (http://locust.io) for this, spawing 10.000 clients at a rate of 500
    per second. For the first few seconds everything goes ok, but then connections start failing massively.
    I get mostly:
    Error: SQL failure after 3 attempts. Error: [Microsoft][SQL Server Native Client 10.0]TCP Provider: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected
    host has failed to respond.
     (SqlState: 08001, Code: 10060)
    And I see this in the http response:
    ConnectionError(ProtocolError('Connection aborted.', gaierror(8, 'nodename nor servname provided, or not known')),)
    The strange thing is that since I am running the same five calls repeatedly, only the very first of each call will actually access the sql database, every subsequent call will just return data directly from redis, and not try to access the sql database at
    all.
    In the azure console for the sql database in question, I see 1860 successful connections and 11 failed connections, which does not explain the massive failure rate I am seeing.

    Thanks for sharing your tips on this forum, as it will be useful for other users, that run into this issue.
    Feedback like this will also help us improve error reporting in the next release, as missing class files in the packaged application is a common issue when developers are moving from the embeded oc4j instance packaged with JDewveloper to standalone instances.
    -Eric

  • Stress test report example

    Hi guys,
    Anyone has examples about performance and stress tests reports that could provide?
    I’m starting our stress test and I will write a report, but I’m not sure how to do it and I would like to see an example before start.
    If you don’t mind, send me to [email protected]
    Thanks in advance,
    Ricardo.

    Sorry guys, but I mean a document and not SAP transactions

  • How do I remove a Safari debug stress test "Uptime" window?

    I used the Start Sampling option in the Safari Debug drop down menu in a attempt to solve a slowdown problem. A window then appeared on the desktop showing Uptime, Pages, and Resources which persists although I have stopped sampling, quit Debug, quit Safari, and restarted--and moving it to Trash won't work.  (My slowdown problem has been solved.) How do I remove this "Uptime-etc." see-through window from my desktop?  Nothing on the Debug drop down menu is checked and Sampling and Stress Test lines read Start---, not Stop---.  Thanks for any help. 

    Under the BookMarks menu is "Show All Bookmarks". Open that, and then navigate to the "Popular" folder, then highlight the offensive bookmark, and hit the delete button. That's it.

  • Stress tests: Weblogic Passivation of entity beans

    Dear all,
    I'm doing stress tests that consist of hundreds of concurrent access calling the same entity beans.
    I noticed a strange behaviour:
    - we developed with weblogic 6.1 and everything is Ok.
    - The production environment is in weblogic 7.1: the two most used entity Beans are never passivated. Each time such a bean is created, it is afterwards never reused and never passivated. This causes an undesirable full cache Exception.
    I configured max-bean in cache to 2000 and timeout to 60 sec.
    I'm sure it is a problem of WEBLOGIC 7.1 configuration but I do not have any idea on how to solve it.
    Did someone have the same problem?
    Regards.

    BEA provides a fix that may solve some of the caching problems you mentioned. Name of the fix is: CR110440

  • ConnectionBean fail with stress test. please assist.

    I am using the following to get connected to database.
    package com.db;
    import java.util.*;
    import java.io.*;
    import java.sql.*;
    import javax.servlet.http.*;
    public class ConnectionManager implements HttpSessionBindingListener
      private Connection connection;
      private Statement statement;
      private String driver = "";
      private String dbURL = "";
      private String login = "";
      private String password = "";
    static public void main(String[] args)
          ConnectionManager cm = new ConnectionManager();
      } // main
    public ConnectionManager()
           Properties Prop = new Properties();
           try {
              InputStream configStream = getClass().getResourceAsStream("/config/database.properties");
                   Prop.load(configStream);
              configStream.close();
               } catch(IOException e) {
                      System.out.println("Error: Cannot laod configuration file ");
           driver =Prop.getProperty("driver");
           dbURL = Prop.getProperty("dbURL");
            login = Prop.getProperty("login");
            password = Prop.getProperty("password");
    public void setDriver (String sDriver)
       if (sDriver != null)
           driver = sDriver;
    public String getDriver ()
       return driver;
    public void setDbURL (String sDbURL)
        if (sDbURL != null)
         dbURL = sDbURL;
    public String getDbURL()
       return dbURL;
    public void setLogin (String sLogin)
       if (sLogin != null)
          login = sLogin;
    public String getLogin()
       return login;
    public void setPassword (String sPassword)
       if (sPassword != null)
          password = sPassword;
    private String getPassword()
       return password;
    private void getConn ()
       try
          Class.forName(driver);
          connection = DriverManager.getConnection(dbURL,login,password);
          statement=connection.createStatement();
       catch (ClassNotFoundException e)
          System.out.println("ConnectionManager: driver unavailable");
          connection = null;
       catch (SQLException e)
          System.out.println("ConnectionManager: driver not loaded");
          connection = null;
    public Connection getConnection()
       if (connection == null)
          getConn();
       return connection;
    public void commit() throws SQLException
        connection.commit();
    public void rollback() throws SQLException
        connection.rollback();
    public void setAutoCommit(boolean autoCommit)
        throws SQLException
        connection.setAutoCommit(autoCommit );
    public ResultSet executeQuery(String sql) throws SQLException
        if (connection == null || connection.isClosed())
            getConn();
        return statement.executeQuery(sql);
    public int executeUpdate(String sql) throws SQLException
        if (connection == null || connection.isClosed())
            getConn();
        return statement.executeUpdate(sql);
    public void valueBound(HttpSessionBindingEvent event)
        System.err.println("ConnectionBean: in the valueBound method");
        try
          if (connection == null || connection.isClosed())
            connection = DriverManager.getConnection(dbURL,login,password);
            statement = connection.createStatement();
        catch (SQLException e)
          e.printStackTrace();
          connection = null;
    public void valueUnbound(HttpSessionBindingEvent event)
        close();
    public void close()
       try
           if ( connection != null
                || !connection.isClosed())
            connection.close();
       catch (SQLException e)
          e.printStackTrace();
    }This is what I use to test this code:
    <%@ page import="java.sql.*" %>
    <%@ page import="java.text.*" %>
    <%@ page import="java.util.*"%>
    <%@ page import="java.io.*" %>
    <p>
    Testing DBConnection Bean. <p>
    <%
    String sql="SELECT * FROM BS_PERSON" ;
    com.db.ConnectionManager CM = new com.db.ConnectionManager();
    ResultSet rset = CM.executeQuery(sql);
    while (rset.next()) {
       out.println(rset.getString("PERSON_USERCODE") + "<br>");
    %>When I stress test it, the code perform well for a while and then throw the following on Tomcat:
    ConnectionManager: driver not loaded
    ConnectionManager: driver not loaded
    ConnectionManager: driver not loaded
    Is there anything I could improve?
    For application that has many database read/write, is there any open source connection program that uses connection pooling?
    Thank you.

    Thank you for the prompt response.
    Yes. the code works and the data set gets return when I execute the code. It only fail with stress test after say 150-160 hits.
    I have put in the printStack Trace and got the following:
    ConnectionManager: driver not loaded
    java.sql.SQLException: ORA-00020: maximum number of processes (150) exceeded
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.O3log.receive1st(O3log.java:407)
         at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:259)
         at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:346)
         at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
         at java.sql.DriverManager.getConnection(DriverManager.java:512)
         at java.sql.DriverManager.getConnection(DriverManager.java:171)
         at com.db.ConnectionManager.getConn(ConnectionManager.java:106)
         at com.db.ConnectionManager.executeQuery(ConnectionManager.java:154)
         at org.apache.jsp.dbconnection_jsp._jspService(dbconnection_jsp.java:76)
    Could it be that I didn't specifically close the connection? How could I go about doing it?
    Thank you.

Maybe you are looking for