connection to remote server causes CPU 100%

Jim Foster
  • Jim Foster

    Jim Foster - 2004-05-19

    I have a strange problem.  When I connect to a remote MQ server from an application server (by doing the following)
            //Get the connection factory
            UnicastConnectionFactory l_connectionFactory = new UnicastConnectionFactory(p_sHost, p_iPort);//"", 3999);//
            //Get a connection
            Connection l_connection = l_connectionFactory.createConnection();

    Then the writer NIO thread spins to 100%.  Looking at the code, the thread will select on writeability which (unless the network  send buffer is full) will not block.


    • Jimmy P

      Jimmy P - 2004-05-19

      We've seen this problem recur frequently with JDK 1.4.1, due to an implementation bug. If you're on 1.4.1, switching up to 1.4.2 fixes the problem.

      This also unfortunately can be OS dependent. What are some details of the system you're running on?

      The design of the writer thread is such that it will not select on Write unless another thread puts some information in the write buffer and makes a request that it be flushed. At this time, it changes the selection bits to include write, which will either release the select immediately or block until the write buffer has space, at which time the writer flushes its internal buffers, and cancels the write bit when the bytes are all written.

    • Jim Foster

      Jim Foster - 2004-05-24

      Thank you very much for your reply.

      The OS we are using is Redhat 9.  java -version returns

      java version "1.4.1_01"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01)
      Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)

      so this is conistent with the problem.

      I will try upgrading the JDK.

      Again, thank you for getting back to me.

    • Jim Foster

      Jim Foster - 2004-05-25

      I am still finding that this occurs on WinXP even with the sun jdk 1.4.2

    • Anonymous

      Anonymous - 2004-07-30

      The problem also occurs then starting a single server and trying to connect to it and subscribe to a topic (using UnicastConnectionFactory).

      This is on JDK1.4.2_03.



Log in to post a comment.