<?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>801</bug_id>
          
          <creation_ts>2007-08-29 11:31:15 +0000</creation_ts>
          <short_desc>AOM_RemovalThread created for each object deactivation</short_desc>
          <delta_ts>2009-12-07 08:49:55 +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>POA</component>
          <version>2.3.0</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Juergen Weber">juergen</reporter>
          <assigned_to name="Gerald Brose">gerald.brose</assigned_to>
          <cc>Kevin.Conner</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2207</commentid>
    <comment_count>0</comment_count>
    <who name="Juergen Weber">juergen</who>
    <bug_when>2007-08-29 11:31:15 +0000</bug_when>
    <thetext>Currently JacORB does each servant deactivation within a separate thread.
I think this was introduced as fix to bug 204. 

Unfortunately, for bigger numbers of servants, the thread creation and start
results in a huge performance penalty. We have an application that at one time
frees some 4000 servants, at this point the vm crawls, sometimes even gets out
of memory.
(http://lists.spline.inf.fu-berlin.de/pipermail/jacorb-developer/2007-August/009053.html)

I attach a patch that creates only one thread per POA. This thread waits on a
edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue. In the
remove method the servant data is put onto this queue.

Unfortunately my patch creates a core JacORB dependency on
backport-util-concurrent.jar. I could have used java.util.concurrent but this
creates a dependency on Java 1.5

I have looked for a queue implementation in JacORB core but I did not find one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2208</commentid>
    <comment_count>1</comment_count>
      <attachid>321</attachid>
    <who name="Juergen Weber">juergen</who>
    <bug_when>2007-08-29 11:32:38 +0000</bug_when>
    <thetext>Created attachment 321
diff -u AOM.java.orig AOM.java</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2336</commentid>
    <comment_count>2</comment_count>
    <who name="Nick Cross">rnc</who>
    <bug_when>2008-11-13 17:10:24 +0000</bug_when>
    <thetext>*** Bug 527 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2529</commentid>
    <comment_count>3</comment_count>
    <who name="Nick Cross">rnc</who>
    <bug_when>2009-12-07 08:49:55 +0000</bug_when>
    <thetext>Fix has been applied to CVS. As JacORB depends on JDK1.5 backport-util-concurrent is not required.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321</attachid>
            <date>2007-08-29 11:32:38 +0000</date>
            <delta_ts>2007-08-29 11:32:38 +0000</delta_ts>
            <desc>diff -u AOM.java.orig AOM.java</desc>
            <filename>AOM.diff</filename>
            <type>text/plain</type>
            <size>2928</size>
            <attacher name="Juergen Weber">juergen</attacher>
            
              <data encoding="base64">LS0tIEFPTS5qYXZhLm9yaWcJMjAwNy0wOC0yMyAxMDo0Njo0Ni4wNDQzMzk1MDAgKzAyMDAKKysr
IEFPTS5qYXZhCTIwMDctMDgtMjkgMTE6MTI6NDEuODY4MDkwMjAwICswMjAwCkBAIC0zNiw2ICsz
NiwxMCBAQAogCiBpbXBvcnQgb3JnLmFwYWNoZS5hdmFsb24uZnJhbWV3b3JrLmxvZ2dlci5Mb2dn
ZXI7CiAKK2ltcG9ydCBlZHUuZW1vcnkubWF0aGNzLmJhY2twb3J0LmphdmEudXRpbC5jb25jdXJy
ZW50LkJsb2NraW5nUXVldWU7CitpbXBvcnQgZWR1LmVtb3J5Lm1hdGhjcy5iYWNrcG9ydC5qYXZh
LnV0aWwuY29uY3VycmVudC5MaW5rZWRCbG9ja2luZ1F1ZXVlOworCisKIC8qKgogICogVGhpcyBj
bGFzcyBtYXBzIG9iamVjdCBpZCdzIHRvIHNlcnZhbnRzIGFuZCB2aWNlIHZlcnNhLgogICogQSBv
aWQvc2VydmFudCBwYWlyIGNhbiBiZSBhZGRlZC9yZW1vdmVkIHVzaW5nIGFkZCgpLHJlbW92ZSgp
LgpAQCAtNzIsNiArNzYsMzAgQEAKICAgICBwcml2YXRlIGZpbmFsIGJ5dGVbXSAgICAgICAgICAg
ICAgZGVhY3RpdmF0aW9uTGlzdExvY2sgPSBuZXcgYnl0ZVswXTsKIAogCisgICAgICAgIHByaXZh
dGUgQmxvY2tpbmdRdWV1ZSByZW1vdmFsUXVldWUgPSBuZXcgTGlua2VkQmxvY2tpbmdRdWV1ZSgp
OyAKKyAgICAKKyAgICBjbGFzcyBSZW1vdmFsU3RydWN0CisgICAgeworICAgIGJ5dGVbXSBvaWRf
OworICAgIFJlcXVlc3RDb250cm9sbGVyIHJlcXVlc3RDb250cm9sbGVyXyA7CisgICAgU2VydmFu
dEFjdGl2YXRvciBzZXJ2YW50QWN0aXZhdG9yXzsKKyAgICBQT0EgcG9hXzsKKyAgICBib29sZWFu
IGNsZWFudXBJblByb2dyZXNzXzsKKyAgICAKKwlwdWJsaWMgUmVtb3ZhbFN0cnVjdChieXRlW10g
b2lkXywgUmVxdWVzdENvbnRyb2xsZXIgcmVxdWVzdENvbnRyb2xsZXJfLAorCQkJCQkJCVNlcnZh
bnRBY3RpdmF0b3Igc2VydmFudEFjdGl2YXRvcl8sIFBPQSBwb2FfLCBib29sZWFuIGNsZWFudXBJ
blByb2dyZXNzXykKKwl7CisJCXN1cGVyKCk7CisJCXRoaXMub2lkXyA9IG9pZF87CisJCXRoaXMu
cmVxdWVzdENvbnRyb2xsZXJfID0gcmVxdWVzdENvbnRyb2xsZXJfOworCQl0aGlzLnNlcnZhbnRB
Y3RpdmF0b3JfID0gc2VydmFudEFjdGl2YXRvcl87CisJCXRoaXMucG9hXyA9IHBvYV87CisJCXRo
aXMuY2xlYW51cEluUHJvZ3Jlc3NfID0gY2xlYW51cEluUHJvZ3Jlc3NfOworCX0KKyAgICB9Owor
CisgICAgCisgICAgCiAgICAgcHJvdGVjdGVkIEFPTSAoYm9vbGVhbiBfdW5pcXVlLCBMb2dnZXIg
X2xvZ2dlcikKICAgICB7CiAgICAgICAgIHVuaXF1ZSA9IF91bmlxdWU7CkBAIC04MSw2ICsxMDks
MzYgQEAKICAgICAgICAgewogICAgICAgICAgICAgc2VydmFudE1hcCA9IG5ldyBIYXNodGFibGUo
KTsKICAgICAgICAgfQorCQorCSAgICAgICAgVGhyZWFkIHRocmVhZCA9IG5ldyBUaHJlYWQoIkFP
TV9SZW1vdmFsVGhyZWFkIikKKyAgICAgICAgeworICAgICAgICAJCisgICAgICAgIAlwdWJsaWMg
dm9pZCBydW4oKQorICAgICAgICAJeworICAgICAgICAJCXdoaWxlICh0cnVlKQorICAgICAgICAJ
CXsKKyAgICAgICAgCQkJdHJ5CisgICAgICAgIAkJCXsKKyAgICAgICAgCQkJCVJlbW92YWxTdHJ1
Y3QgcnMgPSAoUmVtb3ZhbFN0cnVjdClyZW1vdmFsUXVldWUudGFrZSgpOworICAgICAgICAJCQkJ
X3JlbW92ZSgKKyAgICAgICAgCQkJCQlycy5vaWRfLAorICAgICAgICAJCQkJCXJzLnJlcXVlc3RD
b250cm9sbGVyXywKKyAgICAgICAgCQkJCQlycy5zZXJ2YW50QWN0aXZhdG9yXywKKyAgICAgICAg
CQkJCQlycy5wb2FfLAorICAgICAgICAJCQkJCXJzLmNsZWFudXBJblByb2dyZXNzXworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgIAkJCQkKKyAgICAgICAgCQkJfQor
ICAgICAgICAJCQljYXRjaCAoSW50ZXJydXB0ZWRFeGNlcHRpb24gZSkKKyAgICAgICAgCQkJewor
ICAgICAgICAJCQkJdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oZSk7CisgICAgICAgIAkJCX0K
KyAgICAgICAgCQkJCisgICAgICAgIAkJfQorICAgICAgICAJfQorICAgICAgICB9OworICAgICAg
ICB0aHJlYWQuc3RhcnQoKTsKKwogICAgIH0KIAogCkBAIC0zNjYsMjEgKzQyNCwyMyBAQAogICAg
ICAgICBmaW5hbCBQT0EgcG9hXyA9IHBvYTsKICAgICAgICAgZmluYWwgYm9vbGVhbiBjbGVhbnVw
SW5Qcm9ncmVzc18gPSBjbGVhbnVwSW5Qcm9ncmVzczsKIAotICAgICAgICBUaHJlYWQgdGhyZWFk
ID0gbmV3IFRocmVhZCgiQU9NX1JlbW92YWxUaHJlYWQiKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBwdWJsaWMgdm9pZCBydW4oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIF9yZW1v
dmUoCi0gICAgICAgICAgICAgICAgICAgIG9pZF8sCi0gICAgICAgICAgICAgICAgICAgIHJlcXVl
c3RDb250cm9sbGVyXywKLSAgICAgICAgICAgICAgICAgICAgc2VydmFudEFjdGl2YXRvcl8sCi0g
ICAgICAgICAgICAgICAgICAgIHBvYV8sCi0gICAgICAgICAgICAgICAgICAgIGNsZWFudXBJblBy
b2dyZXNzXwotICAgICAgICAgICAgICAgICAgICAgICApOwotICAgICAgICAgICAgfQotICAgICAg
ICB9OwogCi0gICAgICAgIHRocmVhZC5zdGFydCgpOworICAgICAgICBSZW1vdmFsU3RydWN0IHJz
ID0gbmV3IFJlbW92YWxTdHJ1Y3Qob2lkXywKKyAgICAgICAgICAgIHJlcXVlc3RDb250cm9sbGVy
XywKKyAgICAgICAgICAgIHNlcnZhbnRBY3RpdmF0b3JfLAorICAgICAgICAgICAgcG9hXywKKyAg
ICAgICAgICAgIGNsZWFudXBJblByb2dyZXNzXworICAgICAgICAgICAgICAgKTsKKyAgICAgICAg
CisgICAgICAgIHRyeQorCXsKKwkJcmVtb3ZhbFF1ZXVlLnB1dChycyk7CisJfQorCWNhdGNoIChJ
bnRlcnJ1cHRlZEV4Y2VwdGlvbiBlKQorCXsKKwkJdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24o
ZSk7CisJfQorCiAgICAgfQogCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>