Re: [Resin-interest] Environment class loader throwing a ClassNotFoundException when resin 4 is restarted

2011-04-04 Thread Keith Fetterman
Hi Scott,

Thanks filing this as a bug.  I ran some more tests and it looks like 
its related to the HTTP session timing out or being invalidated.  If a 
request for that session occurs after the timeout, I see the 
EnvironmentClassLoader exceptions.

Keith

On 04/04/2011 11:55 AM, Scott Ferguson wrote:
> On 04/04/2011 11:39 AM, Keith Fetterman wrote:
>> I am wondering if this problem is related to the HTTP session timing
>> out.  In the ROOT web application, we have the session time out set to
>> 70 minutes:
>>
>> WEB-INF/web.xml
> Possibly. I've filed it as a bug.
>
> The Java deserializer requires a classloader handler for proper
> deserialization. It's possible that it's not properly handled in some
> contexts.
>
> -- Scott
>
>>> 
>>> 70
>>> 
>> I received another ClassNotFoundException from the
>> EnvironmentClassLoader after 30 minutes, which is the default session
>> timeout for most Web apps.
>>
>>
>> On 04/04/2011 11:19 AM, Keith Fetterman wrote:
>>> This problem seems to be more pervasive in Resin 4.0.16 pro.  I am now
>>> seeing other application classes that the Resin EnvironmentClassLoader
>>> is trying to load but it can't find them.  I am getting the error
>>> "java.lang.ClassNotFoundException" because the
>>> "EnvironmentClassLoader[resin-system:]" is trying to load it.  In our
>>> resin.xml file, I have the application classes being loaded at at the
>>> Host level.
>>>
>>> Resin was started at 9:55 AM this morning.  Since then, I have been
>>> testing our Website including checking out, which would require
>>> "com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm"
>>> class to be loaded.  Then at 10:37 AM, resin throws the error:
>>>
 [11-04-04 10:37:46.336] {http://*:8082-23} WARNING
 com.caucho.server.session.SessionImpl
 com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException:
 com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm
 in EnvironmentClassLoader[resin-system:]
>>> It looks like the error is occurring when resin is either serializing or
>>> deserializing the session.  Is the EnvironmentClassLoader above the host
>>> class loader and if so, why is trying to load application classes?  Is
>>> this a bug in resin 4.0.16?
>>>
>>>
 [11-04-04 10:37:46.336] {http://*:8082-23} WARNING
 com.caucho.server.session.SessionImpl
 com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException:
 com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm
 in EnvironmentClassLoader[resin-system:]
   at
 com.caucho.vfs.IOExceptionWrapper.create(IOExceptionWrapper.java:64)
   at
 com.caucho.server.session.SessionImpl.load(SessionImpl.java:706)
   at
 com.caucho.server.session.SessionImpl.load(SessionImpl.java:642)
   at
 com.caucho.server.session.SessionManager.createSession(SessionManager.java:1332)
   at
 com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:255)
   at
 com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:198)
   at
 com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:613)
   at
 com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1961)
   at
 com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1725)
   at
 com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1268)
   at
 com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:813)
   at
 com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730)
   at
 com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689)
   at
 com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669)
   at
 com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617)
   at
 com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104)
   at
 com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
   

Re: [Resin-interest] Multiple instances of the same webapp after redeploy in 4.0.16 (strange!!!)

2011-04-04 Thread Scott Ferguson
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 (>> ... />) were having concurrency issues and logging the same event 
>>> twice within the same second.
>>> This made me add some extra logging in a  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.
> (And if we we're, should the old version be re-initialized when 
> deploying a new version...?)

Do you have logs for these events? The WebApp start/stop should be 
logged at the info level and be in the jvm-default.log.

I can't yet see how this is happening, though I have found a related 
issue with 503s.

The main thing I'd be looking for is:

   {thread1} WebApp[/foo] start
   {thread2} WebApp[/foo] stop
   {thread2} WebApp[/foo] start
   {threadX} WebApp[/foo] stop

VS

   {thread1} WebApp[/foo] start
   {thread2} WebApp[/foo] start
   ...

In other words, an actual simultaneous start compared to an erroneous 
restart.

-- Scott



___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest


Re: [Resin-interest] Environment class loader throwing a ClassNotFoundException when resin 4 is restarted

2011-04-04 Thread Scott Ferguson
On 04/04/2011 11:39 AM, Keith Fetterman wrote:
> I am wondering if this problem is related to the HTTP session timing
> out.  In the ROOT web application, we have the session time out set to
> 70 minutes:
>
> WEB-INF/web.xml

