<html>
    <head>
      <base href="http://www.jacorb.org/bugzilla/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - A client fails to receive replies from reconnected server instances"
   href="http://www.jacorb.org/bugzilla/show_bug.cgi?id=975">975</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>A client fails to receive replies from reconnected server instances
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>JacORB
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>3.4
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>blocker
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P5
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>ORB
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>jacorb-bugs@lists.spline.inf.fu-berlin.de
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>matej.sekoranja@ijs.si
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=429" name="attach_429" title="Client/server code that demonstrates the problem.">attachment 429</a> <a href="attachment.cgi?id=429&action=edit" title="Client/server code that demonstrates the problem.">[details]</a></span>
Client/server code that demonstrates the problem.

A PERSISTENT, USER_ID POA configured server that runs on a fixed port causes
a reconnection failure to the clients. In fact clients do reconnect and send a
request the server, however they are unable to receive any responses.

This can be reproduced deterministically on 3.4. Version 2.2.4 does not suffer
from this problem. Only client side is affected (running 2.2.4 client against
3.4 sever works).

I've created a simple isolated code that shows the problem with detailed
instructions in README (attached).

In short:
1. Start a server.
2. Start a client.
3. A client sends a request to the server, gets response back. Waits until you
press ENTER key.
4. While the client is waiting, you restart the server.
5. Press ENTER key.
6. The client sends a request to the server, the server receives it.
7. Client gets no response back (blocks).

-----

Detailed analysis: 

When the server shuts down the client detects a connection loos, however it
keeps a connection objects in a ClientConnectionManager connection pool;
meanwhile the server gets restarted.

When the client tries to invoke an two-way operation on the server, it founds
an instance in its ClientConnectionManager connection pool. It checks the
connection status, detects it's not connected, successfully reconnects and
sends a request to the server. However, a receiver task (MessageReceiver) is
not restarted what makes the client unable to receive any responses from the
server.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>