Application Server Solutions for Microsoft IIS and ASP.NET
       solutions   products   partners   company   support   downloads         store
View Interest List Message Details
<< Back to Search Results

Date: 10/26/2007
From: mmcginty@newatlanta.com
Subject: Re: [ServletExec] Disappearing Web Applications
I've just uncovered a rather large mystery regarding how IIS 6 works,
and how that can potentially impact ServletExec ISAPI (not SE AS).
At least it was a mystery for me.

Steve, this will likely be of great interest to you and also to anyone
else using SE ISAPI with IIS 6:

If you have more than 1 IIS Application Pool defined, then SE ISAPI
(installed as a global ISAPI Filter... at the global level of IIS) may
be getting loaded more than 1 time (it depends on how your IIS
Website(s) and Virtual Directories are setup and configured).
Having SE ISAPI load more than once on the same machine is not good at all.
It can definitely cause the sort of problems you (and a few others) have
described both on this list and also via support@servletexec.com.
Some reasons why it is not good are given in SE FAQ #270:
http://www.newatlanta.com/c/support/servletexec/self_help/faq/detail?faqId=270

I'll need to update that FAQ to include the following new information
I've just uncovered:

When you create a new IIS Website, it will (by default) have defined
within it a .NET Web Application named "Default Application".
The Default Application will (by default) be configured to run inside
the IIS Application Pool named "Default App Pool".
But if you change it to run in some other IIS App Pool, or if you add a
.NET Application to that website and configure that application
to run inside some other IIS App Pool, then SE ISAPI (installed as a
global ISAPI Filter within IIS) will be loaded again when a received
request is routed to that IIS App Pool for processing.
It is not until a particular request is sent to IIS... one which IIS
routes to a particular App Pool (based on your website and .NET application
settings) that the SE ISAPI Filter would be loaded (potentially
subsequent times).


While my initial testing here indicates that it is possible to configure
IIS 6 to avoid this condition with SE ISAPI, it is rather tricky and the
work done to make it happen could easily be "undone" if other people
configure your IIS in certain (very common) ways.

A far better solution would be this:

If your IIS has exactly 1 IIS Application Pool, then use SE ISAPI or SE
AS (your choice).
If you need to use more than 1 IIS Application Pool, then don't use SE
ISAPI.
Use SE AS instead.

Using SE AS rather than SE ISAPI has historically been my answer to the
handful of customers reporting these kinds of issues, as it's always
gotten them moving forward.
But it was not until now that I have been able to *finally* locate the
reason why this problem occurs and hence why SE AS is a valid solution
in these cases.

It is an IIS 6 Architectural issue in how it loads Global ISAPI Filters
and does so once for each IIS App Pool (one-to-one ratio).

Some common symptoms seen when this condition occurs include:

1. Some ServletExec.log rollover backup files missing. For *example*
looking in:
C:\Program Files\New Atlanta\ServletExec ISAPI\

You might see:
ServletExec.log
ServletExec.log.2
ServletExec.log.3

(i.e. ServletExec.log.1 is missing)

2. Indications that your webapp(s) are reloading

3. Seeing SE config files (application.xml, servletexec.xml) being
re-written (sometimes with data missing) seemingly at random.
This could result in "disappearing" webapps, "disappearing" 
license
keys, etc...

4. Unexplained, unpredictable IIS website unresponsiveness and/or blank
responses and/or IIS crashing.

5. A system that's been running fine for a while, but then begins to
exhibit any of the above behaviors due to
recent changes made within IIS with respect to the IIS App Pools and/or
any websites or Virtual Directories
that use them.

These are all manifestations of more than 1 SE ISAPI "instance"       
fighting
over the same configuration and log files, and can generally be referred
to as: Instability of the System.

When SE ISAPI is installed on a fresh out-of-the-box IIS 6, this
condition does NOT occur. It will run just fine.

It is only if you start making changes to your IIS... adding IIS
Application Pool #2, #3, etc... that you will likely run into this
sporatic, difficult-to- diagnose problem in which case I recommend that
you either configure your IIS so that it has only 1 single Application
Pool, or use SE AS.

I hope this helps.

Matt McGinty
Software Engineer
New Atlanta Communications, LLC
http://www.newatlanta.com 