Possibly. I've filed it as a bug.

The Java deserializer requires a classloader handler for proper 
deserialization. It's possible that it's not properly handled in some 
contexts.

-- Scott

>> 
>> 70
>> 
> I received another ClassNotFoundException from the
> EnvironmentClassLoader after 30 minutes, which is the default session
> timeout for most Web apps.
>
>
> On 04/04/2011 11:19 AM, Keith Fetterman wrote:
>> This problem seems to be more pervasive in Resin 4.0.16 pro.  I am now
>> seeing other application classes that the Resin EnvironmentClassLoader
>> is trying to load but it can't find them.  I am getting the error
>> "java.lang.ClassNotFoundException" because the
>> "EnvironmentClassLoader[resin-system:]" is trying to load it.  In our
>> resin.xml file, I have the application classes being loaded at at the
>> Host level.
>>
>> Resin was started at 9:55 AM this morning.  Since then, I have been
>> testing our Website including checking out, which would require
>> "com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm"
>> class to be loaded.  Then at 10:37 AM, resin throws the error:
>>
>>> [11-04-04 10:37:46.336] {http://*:8082-23} WARNING
>>> com.caucho.server.session.SessionImpl
>>> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException:
>>> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm
>>> in EnvironmentClassLoader[resin-system:]
>> It looks like the error is occurring when resin is either serializing or
>> deserializing the session.  Is the EnvironmentClassLoader above the host
>> class loader and if so, why is trying to load application classes?  Is
>> this a bug in resin 4.0.16?
>>
>>
>>> [11-04-04 10:37:46.336] {http://*:8082-23} WARNING
>>> com.caucho.server.session.SessionImpl
>>> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException:
>>> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm
>>> in EnvironmentClassLoader[resin-system:]
>>>  at
>>> com.caucho.vfs.IOExceptionWrapper.create(IOExceptionWrapper.java:64)
>>>  at
>>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:706)
>>>  at
>>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:642)
>>>  at
>>> com.caucho.server.session.SessionManager.createSession(SessionManager.java:1332)
>>>  at
>>> com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:255)
>>>  at
>>> com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:198)
>>>  at
>>> com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:613)
>>>  at
>>> com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1961)
>>>  at
>>> com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1725)
>>>  at
>>> com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1268)
>>>  at
>>> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:813)
>>>  at
>>> com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730)
>>>  at
>>> com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689)
>>>  at
>>> com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669)
>>>  at
>>> com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617)
>>>  at
>>> com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104)
>>>  at
>>> com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
>>>  at
>>> com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
>>>  at
>>> com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67)
>>>  at
>>> com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
>>>

Re: [Resin-interest] Environment class loader throwing a ClassNotFoundException when resin 4 is restarted

2011-04-04 Thread Keith Fetterman
I am wondering if this problem is related to the HTTP session timing 
out.  In the ROOT web application, we have the session time out set to 
70 minutes:

WEB-INF/web.xml
> 
> 70
> 

I received another ClassNotFoundException from the 
EnvironmentClassLoader after 30 minutes, which is the default session 
timeout for most Web apps.


On 04/04/2011 11:19 AM, Keith Fetterman wrote:
> This problem seems to be more pervasive in Resin 4.0.16 pro.  I am now
> seeing other application classes that the Resin EnvironmentClassLoader
> is trying to load but it can't find them.  I am getting the error
> "java.lang.ClassNotFoundException" because the
> "EnvironmentClassLoader[resin-system:]" is trying to load it.  In our
> resin.xml file, I have the application classes being loaded at at the
> Host level.
>
> Resin was started at 9:55 AM this morning.  Since then, I have been
> testing our Website including checking out, which would require
> "com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm"
> class to be loaded.  Then at 10:37 AM, resin throws the error:
>
>> [11-04-04 10:37:46.336] {http://*:8082-23} WARNING
>> com.caucho.server.session.SessionImpl
>> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException:
>> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm
>> in EnvironmentClassLoader[resin-system:]
> It looks like the error is occurring when resin is either serializing or
> deserializing the session.  Is the EnvironmentClassLoader above the host
> class loader and if so, why is trying to load application classes?  Is
> this a bug in resin 4.0.16?
>
>
>> [11-04-04 10:37:46.336] {http://*:8082-23} WARNING
>> com.caucho.server.session.SessionImpl
>> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException:
>> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm
>> in EnvironmentClassLoader[resin-system:]
>> at
>> com.caucho.vfs.IOExceptionWrapper.create(IOExceptionWrapper.java:64)
>> at
>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:706)
>> at
>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:642)
>> at
>> com.caucho.server.session.SessionManager.createSession(SessionManager.java:1332)
>> at
>> com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:255)
>> at
>> com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:198)
>> at
>> com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:613)
>> at
>> com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1961)
>> at
>> com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1725)
>> at
>> com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1268)
>> at
>> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:813)
>> at
>> com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730)
>> at
>> com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689)
>> at
>> com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669)
>> at
>> com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617)
>> at
>> com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104)
>> at
>> com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
>> at
>> com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
>> at
>> com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67)
>> at
>> com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
>> at
>> com.caucho.env.thread.ResinThread.run(ResinThread.java:130)
>> Caused by:
>> java.lang.ClassNotFoundException:
>> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm
>> in EnvironmentClassLoader[resin-system:]
>>   

