On 04/04/2011 10:02 AM, Mattias Jiderhamn wrote:
> Scott Ferguson wrote (2011-04-04 18:47):
>> On 04/04/2011 12:43 AM, Mattias Jiderhamn wrote:
>>> While evaluating Resin 4.0.16 we are seeing something that makes me 
>>> really concerned. It appears as if after a redeploy there can be two 
>>> instances of our main app running.
>>> I was made aware of this by noticing that timed servlets (<run-at 
>>> ... />) were having concurrency issues and logging the same event 
>>> twice within the same second.
>>> This made me add some extra logging in a <load-on-startup/> servlet, 
>>> and I can actually see that at some reploys, the same web app is 
>>> initialized twice - in different, concurrent threads and different 
>>> classloaders.
>>> For example one instance may be initialized by 
>>> Thread[http://*:8080-776,5,main] and at the same time (give or take 
>>> a few seconds) another one by Thread[resin-366,5,main].
>>> I cannot deliberately recreate it by simply redeploying (which makes 
>>> it less likely to be a configuration issue). But it happens about 
>>> daily on our test server; possibly issuing requests on a session in 
>>> the app while redeploying is a factor.
>>> We are not using versioning.
>>> dependency-check-interval is set to 20 seconds.
>>> The "extra" app does not appear in the admin console.
>>> How can we figure out what is going on here???
>> Are you using version="true" and/or versioned web-apps? With 
>> versioned web-apps, Resin is supposed to have two versions running at 
>> the same time while it migrates sessions from the old version to the 
>> new version.
> As stated above, we are not using versioning.

Thanks. I'd missed that.

> (And if we we're, should the old version be re-initialized when 
> deploying a new version...?)

No. Only the latest version should ever be initialized. Even if you were 
to restart Resin completely with multiple versions, only the latest 
version should be initialized.

I've filed this as http://bugs.caucho.com/view.php?id=4474.

-- Scott

resin-interest mailing list

Reply via email to