mmcginty@newatlanta.com wrote:
> Loosing license info (across SE restarts) is a strong indicator that
> the user under which SE is running does not have permission to write
> to the appropriate configuration file(s). If SE can't write the info
> to it's config files then that info is "losts" the next     
time SE starts
> up fresh.
>
> For starters, I'd suggest you take a look at SE FAQ #60:
>                                                                            
http://www.newatlanta.com/c/support/servletexec/self_help/faq/detail?faqId=60
>
> Apply the steps give there and then restart the IIS Admin Service to
> see if the problem still occurs.
>
> If that fixes it (or even if it does not) you should use SE FAQ 195:
>                                                                            
http://www.newatlanta.com/c/support/servletexec/self_help/faq/detail?faqId=195
>
> to apply the latest SE hotfix (both native and JAR components) to rule
> out all known (and fixed) SE bugs as the culprit.
>
> If you still find yourself dealing with this issue, then read the last
> sentence of SE FAQ #60.
> If that does not help, then check the settings on your IIS Application
> Pool for the following:
>
> 1. Is it configured to shut itself down or cycle itself at some preset
> time interval?
> And if so... does the problem seem to occur around those times?
> (Manually cycling the IIS Admin Service can simulate this condition
> for testing).
>
> 2. Is it configured to use a "Web Garden" value greater than 1?
>
> Matt McGinty
> Software Engineer
> New Atlanta Communications, LLC
> http://www.newatlanta.com 
>
>
> Spillane, Steve wrote:
>>
>> I am running Windows Server 2003 SP2, IIS 6.0, ServletExec 5.0
>> (ISAPI), and ArcIMS 9.2
>> One or more of the web applications "default-app",           
"esriadmin" and
>> "wmsconnector" keep spontaneously disappearring. These 3 and

>> "servletexec" are the only 4 web apps running. ESRI's   
Tech Support
>> suggested it might be the virus scanner, but the virus scanner logs
>> don't indicate this is the problem. Also, it is sporadic, varying

>> from days to weeks between occurences, and not all 3 files disapper
>> each time . If it was the virus scanner, it seems like it would be a
>> consistent nightly event.
>>
>> ServletExec also keeps losing its license information, dropping back
>> into demo mode. I don't know whether this is the cause, another
>> symptom, or a totally unrelated problem.
>>
>> I am stumped, any helpful suggestions would be greatly appreciated.
>>
>>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
 <meta content="text/html;charset=ISO-2022-JP"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<font face="Verdana">I've just uncovered a rather large    
mystery
regarding how IIS 6 works, and how that can potentially impact
ServletExec ISAPI (not SE AS).<br>
At least it was a mystery for me.<br>
<br>
Steve, this will likely be of great interest to you and also to anyone
else using SE ISAPI with IIS 6:<br>
<br>
If you have more than 1 IIS Application Pool defined, then SE ISAPI
(installed as a global ISAPI Filter... at the global level of IIS) may
be getting loaded more than 1 time (it depends on how your IIS
Website(s) and Virtual Directories are setup and configured).<br>
Having SE ISAPI load more than once on the same machine is not good at
all.<br>
It can definitely cause the sort of problems you (and a few others)
have described both on this list and also via <a
class="moz-txt-link-abbreviated"                                      
href="mailto:support@servletexec.com">support@servletexec.com</a
>.<br>
Some reasons why it is not good are given in SE FAQ #270:<br>
&nbsp;<a class="moz-txt-link-freetext"
href="http://www.newatlanta.com/c/support/servletexec/self_help/faq/detail?
faqId=270">http://www.newatlanta.com/c/support/servletexec/self_help/faq
/detail?faqId=270</a><br>
<br>
I'll need to update that FAQ to include the following new information
I've just uncovered:<br>
<br>
&nbsp; &nbsp;&nbsp; When you create a new IIS Website, it will (by  
default) have
defined within it a .NET Web Application named "Default                    
Application".<br>
&nbsp;&nbsp;&nbsp;&nbsp; The Default Application will (by       
default) be configured to run
inside the IIS Application Pool named "Default App Pool".<br>
&nbsp;&nbsp;&nbsp;&nbsp; But if you change it to run in some    
other IIS App Pool, or if you
add a .NET Application to that website and configure that application<br>

