<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.jacorb.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://www.jacorb.org/bugzilla/"
          
          maintainer="jacorb@goots.org"
>

    <bug>
          <bug_id>915</bug_id>
          
          <creation_ts>2012-01-05 06:36:57 +0000</creation_ts>
          <short_desc>Bugs in calling PERSISTENT corba server methods</short_desc>
          <delta_ts>2012-01-20 18:45:14 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>JacORB</product>
          <component>Implementation Repository</component>
          <version>3.0 beta 1</version>
          <rep_platform>HP</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="seetharaman">seetharaman.v</reporter>
          <assigned_to name="Phil Mesnier">mesnierp</assigned_to>
          <cc>jacorb</cc>
    
    <cc>seetharaman.v</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2834</commentid>
    <comment_count>0</comment_count>
    <who name="seetharaman">seetharaman.v</who>
    <bug_when>2012-01-05 06:36:57 +0000</bug_when>
    <thetext>Test Environment :
-------------------

The environment is HP-UX B11.31 ia64, java 1.6.0.10 and jacorb 2.3.1 (or jacorb 3.0 beta)

The same bug can be noticed in jacorb 3.0 also.

The bug comes only for PERSISTENT (life span policy value)corba servers. TRASIENT corba servers works fine.

Bug Description:
------------------

Around 1000 client threads are created simutaneously to call two different interface methods (500 threads for each method) 
each part of different PERSISTENT corba servers.
The methods are dummy method ones and just sleeps for 4 seconds. 
There are two problems noticed.



1.  Some methods are executed more than once. While client logs are showed that a method is executed only 500 times
      server logs showed that it is executed more than 500 time. Some times it is around 510 to even maximum of 600 times.
      This problem is CONSISTENTLY noticed in both jacorb 2.3.1 and jacorb 3.0 beta
      
2. Not all the methods are succesfully went through. Few client methods (around 1 to 3) failed with following error
 
     Unexpected Exception:org.omg.CORBA.COMM_FAILURE:   vmcid: 0x0  minor code: 0 completed: Maybe
	org.omg.CORBA.COMM_FAILURE:   vmcid: 0x0  minor code: 0 completed: Maybe
        at org.jacorb.orb.giop.ReplyPlaceholder.getInputStream(ReplyPlaceholder.java:132)
        at org.jacorb.orb.ReplyReceiver.getReply(ReplyReceiver.java:273)
        at org.jacorb.orb.Delegate.invoke_internal(Delegate.java:1090)
        at org.jacorb.orb.Delegate.invoke(Delegate.java:957)
        at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
        at com.idl.test._test_interface1Stub.test_function1(_test_interface1Stub.java:33)
        at interface1_test.runTheTests(interface1_test.java:112)
        at interface1_test.run(interface1_test.java:104)
	
	The above problem is NOT consistently noticed and noticed once in 2 or 3 times approximately in jacorb 2.3.1
	This problem is CONSISTENTLY noticed for jacorb 3.0 beta.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2835</commentid>
    <comment_count>1</comment_count>
      <attachid>395</attachid>
    <who name="seetharaman">seetharaman.v</who>
    <bug_when>2012-01-05 06:39:21 +0000</bug_when>
    <thetext>Created attachment 395
Contains all the files for testing the bugs. BugDescription.txt has all the details

BugDescription.txt has all the details about the bug, the source files involved and the test procedure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2846</commentid>
    <comment_count>2</comment_count>
    <who name="Phil Mesnier">mesnierp</who>
    <bug_when>2012-01-19 16:29:30 +0000</bug_when>
    <thetext>Here&apos;s what is happening to cause this problem.

The client is firing off 100 concurrent requests, one per thread. 

Several of these go off to the IMR, which dutifully sends back location forwarding details. 

The Delegate processes the location forward, rebinding and &quot;resetting&quot; all waiting requests, because these must all be waiting on the IMR, right? Unfortunately in this case, this is not right.

Upon receiving the first location forward, the Delegate rebinds, which releases the connection to the IMR and opens a new connection to the server. Since there were several requests sent to the IMR, multiple location forward exceptions are received from the IMR before the connection is released, and each one triggers a reset/rebind. 

Since the machine is loaded, it takes time to actually spawn all 100 threads, meaning some requests are started after the first rebind occurred, meaning the client sent the request to the real server.  When the second rebind occurs, all of these threads dutifully stop waiting and remarshal and resend. Depending on the system load, this can happen several times, leading to 3 or more duplications of a request. This effect can impact many threads, leading to dozens of duplicated requests sent to the server.

Now for the solution. The easiest fix is to do nothing to JacORB, and restructure the client application so that a connection to the real server is established prior to starting any MT activity. However this breaks down if for instance the client doesn&apos;t obtain the target IOR until it has already entered its MT operational phase, or if perhaps the connection to the server is lost and must be reestablished.

I think the durable solution is to be more intelligent about when to abandon a request. This would involve modifying the ReplyReceiver and the Delegate so that the RR can decide if it truly needs to abandon the current request or not.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2847</commentid>
    <comment_count>3</comment_count>
    <who name="Phil Mesnier">mesnierp</who>
    <bug_when>2012-01-19 16:34:29 +0000</bug_when>
    <thetext>I&apos;m stepping down the severity from Blocker to Major in that the condition under which the bug appears is very narrowly defined - it doesn&apos;t happen everywhere even under similar loads. Also, there is a work-around defined which mitigates the likelihood of occurrence even more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2848</commentid>
    <comment_count>4</comment_count>
    <who name="Phil Mesnier">mesnierp</who>
    <bug_when>2012-01-20 18:45:14 +0000</bug_when>
    <thetext>We have another work-around for this bug. Each client thread can make its own duplicate of the desired reference, and then any rebinding and notification will affect only the thread(s) using the duplicate. This is not a perfect solution however, since each duplicate must first interact with the IMR in order to get the target server&apos;s reference. Depending on the performance of the client host, this may result in many consecutive connections to the IMR, and possibly the target server as well, depending on reference lifespan.

To test this, modify the original interface1_test.java from:

...
  servantRef.test_function1 ()

to

  test_interface1 target = test_interface1Helper.narrow (servantRef._duplicate());
  target.test_function1 ();

The interface2_test can be similarly modified.

Thanks Nick Cross for this suggestion.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>395</attachid>
            <date>2012-01-05 06:39:21 +0000</date>
            <delta_ts>2012-01-05 06:39:21 +0000</delta_ts>
            <desc>Contains all the files for testing the bugs. BugDescription.txt has all the details</desc>
            <filename>JacorbBug.zip</filename>
            <type>text/plain</type>
            <size>18422</size>
            <attacher name="seetharaman">seetharaman.v</attacher>
            
              <data encoding="base64">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
AGMDAAB9RAAAAAA=
</data>

          </attachment>
      

    </bug>

</bugzilla>