Bug 779729 (SOA-2091) - JAXRRegistryImpl performance enhancements
Summary: JAXRRegistryImpl performance enhancements
Keywords:
Status: CLOSED NEXTRELEASE
Alias: SOA-2091
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: JBossESB
Version: 5.0.0 GA
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 5.0.2
Assignee: Pavel Macik
QA Contact:
URL: http://jira.jboss.org/jira/browse/SOA...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-05-20 12:27 UTC by Kevin Conner
Modified: 2010-07-22 07:58 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-07-22 07:58:27 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
SOA-P-JUDDI-performance-comparison.ods (13.55 KB, application/vnd.oasis.opendocument.spreadsheet)
2010-07-22 07:43 UTC, Pavel Macik
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SOA-2091 0 None None None Never

Description Kevin Conner 2010-05-20 12:27:38 UTC
Date of First Response: 2010-06-06 22:49:40
project_key: SOA

Comment 1 Kevin Conner 2010-05-20 12:28:13 UTC
Link: Added: This issue depends JBESB-3326


Comment 2 Kevin Conner 2010-05-20 16:55:13 UTC
Updated in ESB codebase, will be in next merge.

Comment 3 Dana Mison 2010-06-07 02:49:40 UTC
More information needed to document this:

Is all the work here related to reducing the number of database queries ?

The following items where taken from JBESB-3306. Do they adequately cover the work done here?

- cache classification scheme
NEED MORE INFO

- generate deleted EPR information once
NEED MORE INFO

- check retrieved service for bindings before querying for bindings.
Retrieved services are checked for binding information before querying the database. 
IS THIS ACCURATE?

Comment 4 Kevin Conner 2010-06-08 13:37:53 UTC
-cache classification schema

The classification scheme was repeatedly queried from the repository even though this information does not change, once retrieved it can be cached and reused.

- generate deleted EPR information once

The implementation has to discover the correct EPR to delete and, to achieve this, compares the current EPR string representation with those in the repository.  The previous implementation generated the string representation of the deleted EPR for every comparison, rather than generating it once and then comparing with each EPR in the registry.

- check retrieved service for bindings before querying for bindings

The process to query current list of EPRs involves two steps, query for the service information and then search for associated bindings.  The jUDDI v2 implementation returns the associated bindings as part of the overall service information and allows us to miss out the second, more intensive, juddi v2 query.

Comment 5 Dana Mison 2010-06-11 07:19:09 UTC
Added to the SOA 5.0.2 release notes as resolved:

JBESB-3326
JAXRRegistryImpl has had the following performance enhancements.

* Classification schemes are now cached when retrieved so they can be reused without having to query the database again.
* When deleting End Point References (EPRs), the string representation of the EPR to delete is now only generated once and reused for each EPR comparision instead of re-creating it each time. 
* The process for querying the current list of EPRs now reuses the associated bindings information returned with the overall service information instead of performing a separate query for this information.

Comment 6 Pavel Macik 2010-07-22 07:36:14 UTC
Verified in 5.0.2.GA

Comment 7 Pavel Macik 2010-07-22 07:43:40 UTC
Performance results comparison attached

Comment 8 Pavel Macik 2010-07-22 07:43:40 UTC
Attachment: Added: SOA-P-JUDDI-performance-comparison.ods



Note You need to log in before you can comment on or make changes to this bug.