Skip to content
This repository has been archived by the owner on Oct 1, 2018. It is now read-only.

ParserPool is not performant #41

Open
glassfishrobot opened this issue Apr 21, 2009 · 13 comments
Open

ParserPool is not performant #41

glassfishrobot opened this issue Apr 21, 2009 · 13 comments

Comments

@glassfishrobot
Copy link
Contributor

The com.sun.xml.messaging.saaj.util.ParserPool does not perform well under heavy
concurrent use. This class should be refactored to use the facilities provided
by java.util.concurrent.

Environment

Operating System: All
Platform: All

Affected Versions

[1.3.1]

@glassfishrobot
Copy link
Contributor Author

Reported by kevinconaway

@glassfishrobot
Copy link
Contributor Author

Was assigned to saaj-issues

@glassfishrobot
Copy link
Contributor Author

kevinconaway said:
Created an attachment (id=16)
Attaching patch that uses and ArrayBlockingQueue instead of synchronized access to a Stack

@glassfishrobot
Copy link
Contributor Author

File: saaj-41.patch
Attached By: kevinconaway

@glassfishrobot
Copy link
Contributor Author

kevinconaway said:
Created an attachment (id=17)
Attaching updated patch that returns parsers to the pool appropriately in case of error

@glassfishrobot
Copy link
Contributor Author

File: saaj-41-updated.patch
Attached By: kevinconaway

@glassfishrobot
Copy link
Contributor Author

@vbkumarjayanti said:
Thanks for this. Will review your patch and try to put it in ASAP.

@glassfishrobot
Copy link
Contributor Author

@vbkumarjayanti said:
Hi kevinconaway,

Sorry i did not act for long on your patch, just got busy with my other
project(s).

Now it looks like the idea of parserpools itself is problematic.

Please see : https://saaj.dev.java.net/issues/show_bug.cgi?id=46

I will look into both the issues together and see what is best.

Thanks again for providing the patch. If you have an opinion let me know.

Thanks.

@glassfishrobot
Copy link
Contributor Author

@vbkumarjayanti said:
I have putback your proposed changes. Thanks for the same, though i now still
need to investigate issue 46.

Thanks.

@glassfishrobot
Copy link
Contributor Author

File: saaj-41-updated-2.patch
Attached By: kevinconaway

@glassfishrobot
Copy link
Contributor Author

kevinconaway said:
Created an attachment (id=18)
Updated patch to set the interrupt status

@glassfishrobot
Copy link
Contributor Author

kevinconaway said:
I'm reopening the issue because I've added an updated patch. The ParserPool
needs to call Thread.currentThread().interrupt() when catching an
InterruptedException. This ensures that the interrupt gets propagated up the
call chain.

@glassfishrobot
Copy link
Contributor Author

This issue was imported from java.net JIRA SAAJ-41

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant