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
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]