Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.7.1
-
Component/s: Framework
-
Labels:None
-
Environment:Any
-
ICEsoft Forum Reference:
Description
According to the forum entry, clients accessing an application from a slower site can impact the performance of clients accessing an application from a faster location. This looks to be due to blocking in the Parser code. It's related to sychronization that was added to fix another issue, ICE-2936
The Parser is not re-entrantly threadsafe as an application scoped instance, so the parse method has to be synchronized. It can't be made session-scoped because the parser is 140K/user. And it can't be request scoped because it takes 2+ seconds to load the tag rules each time the parser is initialized which is added to the render time.
That's the source of the inter-thread blocking.
We may have to load the tag rules statically in the constructor and then construct a per-request instance of the parser. This will require a little bit of breakage, because the parser is a member variable of the ViewHandler, which is an application scoped entity.
The Parser is not re-entrantly threadsafe as an application scoped instance, so the parse method has to be synchronized. It can't be made session-scoped because the parser is 140K/user. And it can't be request scoped because it takes 2+ seconds to load the tag rules each time the parser is initialized which is added to the render time.
That's the source of the inter-thread blocking.
We may have to load the tag rules statically in the constructor and then construct a per-request instance of the parser. This will require a little bit of breakage, because the parser is a member variable of the ViewHandler, which is an application scoped entity.
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion