<?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>951</bug_id>
          
          <creation_ts>2013-06-04 05:18:59 +0000</creation_ts>
          <short_desc>Ability to disable portable interceptors for local invocations</short_desc>
          <delta_ts>2013-07-18 02:41:12 +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>ORB</component>
          <version>3.2</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="jmonin">jm.ais40</reporter>
          <assigned_to name="Mailinglist to track bugs">jacorb-bugs</assigned_to>
          <cc>jacorb</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>3008</commentid>
    <comment_count>0</comment_count>
    <who name="jmonin">jm.ais40</who>
    <bug_when>2013-06-04 05:18:59 +0000</bug_when>
    <thetext>Hello,

We currently use interceptors as a mean to secure date exchanges through encryption.
Originally using Visibroker, we were used to having these interceptors not being called for any local invocation.
Now we note that JacORB does use interceptors even for local calls (yet with a specific optimized behavior).
For critical performance reasons for us, it would be very useful to be able to disable interceptors for local calls.
What we&apos;ve done so far on our side to work around this, is to disable &quot;interceptors-bound&quot; code portions in servant_preinvoke/post_invoke in the Delegate class, and in the ServantObjectImpl class.

What&apos;s your opinion on this specific topic? I couldn&apos;t see any obvious mention on what is the preferred behavior in the CORBA 3.1 specifications.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3012</commentid>
    <comment_count>1</comment_count>
    <who name="Nick Cross">jacorb</who>
    <bug_when>2013-06-10 08:00:56 +0000</bug_when>
    <thetext>JacORB&apos;s behaviour to use interceptors in local calls is specified in the IDL/Java mapping 1.3 2008-01-11 4.21
Is there a particular problem with interceptors being called on local paths?  i.e. could you not do some logical determination in your code to prevent expensive calls if they are not necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3013</commentid>
    <comment_count>2</comment_count>
    <who name="jmonin">jm.ais40</who>
    <bug_when>2013-06-10 08:15:57 +0000</bug_when>
    <thetext>Thanks for your precise answer!
We use interceptors to encrypt/decrypt requests to ensure data security. We obviously don&apos;t need that for local exchanges, hence my request.
I see the disabling of interceptors for local calls as the preferred &quot;choice&quot;, as it&apos;s the best solution performance-wise for us. What process would you recommend in the portable interceptors to know whether the call is local or not? I could maybe do some benchmarks to see if the performance degradation is bearable for us.
Anyway, thanks for your insights!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3020</commentid>
    <comment_count>3</comment_count>
    <who name="Nick Cross">jacorb</who>
    <bug_when>2013-06-16 18:01:11 +0000</bug_when>
    <thetext>You could add a check for whether the object is_local ? As per commit 8647cbcf0d9c3fc8f433b82050aa95a764d188e6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3043</commentid>
    <comment_count>4</comment_count>
    <who name="Nick Cross">jacorb</who>
    <bug_when>2013-07-18 02:41:12 +0000</bug_when>
    <thetext>Note: bug957 will have a new API isLocalInterceptors() implemented which would allow determination of whether to run code.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>