&nbsp;&nbsp;&nbsp;&nbsp; to run inside some other IIS App Pool, 
then SE ISAPI (installed as
a global ISAPI Filter within IIS) will be loaded again when a                   
received<br>
&nbsp;&nbsp;&nbsp;&nbsp; request is routed to that IIS App Pool 
for processing.<br>
&nbsp;&nbsp;&nbsp;&nbsp; It is not until a particular request   
is sent to IIS... one which
IIS routes to a particular App Pool (based on your website and .NET
application<br>
&nbsp;&nbsp;&nbsp;&nbsp; settings) that the SE ISAPI Filter     
would be loaded (potentially
subsequent times).<br>
<br>
<br>
While my initial testing here indicates that it is possible to
configure IIS 6 to avoid this condition with SE ISAPI, it is rather
tricky and the work done to make it happen could easily be "undone"   
if
other people configure your IIS in certain (very common) ways.<br>
<br>
A far better solution would be this:<br>
<br>
If your IIS has exactly 1 IIS Application Pool, then use SE ISAPI or SE
AS (your choice).<br>
If you need to use more than 1 IIS Application Pool, then don't use SE
ISAPI.<br>
Use SE AS instead.<br>
<br>
Using SE AS rather than SE ISAPI has historically been my answer to the
handful of customers reporting these kinds of issues, as it's always
gotten them moving forward.<br>
But it was not until now that I have been able to *finally* locate the
reason why this problem occurs and hence why SE AS is a valid solution
in these cases.<br>
<br>
It is an IIS 6 Architectural issue in how it loads Global ISAPI Filters
and does so once for each IIS App Pool (one-to-one ratio).<br>
<br>
Some common symptoms seen when this condition occurs include:<br>
<br>
1. Some ServletExec.log rollover backup files missing. For *example*
looking in:<br>
&nbsp;&nbsp;&nbsp; C:\Program Files\New Atlanta\ServletExec         
ISAPI\<br>
<br>
&nbsp;&nbsp;&nbsp; You might see:<br>
&nbsp;&nbsp;&nbsp;&nbsp; ServletExec.log<br>
&nbsp;&nbsp;&nbsp;&nbsp; </font><font                  
face="Verdana">ServletExec.log.2<br>
&nbsp;&nbsp;&nbsp;&nbsp; </font><font                  
face="Verdana">ServletExec.log.3<br>
&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; (i.e. ServletExec.log.1 is missing)<br>
<br>
2. Indications that your webapp(s) are reloading<br>
<br>
3. Seeing SE config files (application.xml, servletexec.xml) being
re-written (sometimes with data missing) seemingly at random.<br>
&nbsp;&nbsp;&nbsp; This could result in "disappearing"    
webapps, "disappearing" license
keys, etc...<br>
<br>
4. Unexplained, unpredictable IIS website unresponsiveness and/or blank
responses and/or IIS crashing.<br>
<br>
5. A system that's been running fine for a while, but then begins to
exhibit any of the above behaviors due to<br>
&nbsp;&nbsp;&nbsp; recent changes made within IIS with respect to   
the IIS App Pools
and/or any websites or Virtual Directories<br>
&nbsp;&nbsp;&nbsp; that use them.<br>
<br>
These are all manifestations of more than 1 SE ISAPI "instance"
fighting over the same configuration and log files, and can generally
be referred to as: Instability of the System.<br>
<br>
When SE ISAPI is installed on a fresh out-of-the-box IIS 6, this
condition does NOT occur. It will run just fine.<br>
<br>
It is only if you start making changes to your IIS... adding IIS
Application Pool #2, #3, etc... that you will likely run into this
sporatic, difficult-to- diagnose problem in which case I recommend that
you either configure your IIS so that it has only 1 single Application
Pool, or use SE AS.<br>
&nbsp;&nbsp; <br>
</font><font face="Verdana">I hope this                   
helps.</font>
<pre class="moz-signature" cols="72">Matt McGinty
Software Engineer
New Atlanta Communications, LLC
<a class="moz-txt-link-freetext"                                   
href="http://www.newatlanta.com">http://www.newatlanta.com</a>
; </pre>
<br>
<br>
<a class="moz-txt-link-abbreviated"                                
href="mailto:mmcginty@newatlanta.com">mmcginty@newatlanta.com</a
> wrote:
<blockquote cite="mid:4713BF8E.9050509@newatlanta.com"             
type="cite">
 <meta content="text/html;charset=ISO-8859-1"                      