Re: [Resin-interest] Environment class loader throwing a ClassNotFoundException when resin 4 is restarted

2011-04-04 Thread Keith Fetterman
This problem seems to be more pervasive in Resin 4.0.16 pro.  I am now 
seeing other application classes that the Resin EnvironmentClassLoader 
is trying to load but it can't find them.  I am getting the error 
"java.lang.ClassNotFoundException" because the 
"EnvironmentClassLoader[resin-system:]" is trying to load it.  In our 
resin.xml file, I have the application classes being loaded at at the 
Host level.

Resin was started at 9:55 AM this morning.  Since then, I have been 
testing our Website including checking out, which would require 
"com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm" 
class to be loaded.  Then at 10:37 AM, resin throws the error:

> [11-04-04 10:37:46.336] {http://*:8082-23} WARNING 
> com.caucho.server.session.SessionImpl 
> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException: 
> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm 
> in EnvironmentClassLoader[resin-system:]

It looks like the error is occurring when resin is either serializing or 
deserializing the session.  Is the EnvironmentClassLoader above the host 
class loader and if so, why is trying to load application classes?  Is 
this a bug in resin 4.0.16?


> [11-04-04 10:37:46.336] {http://*:8082-23} WARNING 
> com.caucho.server.session.SessionImpl 
> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException: 
> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm 
> in EnvironmentClassLoader[resin-system:]
>at 
> com.caucho.vfs.IOExceptionWrapper.create(IOExceptionWrapper.java:64)
>at 
> com.caucho.server.session.SessionImpl.load(SessionImpl.java:706)
>at 
> com.caucho.server.session.SessionImpl.load(SessionImpl.java:642)
>at 
> com.caucho.server.session.SessionManager.createSession(SessionManager.java:1332)
>at 
> com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:255)
>at 
> com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:198)
>at 
> com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:613)
>at 
> com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1961)
>at 
> com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1725)
>at 
> com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1268)
>at 
> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:813)
>at 
> com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730)
>at 
> com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689)
>at 
> com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669)
>at 
> com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617)
>at 
> com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104)
>at 
> com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
>at 
> com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
>at 
> com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67)
>at 
> com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
>at 
> com.caucho.env.thread.ResinThread.run(ResinThread.java:130)
>Caused by: 
> java.lang.ClassNotFoundException: 
> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm 
> in EnvironmentClassLoader[resin-system:]
>at 
> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1382)
>at 
> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1358)
>at 
> java.lang.Class.forName0(Native Method)
>at 
> java.lang.Class.forName(Class.java:247)
>   

Re: [Resin-interest] Multiple instances of the same webapp after redeploy in 4.0.16 (strange!!!)

2011-04-04 Thread Scott Ferguson
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 (>> ... />) were having concurrency issues and logging the same event 
>>> twice within the same second.
>>> This made me add some extra logging in a  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
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest


Re: [Resin-interest] Multiple instances of the same webapp after redeploy in 4.0.16 (strange!!!)

2011-04-04 Thread Mattias Jiderhamn
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 (> />) were having concurrency issues and logging the same event twice 
>> within the same second.
>> This made me add some extra logging in a  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.
(And if we we're, should the old version be re-initialized when 
deploying a new version...?)

-- 

   



___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest


Re: [Resin-interest] Multiple instances of the same webapp after redeploy in 4.0.16 (strange!!!)

2011-04-04 Thread Scott Ferguson
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 ( />) were having concurrency issues and logging the same event twice 
> within the same second.
> This made me add some extra logging in a  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.

-- Scott




___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest


[Resin-interest] Multiple instances of the same webapp after redeploy in 4.0.16 (strange!!!)

2011-04-04 Thread Mattias Jiderhamn
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 () were having concurrency issues and logging the same event twice 
within the same second.
This made me add some extra logging in a  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???

-- 

   



___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest