Mantis - Quercus
Viewing Issue Advanced Details
3473 feature always 05-01-09 16:47 05-01-09 16:47
koreth  
 
normal  
new 4.0.0  
open  
none    
none  
0003473: API to force a dependency check
Disabling dependency checks (by setting the dependency check interval impossibly high) is good for runtime performance, but prevents us from deploying updated PHP code without a web app restart.

Enabling dependency checks means that with a large number of servers, we will almost certainly hit the race condition where a dependency check happens while we're in the middle of updating the PHP code base, which will cause inconsistent code to run (file A is checked and is unchanged, file B is checked and has just changed so gets reloaded, then file A gets updated by the code push and we end up running old-A with new-B until the next dependency check.)

If there were an API to tell Resin (or just Quercus) to make the dependency check happen immediately, we could hit a script to call that method after the PHP files had all been updated, and set the interval to a year or somesuch so it'd never happen on its own.

Restarting the whole webapp is not optimal because we lose the local cache and have to repopulate it.

There are no notes attached to this issue.