http-equiv="Content-Type">
 <font face="Verdana">Loosing license info (across SE restarts) 
is a
strong indicator that the user under which SE is running does not have
permission to write to the appropriate configuration file(s). If SE
can't write the info to it's config files then that info is           
"losts" the
next time SE starts up fresh.<br>
 <br>
For starters, I'd suggest you take a look at SE FAQ #60:<br>
&nbsp;<a moz-do-not-send="true"                                
class="moz-txt-link-freetext"
href="http://www.newatlanta.com/c/support/servletexec/self_help/faq/detail?
faqId=60">http://www.newatlanta.com/c/support/servletexec/self_help/faq/
detail?faqId=60</a><br>
 <br>
Apply the steps give there and then restart the IIS Admin Service to
see if the problem still occurs.<br>
 <br>
If that fixes it (or even if it does not) you should use SE FAQ 195:<br>
  <a moz-do-not-send="true"                                        
class="moz-txt-link-freetext"
href="http://www.newatlanta.com/c/support/servletexec/self_help/faq/detail?
faqId=195">http://www.newatlanta.com/c/support/servletexec/self_help/faq
/detail?faqId=195</a><br>
 <br>
to apply the latest SE hotfix (both native and JAR components) to rule
out all known (and fixed) SE bugs as the culprit.<br>
 <br>
If you still find yourself dealing with this issue, then read the last
sentence of SE FAQ #60.<br>
If that does not help, then check the settings on your IIS Application
Pool for the following:<br>
 <br>
1. Is it configured to shut itself down or cycle itself at some preset
time interval?<br>
&nbsp;&nbsp;&nbsp; And if so... does the problem seem to occur      
around those times?<br>
&nbsp;&nbsp;&nbsp; (Manually cycling the IIS Admin Service can      
simulate this condition
for testing).<br>
 <br>
2. Is it configured to use a "Web Garden" value greater than          
1?<br>
 <br>
 </font>
 <pre class="moz-signature" cols="72">Matt McGinty
Software Engineer
New Atlanta Communications, LLC
<a moz-do-not-send="true" class="moz-txt-link-freetext"
                                                                                
href="http://www.newatlanta.com">http://www.newatlanta.com</a>
; </pre>
 <br>
 <br>
Spillane, Steve wrote:
 <blockquote
cite="mid:FACF250D207BA44DAAE00D36C9A72893EFEF1D@aabbg6.andassoc.com"

type="cite">
   <meta http-equiv="Content-Type" content="text/html;        
">
   <meta name="Generator"
content="MS Exchange Server version 6.5.7651.59">
   <title>Disappearing Web Applications</title>
<!-- Converted from text/rtf format -->
   <p><font face="Arial" size="2">I am running  
Windows Server 2003
SP2,
IIS 6.0, ServletExec 5.0 (ISAPI), and ArcIMS 9.2</font> <br>
   <font face="Arial" size="2">One or more of the web 
applications
"default-app", "esriadmin" and "wmsconnector"     
keep spontaneously
disappearring.&nbsp; These 3 and "servletexec" are the only 4 web 
apps
running.&nbsp; ESRI's Tech Support suggested it might be the virus     
scanner,
but the virus scanner logs don't indicate this is the problem.&nbsp;   
Also,
it is sporadic, varying from days to weeks between occurences, and not
all 3 files disapper each time .&nbsp; If it was the virus scanner, it      
seems
like it would be a consistent nightly event.</font></p>
   <p><font face="Arial" size="2">ServletExec   
also keeps losing its
license information, dropping back into demo mode.&nbsp; I don't know
whether this is the cause, another symptom, or a totally unrelated
problem.</font></p>
   <p><font face="Arial" size="2">I am stumped, 
any helpful
suggestions
would be greatly appreciated.</font> </p>
   <br>
 </blockquote>
</blockquote>
</body>
</html>

Message Thread
Date Subject Author
10/15/2007 Re: [ServletExec] Disappearing Web Applications mmcginty@newatlanta.com
10/26/2007 Re: [ServletExec] Disappearing Web Applications mmcginty@newatlanta.com
10/15/2007 [ServletExec] Disappearing Web Applications Spillane@andassoc.com
<< Back to Search Results


   
company media information terms of use privacy policy contact us