Hi Rajini,

2008/5/18 Rajini Sivaram <[EMAIL PROTECTED]>:
> Graham,
>
> Is there any reason you didn't switch over to one-bundle-per-3rdparty jar?
>

I couldn't get the itest/osgi-tuscany tests to pass and ran out of
time :-( .  I've tried with the latest and most are now passing, but I
still have 6 or 7 failures (varies).

> I have replaced the manifest.jar file in itest/osgi-tuscany with an
> osgi-installer.jar which accepts both absolute and relative pathnames for
> jar files. The tests generate and use absolute pathnames, avoiding jar
> copying. If we add this to the distribution, we can continue to use relative
> pathnames to make the file portable.
>

That's great, thanks!  I'll take a look and give it a go with the
Calculator sample.

> Now itest/osgi-tuscany typically takes around 5.5 minutes to run on my T61,
> and uses 50MB disk space for around 190 bundles. itest/osgi-tuscany
> currently runs around 28 samples using OSGi bundle contributions for the
> samples, and reruns 16 of these using non-OSGi contributions (ie, URL
> classloaders for the contributions, OSGi classloaders for Tuscany). For the
> calculator sample, I imagine the lowest that you can bring the time down to
> may be around 30 seconds (down from 1 minute that you are currently able to
> get). Apart from removing the manifest as Simon suggested (which will
> improve both timing and disk usage), I am not sure it is worth putting too
> much time into performance of the sample at this stage. You should be able
> to use the osgi-installer from itest/osgi-tuscany as is, if you are happy to
> use one-bundle-per-3rdparty jar.
>

I agree about the performance point.  I think 1 minute is a small sacrifice.

> BTW, I had switched itest/osgi-tuscany to running under Equinox by default a
> few days ago since Felix performance was degrading too much as we added more
> and more bundles.
>

I noticed you'd switched over.  I'll try the same.

>
> On 5/16/08, Simon Nash <[EMAIL PROTECTED]> wrote:
>>
>> Graham Charters wrote:
>>
>>> Below are a couple of runs, one taking 2 mins 50s and the second
>>> taking 1 min 8s.  Both were done after mvn cleans so the difference is
>>> maybe due to my machine being under spec and paging.
>>>
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> [INFO] Reactor Summary:
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> [INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
>>> Calculator Sample  SUCCESS [1:06.859s]
>>> [INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
>>> Sample  SUCCESS [31.297s]
>>> [INFO] Calculator Sample Running in an OSGi Framework ........ SUCCESS
>>> [1:07.594s]
>>> [INFO] Calculator Sample Running in an OSGi Framework ........ SUCCESS
>>> [4.687s]
>>> [INFO]
>>> ------------------------------------------------------------------------
>>>
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> [INFO] Reactor Summary:
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> [INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
>>> Calculator Sample  SUCCESS [35.406s]
>>> [INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
>>> Sample  SUCCESS [7.281s]
>>> [INFO] Calculator Sample Running in an OSGi Framework ........ SUCCESS
>>> [24.172s]
>>> [INFO] Calculator Sample Running in an OSGi Framework ........ SUCCESS
>>> [0.969s]
>>> [INFO]
>>> ------------------------------------------------------------------------
>>>
>>> From the above, it seems that the major time cost is the building of
>> the manifest bundles.  Graham's earlier note said that the third-party
>> manifest bundle consumes 17.5MB of disk space.
>>
>> Could the time and space overheads be reduced by building virtual
>> bundles (or a single virtual bundle) for the third-party libraries?
>> As I understand it, this would save 17.5MB of disk space (as the
>> third party libraries are already in my maven repo), and it would
>> presumably take less time as nothing would need to be written to disk.
>>
>>  Simon
>>
>>
>>> 2008/5/16 Simon Laws <[EMAIL PROTECTED]>:
>>>
>>>> On Fri, May 16, 2008 at 1:05 PM, Simon Laws <[EMAIL PROTECTED]>
>>>> wrote:
>>>>
>>>>
>>>>> On Fri, May 16, 2008 at 12:44 PM, Graham Charters <
>>>>> [EMAIL PROTECTED]> wrote:
>>>>>
>>>>> Hi,
>>>>>>
>>>>>> Regarding Mike's build breaking comment, one of the reasons for
>>>>>> including this in the main build is to have it break to flag when new
>>>>>> dependencies are being introduced.  This will help us focus on
>>>>>> improving Tuscany modularity, but also help us preserve the support
>>>>>> for running in OSGi.  It will also give us a place to focus on keeping
>>>>>> the core small.
>>>>>>
>>>>>> I now have what I think is the smallest subset of modules, based on
>>>>>> current dependencies.  My previous attempt took the approach of
>>>>>> cutting down a distribution, but the latest was created by adding to
>>>>>> the dependencies of the basic Calculator.  The net result is 47
>>>>>> bundles, 49MB (33MB felix cache and 16MB third-party jars) and takes
>>>>>> about 2.5 mins to build and run which does not seem like a big delta
>>>>>> over and above the time taken to do a full Tuscany build and run all
>>>>>> the samples.
>>>>>>
>>>>>> The sca modules which are installed are:
>>>>>>
>>>>>> tuscany-assembly-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-assembly-xml-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-assembly-xsd-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-binding-sca-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-contribution-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-contribution-impl-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-contribution-java-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-contribution-namespace-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-contribution-osgi-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-contribution-resource-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-contribution-xml-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-core-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-core-spi-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-databinding-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-databinding-json-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-definitions-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-definitions-xml-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-domain-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-domain-api-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-domain-impl-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-extensibility-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-host-embedded-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-host-http-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-implementation-java-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-implementation-java-runtime-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-implementation-java-xml-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-interface-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-interface-java-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-interface-java-jaxws-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-interface-java-xml-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-interface-wsdl-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-interface-wsdl-java2wsdl-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-interface-wsdl-xml-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-monitor-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-node-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-node-api-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-node-impl-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-osgi-runtime-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-policy-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-policy-security-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-policy-security-ws-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-policy-xml-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-policy-xml-ws-2.0-incubating-SNAPSHOT.jar
>>>>>> tuscany-sca-api-2.0-incubating-SNAPSHOT.jar
>>>>>>
>>>>>> The third-party jars (currently installed in a single bundle) are:
>>>>>>
>>>>>> activation-1.1.jar
>>>>>> addressing-1.3.mar
>>>>>> annogen-0.1.0.jar
>>>>>> avalon-framework-4.1.3.jar
>>>>>> axiom-api-1.2.5.jar
>>>>>> axiom-dom-1.2.5.jar
>>>>>> axiom-impl-1.2.5.jar
>>>>>> axis2-adb-1.3.jar
>>>>>> axis2-adb-codegen-1.3.jar
>>>>>> axis2-codegen-1.3.jar
>>>>>> axis2-java2wsdl-1.3.jar
>>>>>> axis2-kernel-1.3.jar
>>>>>> axis2-mtompolicy-1.3.jar
>>>>>> backport-util-concurrent-2.2.jar
>>>>>> bcprov-jdk15-132.jar
>>>>>> cglib-nodep-2.1_3.jar
>>>>>> commons-codec-1.3.jar
>>>>>> commons-collections-3.1.jar
>>>>>> commons-discovery-0.2.jar
>>>>>> commons-fileupload-1.1.1.jar
>>>>>> commons-httpclient-3.0.1.jar
>>>>>> commons-io-1.2.jar
>>>>>> commons-logging-1.1.jar
>>>>>> geronimo-activation_1.1_spec-1.0-M1.jar
>>>>>> geronimo-commonj_1.1_spec-1.0.jar
>>>>>> geronimo-javamail_1.4_spec-1.0-M1.jar
>>>>>> geronimo-jms_1.1_spec-1.1.jar
>>>>>> httpcore-4.0-alpha5.jar
>>>>>> httpcore-nio-4.0-alpha5.jar
>>>>>> httpcore-niossl-4.0-alpha5.jar
>>>>>> jaxb-api-2.1.jar
>>>>>> jaxb-impl-2.1.6.jar
>>>>>> jaxb2-reflection-2.1.4.jar
>>>>>> jaxen-1.1-beta-9.jar
>>>>>> jaxws-api-2.1.jar
>>>>>> jettison-1.0.jar
>>>>>> json-rpc-1.0.jar
>>>>>> jsr181-api-1.0-MR1.jar
>>>>>> jsr250-api-1.0.jar
>>>>>> junit-4.2.jar
>>>>>> log4j-1.2.12.jar
>>>>>> logkit-1.0.1.jar
>>>>>> mail-1.4.jar
>>>>>> neethi-2.0.2.jar
>>>>>> opensaml-1.1.jar
>>>>>> org.apache.felix.bundlerepository-1.1.0-SNAPSHOT.jar
>>>>>> org.apache.felix.framework-1.1.0-SNAPSHOT.jar
>>>>>> org.apache.felix.main-1.1.0-SNAPSHOT.jar
>>>>>> org.apache.felix.shell-1.1.0-SNAPSHOT.jar
>>>>>> org.apache.felix.shell.tui-1.1.0-SNAPSHOT.jar
>>>>>> org.osgi.core-1.0.0.jar
>>>>>> rampart-core-1.3.jar
>>>>>> rampart-policy-1.3.jar
>>>>>> rampart-trust-1.3.jar
>>>>>> saaj-api-1.3.jar
>>>>>> servlet-api-2.4.jar
>>>>>> stax-api-1.0-2.jar
>>>>>> stax-api-1.0.1.jar
>>>>>> woden-1.0-incubating-M7b.jar
>>>>>> wsdl4j-1.6.2.jar
>>>>>> wss4j-1.5.3.jar
>>>>>> wstx-asl-3.2.1.jar
>>>>>> xalan-2.7.0.jar
>>>>>> xercesImpl-2.8.1.jar
>>>>>> xml-apis-1.3.03.jar
>>>>>> XmlSchema-1.3.2.jar
>>>>>> xmlsec-1.4.0.jar
>>>>>>
>>>>>> Let me know what you think?
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Graham.
>>>>>>
>>>>>>
>>>>>> 2008/5/15 Mike Edwards <[EMAIL PROTECTED]>:
>>>>>>
>>>>>>> Graham Charters wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I've been working on a small sample to act as an OSGi "sniff test"
>>>>>>>> for
>>>>>>>> Tuscany running in OSGi.  It's basically a cut-down version of what
>>>>>>>> Rajini has done in itest/osgi-tuscany and only runs the most basic
>>>>>>>> Calculator sample.  I still have some work to do to exclude all the
>>>>>>>> things which aren't required and also perhaps move it to use the
>>>>>>>> latest "1 manifest per 3rd party jar" approach.
>>>>>>>>
>>>>>>>> Currently the sample takes ~3 mins to build and run and uses 56MB.
>>>>>>>> The main space usage is 17.5MB for the third-party dependencies and
>>>>>>>> 35MB for the Felix bundle cache (61 bundles in total).  The full
>>>>>>>> Tuscany (itest/osgi-tuscany) using the same third-party library
>>>>>>>> approach is 151 bundles and 133MB total.
>>>>>>>>
>>>>>>>> I'd like to understand whether people feel this would be useful and
>>>>>>>> whether it is approaching the kind of overhead that would be
>>>>>>>> acceptable for it to be included in the main build?
>>>>>>>>
>>>>>>>> Regards, Graham.
>>>>>>>>
>>>>>>>> +1 from me...
>>>>>>>
>>>>>>> The time and space bother me a lot less than whether it would cause
>>>>>>> any
>>>>>>> extra failures.  What plagues me are build & test failures.  They can
>>>>>>>
>>>>>> take
>>>>>>
>>>>>>> hours to sort out.
>>>>>>>
>>>>>>>
>>>>>>> Yours,  Mike.
>>>>>>>
>>>>>>> Hi Graham
>>>>>
>>>>> Any idea what the breakdown of that 2.5 mins is?
>>>>>
>>>>> Simon
>>>>>
>>>>> For me on my T60 this morning.
>>>>
>>>> Full build
>>>>
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>> [INFO] BUILD SUCCESSFUL
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>> [INFO] Total time: 40 minutes 9 seconds
>>>> [INFO] Finished at: Fri May 16 12:17:45 BST 2008
>>>> [INFO] Final Memory: 98M/170M
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>>
>>>> osgi-tuscany
>>>>
>>>> [INFO] BUILD SUCCESSFUL
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>> [INFO] Total time: 8 minutes 4 seconds
>>>> [INFO] Finished at: Fri May 16 13:15:25 BST 2008
>>>> [INFO] Final Memory: 33M/99M
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>>
>>>> Simon
>>>>
>>>>
>>>
>>
>
>
> --
> Thank you...
>
> Regards,
>
> Rajini
>

Reply via email to