Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ParserPool is not performant #41

Open
Tomas-Kraus opened this issue Apr 21, 2009 · 14 comments
Open

ParserPool is not performant #41

Tomas-Kraus opened this issue Apr 21, 2009 · 14 comments

Comments

@Tomas-Kraus
Copy link
Member

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]

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
Reported by kevinconaway

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
Was assigned to saaj-issues

@Tomas-Kraus
Copy link
Member Author

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

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
File: saaj-41.patch
Attached By: kevinconaway

@Tomas-Kraus
Copy link
Member Author

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

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
File: saaj-41-updated.patch
Attached By: kevinconaway

@Tomas-Kraus
Copy link
Member Author

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

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
@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.

@Tomas-Kraus
Copy link
Member Author

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

Thanks.

@Tomas-Kraus
Copy link
Member Author

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

@Tomas-Kraus
Copy link
Member Author

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

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
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.

@Tomas-Kraus
Copy link
Member Author

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

@Tomas-Kraus
Copy link
Member Author

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

No branches or pull requests

2 participants