[
https://issues.apache.org/jira/browse/VELOCITY-536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12504433
]
Lei Gu commented on VELOCITY-536:
---------------------------------
Hi Will,
Yes, that looks very reasonable to me. Thanks for taking care of this issue.
-- Lei
> Velocity Engine throws NullPointer Exception when two people click on the
> same page at the same time for the first time
> -----------------------------------------------------------------------------------------------------------------------
>
> Key: VELOCITY-536
> URL: https://issues.apache.org/jira/browse/VELOCITY-536
> Project: Velocity
> Issue Type: Bug
> Components: Engine
> Affects Versions: 1.5
> Reporter: Lei Gu
> Fix For: 1.6
>
> Attachments: 536-patch.txt, ASTDirective.java, ASTSetDirective.java,
> VelocimacroProxy.java
>
>
> Multi-thread concurrency issue
> During our concurrency testing, we observed NullPointer exceptions being
> thrown when two people hit the same page at the same time for the first time.
> Upon further investigation, it turns out that we need to synchronize the init
> method on ASTDirective, ASTSetDirective, and render method on
> ASTSetDirective, and VelocimacroProxy.
> Basically, the problem is introduced as the following; when two threads
> attempts to parse and render the same template at the same time. Thread1
> finishes parsing first and proceeds to the render method call, while thread 2
> is still busy parsing and will overwrite the existing parse tree that is
> being used by thread 1 for rendering purpose. Thus under certainly condition
> a NullPointer exception will be thrown.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]