Speed limit on pipelining keep-alive requests?

Hi all,
          I was wondering if anyone knows of a limit in how fast weblogic can
          handle multiple servlet requests over a keep-alive connection.
          We were trying to throw a bunch for testing purposes, and it seems that
          if we bunch them closer together than ~300ms, it won't handle more than
          two. (I can recreate the problem by hand, too)
          Is this a limit in Weblogic 6?
          Thanks,
          Dave
          ps: here's the exception trace:
          <Mar 5, 2001 4:15:53 PM EST> <Error> <Posix Performance Pack> <Uncaught
          Throwable in processSockets
          java.lang.NullPointerException
          at weblogic.socket.TunnelContext.getServlet(TunnelContext.java:24)
          at weblogic.servlet.internal.MuxableSocketHTTP.dispatch(MuxableSocketHTT
          P.java:459)
          at
          weblogic.socket.PosixSocketMuxer.deliverGoodNews(PosixSocketMuxer.jav
          a:449)
          at
          weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java
          :378)
          at
          weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
          23)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
          >
          

Hi all,
          I was wondering if anyone knows of a limit in how fast weblogic can
          handle multiple servlet requests over a keep-alive connection.
          We were trying to throw a bunch for testing purposes, and it seems that
          if we bunch them closer together than ~300ms, it won't handle more than
          two. (I can recreate the problem by hand, too)
          Is this a limit in Weblogic 6?
          Thanks,
          Dave
          ps: here's the exception trace:
          <Mar 5, 2001 4:15:53 PM EST> <Error> <Posix Performance Pack> <Uncaught
          Throwable in processSockets
          java.lang.NullPointerException
          at weblogic.socket.TunnelContext.getServlet(TunnelContext.java:24)
          at weblogic.servlet.internal.MuxableSocketHTTP.dispatch(MuxableSocketHTT
          P.java:459)
          at
          weblogic.socket.PosixSocketMuxer.deliverGoodNews(PosixSocketMuxer.jav
          a:449)
          at
          weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java
          :378)
          at
          weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
          23)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
          >
          

Similar Messages

  • GF3.0 - Enabling HTTP keep-alive?

    In GF 2.0, there's a handy-dandy tab on the HTTP Listener configs for enabling and configuring HTTP keep-alives. In GF 3.0, there is not.
    I've been combing various sites and blogs and docs and have been unable to find any information on enabling HTTP keep-alives. Some data I've found seems to suggest that raising the Max Connections and Timeout values for the listener to values greater than 1 implicitly enables keep-alives, but if I test the server with AB it shows zero keep-alive requests.
    Any help that anyone could provide would be greatly appreciated.

    [glassfish@appserver ~]$ asadmin get -m \*keep-alive.\*count
    Enter admin user name> admin
    Enter admin password for user "admin">
    Command get executed successfully.
    [glassfish@appserver ~]$ asadmin get "server\*keep-alive.\*"
    Enter admin user name> admin
    Enter admin password for user "admin">
    com.sun.enterprise.admin.cli.CommandException: remote failure: Dotted name path server\*keep-alive.\* not found.
    Command get failed.

  • URLConnection POST to external server requiring keep-alive fails because request is HTTP/1.0

              I have a class that when run as a "main" transmits a HTTP/1.1 post successfully
              to an external server. This external server requires keep-alive connections.
              However when instantiated inside a weblogic servlet container, the post fails
              because the HTTP protocol is set to HTTP/1.0. I have tried this with V5.1 SP11
              and then with V6.1 SP2 with the same result. The code works under Tomcat.
              I can find no way to force HTTP/1.1 in the URLConnection. Any suggestions?
              

    Great. I have a question to BEA folks, if they ever read this newsgroup:
              what is the reason for installing WLS protocol handlers, and, if there is
              one, why the implementation is still buggy? I saw many, many instances when
              code making outgoing connections failed to work in WLS, and the solution is
              always the same - use handler which comes with the JVM.
              Bob Bowman <[email protected]> wrote:
              > <[email protected]> wrote:
              >>If it works as a standalone application and fails inside WebLogic, most
              >>likely this
              >>is caused by WebLogic http handler implementation. You can try to modify
              >>your code
              >>like this:
              >>
              >>URL url = new URL(null, "http://some_url", new sun.net.www.protocol.http.Handler());
              >>HttpURLConnection conn = (HttpURLConnection)url.openConnection();
              >>
              >>(you will need to modify weblogic.policy to allow your code to specify
              >>protocol
              >>handler).
              >>
              >>Bob Bowman <[email protected]> wrote:
              >>
              >>> I have a class that when run as a "main" transmits a HTTP/1.1 post
              >>successfully
              >>> to an external server. This external server requires keep-alive connections.
              >>> However when instantiated inside a weblogic servlet container, the
              >>post fails
              >>> because the HTTP protocol is set to HTTP/1.0. I have tried this with
              >>V5.1 SP11
              >>> and then with V6.1 SP2 with the same result. The code works under
              >>Tomcat.
              >>
              >>> I can find no way to force HTTP/1.1 in the URLConnection. Any suggestions?
              >>
              >>--
              >>Dimitri
              > Worked like a champ! Thanks.
              Dimitri
              

  • Speed limit

    Hi!
    My turn to ask a question. I read some- and everywhere the Athlon XP has a MHz limit of 2500. It seems to be so, but is it? I tried on my own to find an answer, and below is a result of that, but...
    Why I don't ask AMD?! Before asking well-paid and intelligent people, I thought I should try the forum.  
    Speed limit
    Athlon XP and Sempron reached a speed limit
    The main difference between the socket A processor nowadays seems to be in the architecture of the cache memories. The speed does not pass 2500 MHz. Why is that?
    The first Athlons came in 1999. Their advantages compared to their competitor are/were the number of pipelines and calculation units:
    - Three decoders for translating the complex but fundamental CISC-instructions into RISC-instructions. The processor has no problem working with the short and simple RISC-instructions.
    - Athlon can have 72 instructions simultaneously, (Pentium III 40, and the earlier K6 only 24).
    - Very competent FPU:s, three of them, and as FPU is better at calculating decimal numbers than the main ALU, it makes Athlons good at 3D graphics – where there are lots of that kind of mathematics when producing polygons.
    In the beginning Athlons had external Level 2 cache. The cache sat on a slot beside the processor, and the architecture was called slot 1. With XP this changed, both Level 1 and Level 2 cache were built into the processor, and we got the socket A kind. Athlon XP was also built with thinner lines connecting the transistors, and got the ability to handle new instructions, got a better data pre-fetch technology, and an overheating protection.
    So what’s the problem? Speed it up!
    Well, one bottleneck lies between the processor and the RAM memory, the Front Side Bus (FSB). The processor is much faster than the RAM and process data as they come by. To keep the processor busy mainly Intel invented a sort of pipeline, or ladder. The processor is working on every step.
    Data is sent from hardware, like sound data or network data over the PCI-bus, graphics data over the AGP-bus, hard-disk data over the IDE (PCI-/SATA) bus, etc. The data comes in ones and zeroes in little packages, which make up complex instructions. For the processor to be able to efficiently perform the instructions they need to be sized down to simpler instructions, from CISC to RISC. (CISC codes is such a fundamental part of the PC history they must remain.) The sizing down is done in the very beginning of each pipeline. In later steps of the pipeline, the instructions are interpreted further and performed.
    Early processors needed one clock-cycle per step in the pipeline, but Athlons can manage 2,5 steps, as can for example Pentium 4. With the pipelines, as said, Athlon XP can do 72 instructions at the same time. Pentium 4 however has longer pipelines – with 20 steps – and can process 126 instructions. But the efficiency of a Pentium 4 is lower, which is why Athlons are quicker at the same MHz. Apple’s (Motorola’s) G4 processor is yet more efficient.
    Athlon XP has 10 steps in each pipeline for the “main” ALU processor and 15 for the FPU. The reason why there are not more pipelines is that the processor is not kept busy with the slower RAM, and a lot of clock-cycles would be wasted. What is more, there will be too many erroneous instructions, when the processor has to start over, filling the pipelines with correct instructions.
    RAM is slower
    This was not the case in the beginning. All ran at the same speed, say 20 MHz: Processor, FSB, RAM-memory, PCI-bus etc. By separating the PCI-bus, which had hardware connected that couldn’t work at higher frequencies, things could start moving.
    In 1989 came a Pentium with clock doubling. To compensate for the not ‘doubled RAM, L1 cache was invented. But processors kept getting faster. Next thing to be pushed forward was the FSB, which for socket A boards now is increased to 200 MHz x 2 (DDR). Intel increased it even further, but as the efficiency rate isn’t increasing at the same rats, Intel has backed down from the megahertz spiral, and has followed AMD in other ways of thinking.
    So is this the simple basic calculation?
    Athlon XP:s can do 2,5 instruction per clock-cycle in 10 steps per pipeline x the number of pipelines. The number of pipelines is limited by the number of instructions sent and their quality, 72 instructions at the same time. Can this be the reason for 2500 MHz limit?

    Ok, reality check people...
    Sharp, nice explanation, but you are wrong.
    the x86 instruction set (including those nice MUL, ADD and other instructions) is a CISC instruction set.
    The difference? A MUL takes 12 cycles, a DIV 40 or something...
    RISC was a new computing architecture. Each instruction is simpler to allow higher execution frequency.
    The efficiency of a computer is judge by the work done. W= IPC x Freq
    Frequency is the well known number that we can find on our beloved processors. IPC is the instructions per clock. Why is the athlon more efficient than a P4 at the same frequency? higher IPC.
    How do the chip manufacturer choose those factors?
    Well, the problem is that the instruction set is FIXED. x86 (or i386), the instruction set, has been defined years ago as CISC and to maintain compatibility, you have to keep it. They then included internal decoders to change those instructions to streams of RISC instructions, each simpler. Those are the ones really implemented.
    How does that influence the speed of the processor? Each instruction is executed by a unit (integer unit, floating point, MMX...), the more that unit has to do for that imstruction, the more time it takes (and the more transistor). This has 2 problems:
     - one is that it will limit the overall speed as the more complex the unit, the less speedy.
     - The second is that it ties down the unit. If you do a div in 40+ clocks, your integer unit is tied during this time.
    The answer to this problem? Pipelines.
    Pipelines are splitting the tasks in simpler tasks and executing each as independant as possible.
    Example: laundry. You need washer and dryer. However, some of your clothes cannot go to the dryer.
    Now, you have 2 loads. If you have a combined unit that takes 1.5h for wash + dry, it will take 3h total.
    If you have a washer (.5h) and a dryer (1h), you load the first load (.5h) then transfer it to the dryer (1h). While the drier works, you load the next washer (0.5h). If you need it to perform also the drier, total time is 2.5h instead of 3h. If you dont need it, it is even faster 1.5h.
    This is the way intel followed. Prescott has a 25+ pipeline. The problem comes from branches. If you misspredict your branch, you have to flush the pipe.
    All that to say that with its manufacturing and its architecture, AMD could not release a AXP even close to 2.5GHz. Can you overclock a good unit over that limit? Sure. Intel did not release a 4GHz and yet you can overclock some P4 up to 5GHz (with appropriate cooling).
    Oh, and the technology used is 90nm or 0.09um. Athlon XP is not even that small, it was still on 130nm.
    This is the smallest critical dimention (smallest trace. Usually smallest transistor width).

  • Keep-alive problem in apache/weblogic

    I have a server with Weblogic 5.1 and Apache
    1.3.12 with the weblogic-plugin.
    When apache serves pages, the keep-alive works
    fine.
    When weblogic serves pages, the keep-alive works
    fine.
    When i added a handler in apache so all requests
    to apache should go to weblogic through the
    plugin, the keep-alive stopped working.
    Anyone seen this before?
    Gunnar

    send a message to [email protected] with as much info as you can. i d
    on't think they're watching the newsgroups for bug reports.
    maybe someone who frequents the newsgroups regularly could do a FAQ...
    anyone actually got time?
    "Gunnar" <[email protected]> wrote in message
    news:3a51995e$[email protected]..
    In case anyone wondered:
    I tried with sp5 and sp7 and everything worked fine. It seems sp6 is
    buggy...
    Gunnar <[email protected]> skrev i
    meldingsnyheter:3a41e618$[email protected]..
    I have a server with Weblogic 5.1 and Apache
    1.3.12 with the weblogic-plugin.
    When apache serves pages, the keep-alive works
    fine.
    When weblogic serves pages, the keep-alive works
    fine.
    When i added a handler in apache so all requests
    to apache should go to weblogic through the
    plugin, the keep-alive stopped working.
    Anyone seen this before?
    Gunnar

  • How to keep alive a session in Web Services?

    I have to do my project, that will be including some following features:
    1. Login to Application through Web Services method. For example:
    http://mydomain.com/web-services/Login?WSDL
    2. After logging in, use mySms method to send message to Cellphone through Web Services! For example:
    http://mydomain.com/web-services/mySms?WSDL
    My questions are:
    1. How can I keep alive the session after logging in the application in Web Services? In Web, I can use "Session".
    2. If someone has not logged in the Application, he/she could not use mySms method for sending Sms. How can I do that?
    3. I know, when I invoke a Web Services, one JavaBean has been called, and this bean is persistence with his own states. It means, if I set value to parameters of this bean, these values are persistence for invoked methods by other persons.
    For example:
    mySms bean has a private field "jid" inited with NULL value.
    Person A invoked mySms.
    Then, A set jid of mySms to value "A".
    Person B invoked mySms. B got jid value. He receive the result value is "A".
    The question is, how can I set mySms bean so that mySms bean is not persistence?
    Thanks many!

    Hi,
    I can right away answer your FIRST Question.
    Since WebServices are PURELY Based on SOAP which is in tern based on HTTP, they rely on a Stateless protocol.
    I am sure you know that the HTTP is the STATELESS Protocol and so you can not maintain Session and so EACH Http REQUEST is considered as a SEPERATE REQUEST.
    Now, still you want to maintain the Session in WebServices,
    The simple answer is PASSING PARAMETERS.
    Just Maintain your Session on Client (If you are using JSPs or Servlets to CAll WEBSERVICES then maintain Session through your HTTPSession) and each time you Invoke WebService PASS ON REQUIRED Parameters.
    This Approach is Exactly like your URL REWriting OR your Parameters Passing through QUERY STRINGS.
    I hope you got what I am saying!
    Take care,
    Himanshu/

  • Weblogic proxy plugin closes keep-alive connections to clients randomly

    In short we have following arhitecture:
    clients ---> wl proxy plugin 1 ----> weblogic 1
    clients ---> wl proxy plugin 2 ----> weblogic 2
    Beacuse of the application/installation specific requirements, we are not using failover, one wl proxy always forwards requests to one weblogic (simple configuration).
    Application is TR-069 protocol based (SOAP over HTTP) so it very much relays on persistence TCP connections (Connection: keep-alive). This TCP persistence has to work correctly in order that TR-069 messages are exchanged in required order, otherwise we have a error on application layer.
    Here and there we've noticed applications errors which suggest that we have some problems in TCP connection between the client and the weblogic server. After sniffing, we've noticed that weblogic proxy plugin (Apache) randomly, or because of some other reason we do not know, decides to close TCP connection to client, even app on weblogic did not request so ???
    As a result, client opens new connection to the server with new TR-069 session and it gets bounced beacuse it allready has one open on weblogic server.
    We've sniffed, traced everything we could, we were searching for patterns in time, etc... but we can not find the reason why proxy plugin decides to close the connection to the client (not to the weblogic server).
    Trace (replaced sensitive information):
    Thu Apr 29 15:05:50 2010 <958012725463463784> URL::parseHeaders: CompleteStatusLine set to [HTTP/1.1 200 OK]
    Thu Apr 29 15:05:50 2010 <958012725463463784> URL::parseHeaders: StatusLine set to [200 OK]
    Thu Apr 29 15:05:50 2010 <958012725463463784> parsed all headers OK
    Thu Apr 29 15:05:50 2010 <958012725463463784> sendResponse() : r->status = '200'
    Thu Apr 29 15:05:50 2010 <958012725463463784> canRecycle: conn=1 status=200 isKA=1 clen=545 isCTE=0
    Thu Apr 29 15:05:50 2010 <958012725463463784> closeConn: pooling for '$IP$/$PORT$'
    Thu Apr 29 15:05:50 2010 <958012725463463784> request [$URL$] processed successfully..................
    !!!! Now it closes the TCP connection and inserts "Connection: close" HTTP header !!!
    WL proxy plugin conf params are:
    WebLogicCluster $IP$:$PORT$
    DynamicServerList OFF
    KeepAliveTimeout 90
    MaxKeepAliveRequests 0
    KeepAliveSecs 55
    Apache worker configuration is:
    <IfModule mpm_worker_module>
    PidFile var/run/httpd-worker.pid
    LockFile var/run/accept-worker.lock
    StartServers 2
    MinSpareThreads 25
    MaxSpareThreads 75
    ThreadLimit 200
    ThreadsPerChild 200
    MaxClients 2000
    MaxRequestsPerChild 0
    AcceptMutex pthread
    </IfModule>
    Why weblogic proxy plugin ignores Keep-alive directive and decides to close connection to the client by itself?
    Any help?

    If a WebLogic Server instance listed in either the WebLogicCluster parameter or a dynamic cluster list returned from WebLogic Server fails, the failed server is marked as "bad" and the plug-in attempts to connect to the next server in the list.
    MaxSkipTime sets the amount of time after which the plug-in will retry the server marked as "bad." The plug-in attempts to connect to a new server in the list each time a unique request is received (that is, a request without a cookie).
    Note: The MaxSkips parameter has been deprecated as the MaxSkipTime parameter.
    See also here: http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs81/plugins/plugin_params.html
    You said the problem arises under significant load. Maybe, it is wise to tune the number file descriptor's on your operating system. HTTP connections are nothing more than TCP sockets on the operating system. All modern operating systems treat sockets as a specialized form of file access and use data structures called file descriptors to track open sockets and files for an operating system process. To control resource usage for processes on the machine, the operating system restricts the number of open file descriptors per process. You should be aware that all TCP connections that have been gracefully closed by an application will go into what is known as the TIME_WAIT state before being discarded by the operating system.
    On most unix systems you can use netstat -a | grep TIME_WAIT | wc -l to detemine the number of socket in time_wait state. You have to check with your system adminstrator how to tune the tcp_time_wait_interval. On solaris you can use: /usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 60000

  • Need help with HTTP keep-alive

    Hi folks!
    I have this very simple web server and I would like to add keep-alive support. I've been trying to get my head around it for a while and could need some help (I found this question in the archive, but those replies didn't help)...
    This is my starting point (stripped down to the basics):
    /* A listener thread that accept incoming requests by creating new request handlers */
    public class HTTPListener implements Runnable
        private ServerSocket serverSocket;
        public HTTPListener(int port)
            // Try to create a server socket on specified port
            try
                serverSocket = new ServerSocket(port, 0);
            catch (IOException ex)
                System.err.println("Oops!");
        public void run()
            while (!Thread.interrupted())
                try
                    // Listen on server socket until a request arrives
                    Socket s = serverSocket.accept();
                    // Create handler to service request
                    RequestHandler h = new RequestHandler(s);
                    new Thread(h).start();
                // Server socket closed when listening
                catch (SocketException ex)
                    Thread.currentThread().interrupt();
                // Failed to close socket or failure during server socket accept
                catch (IOException ex)
                    System.err.println("Failed to accept request");
            try
                serverSocket.close();
            catch (IOException ex)
                System.err.println("Hmpf...");
    /* Handler that prints out requests and always answers with status 200 */
    public class RequestHandler implements Runnable
        private Socket socket;
        public RequestHandler(Socket s)
            socket = s;
        public void run()
            System.out.println(">>> New request handler");
            try
                BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                String str;
                while ((str = reader.readLine()) != null)
                    System.out.println(str);
                sendDummyReplyWithKeepAlive();
                reader.close();
                socket.close();
            catch (IOException ex)
                System.err.println("Crap, got an exception!");
    }When I run the server (which in reality has a little more to it) I never get more than one request printed for each ">>> New request handler", which is not surprising!
    Now, with keep-alive support I expect to get consecutive requests from the same client printed by the same handler instance. What I have to do (as I've understood from my readings) is to modify the while loop in the request handler that reads from the socket so that it spins until the connection is closed by the client (or a keep-alive timeout occurs) and blocks while there is nothing to read.
    Perhaps I'm being stupid now, but how do I actually do this?

    ejp wrote:
    and also an incorrect implementation of the timeout period. This code will still wait forever if no data arrives.You're right... actually I didn't mean to put that while loop there! What I meant was simply
    if (!reader.ready())
        wait(keepAliveTimeout);
    if (!reader.ready())
        break mainLoop;
    // If we get here there is a new request to read...and I agree that it's ugly, that's why I'm asking you guys for help!
    setSoTimeout() is of course a way to go... didn't think of that although I have kind of already added it to my code but with a different timeout. Thanks!
    Last question then is:
    does reader.readLine() block like reader.read(), or do I have to use the latter?
    I would test for myself I could, but at the moment I can't...

  • Keep alive a session in CRM

    Dear CRM folks -
    I am calling CRM using BAPIs. The BAPIs are published as Web Services.
    I would like that the session between 2 BAPI calls is maintained in an optimized way so I don't make specific calls to the DB to store my session info.
    Anyone knows a way of keeping alive a session in the CRM between 2 BAPI calls?
    Thanks !

    BAPIs are just basically function modules.  Two function modules which are in the same function group are able to share information while the session is open.
    If your two BAPIs are not in the same function group(you didn't mention the names or I could have checked) then you can create a wrapper function module which has it's own variables to store the information.  Unfortunately once the RFC session/ICM Web Session is closed then you'll lose that in-memory information.
    I assume that you're making the two BAPI calls at different times which is why you're having this problem.  Like one to get user information and then one more to get some other detailed info once the user inputs something.
    Without knowing much about what you are really trying to do, my quick idea is to create a Stateful BSP in CRM which accepts all your requests.  The BSP can simply call the BAPIs(eliminate the need for the web service - unless you have some reason you need it) and then between the first and second BAPI call, the BSP will keep the state of the BAPI results in-memory.
    If you give more info, might be easier to answer your question.

  • Http keep-alive with SOAP webservices

    Just had an interesting experience with a web service setup behind UAG...under low load conditions all SOAP responses were coming across with no issue...once a high load was introduced by the client app the behavior changed where an initial request was
    processed and subsequent requests were rejected by UAG with a Bad Parameter : Length message...but high load (relatively) on a web browser ran without issue...the client app had to wait ~100 seconds before the next request would process correctly...browser
    works - app has problems...turns out it was the keep-alive "default" settings on both the client app server, as well as my web service in IIS...so -apparently UAG thought the 2nd (and subsequent < 100 seconds) were a parameter of the first request...and
    was way too long and got rejected...I unchecked the keep-alive enabled box on the http response header (set common headers) and all is fine now! Apparently the browsers were closing the connection with each page load and the service responded appropriately
    - so it looked like all was well. Using SOAP UI revealed the error...but it also had it's connection set to keep-alive...once that was disabled in SOAP UI all requests ran correctly...that's when I poked around and found that response header setting.

    ejp wrote:
    and also an incorrect implementation of the timeout period. This code will still wait forever if no data arrives.You're right... actually I didn't mean to put that while loop there! What I meant was simply
    if (!reader.ready())
        wait(keepAliveTimeout);
    if (!reader.ready())
        break mainLoop;
    // If we get here there is a new request to read...and I agree that it's ugly, that's why I'm asking you guys for help!
    setSoTimeout() is of course a way to go... didn't think of that although I have kind of already added it to my code but with a different timeout. Thanks!
    Last question then is:
    does reader.readLine() block like reader.read(), or do I have to use the latter?
    I would test for myself I could, but at the moment I can't...

  • Question about Keep Alive feature in Forte 3.

    Does anyone use Keep Alive feature under Forte 3.0F.2 environment.
    I got trouble and encounters the following problem in the service objects
    daily:
    INFORMATION: An abnormal disconnect from partition
    (CFFE2500-85B0-11D1-B37F-E2F7F3F1AA77:0xec254) was received. Since there
    are
    no method invocations outstanding to this partition, no notification could
    be
    given of this disconnect (by indicating a method invocation failed).
    Therefore, the information associated with this disconnect is being
    reported
    to the log.
    Class: qqsp_DistAccessException
    Error #: [601, 119]
    INFORMATION: The connection to the partner was terminated by the
    Communication Manager for the reasons below.
    Class: qqsp_DistAccessException
    Detected at: qqdo_PartitionMgr::StopLocation at 1
    Error Time: Fri Nov 26 17:45:39
    SYSTEM ERROR: Failed to establish connection: OS Error 61: Connection
    refused
    Class: qqsp_DistAccessException
    Detected at: qqcm_HoseFSM::SetError at 5
    Error Time: Fri Nov 26 17:45:39
    SYSTEM ERROR: hose 15 STATE_CONNECTING (EXT_RECEIVED) from
    qqcm_HoseFSM::IssueConnect (after EstablishConnection)
    Class: qqsp_ErrorDescriptor
    Detected at: qqcm_HoseFSM::SetError at 1
    Error Time: Fri Nov 26 17:45:39
    It seems that Keep Alive sometimes disconnects the connection between the
    service objects and the environmental manager.
    So that any further connection request from the client encounters the
    abnormal exception.
    Forte seems not to recommend to use this feature in the Forte Relase note
    3.0J1.
    She states that "Sites that chooses to test KeepAlives should report all
    problems to Technical Support ( and let
    Technical Support know that you have enabled this capability)"
    Should I disable Keep Alive feature under Forte 3.0F2 environment?
    Rgds
    Tom

    Hey Marco,
    I can`t find a view that is named like "APEX_APPLICATION_PAGE_IR%". Is it not available on the evaluation instance.
    I don`t want to use the build-in CSV download, becaus I want to export thousands of data sets. I got this already to work with APEX 3.0 and I get the sql from the application views. The procedure which creates the file runs a few hours and after that it is inserted into a table from which the user can download the file. In the procedure there happens a few other things, which are very import, so I have to create my custom solution.
    And for that I thought it would be very very very cool if I can get the sql behind the interactive report with the filters ant those things.
    Don`t you think that would be possible? I guess the APEX create a SQL although, or am I wrong?
    Thank you,
    Tim

  • Keep alive TCP setting for port 3998 to avoid fw timeout?

    Hello,
    in our new DS6.1 env, replication between the master DS is using port 3998 through several firewalls. If there are no changes to the DB (we are still testing), the connection seems to time out on the firewall and the status of the remote masters in the SMC drops to "stopped" even though they are still running. If one clicks on the DS entry in the SMC, it seems to set up a fresh TCP connection and the status is ok again.
    Is there a way to define a keep-alive setting for these connections ?
    TIA,
    heinz

    DS 6.3 has bug 5087249 against it for the missing SO_KEEPALIVE socket option.
    This bug was fixed a long time ago in the DS 5.x series which got "unfortunately lost" on the way
    to the 6.x release :-(
    If you have a valid Sun Support contract you can request a hotfix for this bug 5087249 in
    DS 6.3 (or the soon to be released 6.3.1), by raising a support service request.
    A similar missing SO_KEEPALIVE socket option bug exists in the DPS 6.3 server,
    bug 6782659 is open against this and if you have a valid Sun Support contract you can
    request a hotfix for this bug 6782659 in DPS 6.3 (or the soon to be released 6.3.1).
    Without a valid support contract, I'm afraid you'll have to wait until the next official patch
    release of both these servers (DPS & DS) after the 6.3.1 which does not contain these 2 fixes.
    This will most probably be at least one year into the future from present.
    The problem with CLOSE_WAITs DPS issue is fixed in the same hotfix for bug 6782659 (which
    contains many connection handling bug fixes/enhancement in addition).
    Hope this helps.

  • How do I change the http connection type from close to keep-alive

    I am using a browser that appears as though it needs a connection type of keep-alive. When a page is requested the server sends back a connection type of close. It appears images are not requested from the server when this connection type is requested.

    Some older web server provides inaccurate content-length information.If the content length value is less than the amount of data,the web server treats the difference as a new request, this creates problem with iplanet Web Server.
    If you are using browser with HTTP1.1 enabled, choose the option to enable it manually and try once again by posting the request.
    Hope it helps.

  • Weblogic shutting down keep-alive socket improperly?

    We were sometimes experiencing strange IE behaviour when surfing on webapps on our Weblogic application servers. After investigation we found that IE has a bug in its resend behaviour, so when resending a POST request it sends the headers (including Content-Length) but forgets the form-data. This causes the server to time out waiting for the data. (Note: We are using Win2K and IE6 SP1 on the clients.)
    The IE resend is triggered on a default installation when 31-59 seconds have passed since the last request.
    This is because IE will try to reuse a socket that has been told to keep-alive until it has been idle for 60 seconds but WLS will by default close kept-alive sockets when they have been idle for 30 seconds. So in the range 31-59 seconds IE will consider the socket alive but WLS has closed it.
    The resend bug is really an IE bug and doesn't concern WLS, but then I saw that IE would function correctly with an Apache server with a default keep-alive timeout of 15 seconds.
    Using Ethereal I could get the information depicted in the tables below:
    Weblogic with keep-alive timeout 30 secs
    old socket
    Time 00 : User navigates : IE POST request -> WLS, WLS HTML -> IE
    Time 30 : Socket times out : (no network traffic)
    Time 45 : User navigates : IE POST request -> WLS, WLS TCP_FIN -> IE
    new socket
    Time 45 : : IE resends POST request without form-data
    Apache with keep-alive timeout 15 secs
    old socket
    Time 00 : User navigates : IE POST request -> Apache, Apache HTML -> IE
    Time 15 : Socket times out : Apache TCP_FIN -> WLS
    new socket
    Time 45 : User navigates : IE POST request -> Apache, Apache HTML -> IE
    To summarize, IE handles Apache well as Apache sends a TCP FIN telegram (to close the connection) as soon as the kept-alive socket times out.
    Therefore IE never tries to reuse the socket but instead starts on a fresh one on the next navigation and a resend is never necessary.
    Weblogic, on the other hand, doesn't send the TCP FIN (connection close) telegram until IE actually tries to use the connection even though it timed out 15 seconds earlier. In this case IE needs to resend the POST request and this is when the form-data is forgotten.
    So, my question now is if WLS behaviour could be caused by not shutting down kept-alive sockets properly at keep-alive timeout? Or why are there no TCP FIN telegrams sent at timeout?
    Mike Wilson

    After doing some more investigation I have found that the "silent" shutdown of keep-alive sockets is only seen on the Linux version. The Windows version of Weblogic 8 behaves correctly, like Apache on Linux, but Weblogic on Linux does not...
    Anyone can confirm if this is to be considered a bug?

  • LB configuration - Keep Alive.

    I need to help configure proper load balancing between 2 building modules of Portal server.
    SetUp:
    Server A - Portal 1,Access Manager 1 , Directory 1
    Server B - Portal 2, Access Manager 2, Directory 2
    Logical Architecture.
    -------- Server A
    User Request -------------------->LB ------------>
    ------ Server B
    I need to configure LB in a way that It has keep Alive info for Server A and B.I think there is a configuration required in some xml/property file so that If lets say server A goes down...the LB will automatically direct the next request to server B.
    Can somebody point me in the right direction?
    Thanks.

    Do you need the SSO session created on Server A to failover to Server B or is it ok that the user has to reauthenticate if Server A goes down?
    In any case you can either configure the LB for s.c. active cookie based persistence (LB is inserting it's own cookie) or s.c. passive cookie based persistence (LB is using a predefined cookie). I guess this is what you mean by 'keep-alive info' - correct?
    Of course this does only work if no SSL is used or if SSL is terminated at the LB.
    If SSL is used the only solution is to use client-IP based persistence.
    All the above is only needed to prevent cross-talk between AM instances.
    -Bernhard

Maybe you are looking for

  • How can I write to files from applets?

    I want to write a capability into a game i'm writing that allows it to keep track of high scores. I am fairly certain that I will need to write to a file separate from the applet and then read it back in later. How can I do this? I don't think typica

  • ITunes 7.3.1 (3) - odd burn issues after update

    I'm using the latest version of iTunes running OS X 10.4.9 When I try to burn a disc, I get the following error... The attempt to burn a disc failed. The device failed to calibrate the laser power level for this media. Before I upgraded, I could burn

  • Adjust Zero on Dnet MFC

    So far, so good.  I have gotten fairly handy at running Dnet MFCs.  I open an explicit message and open an IO then I can set and get parameters and the setpoint.  I can close my application and restart it w/o having to reset the NI-CAN board.  I have

  • My mac gets real hot! Is this normal

    I am new to mac. My mac getting real hot when i hv it on more than an hour, is this normal? Do i need to install a fan or something?

  • My plantronics paired with ipad and now wont pair with phone

    I have tried pairing and it just keeps saying that there is no blue tooth to connect to, it worked fine til I got my new ipad, it paired to it and lost the connection to my phone, I had a jabra head set and it connected, so I know the phone is workin