Re: ISAPI redirector for Microsoft IIS, Jboss EAP 7.2 - sticky session issue

2021-05-21 Thread Mark Thomas

On 21/05/2021 05:51, Mathiazhagan, Saravanakumar TPC wrote:

Hi Mark,

Thanks for the quick response.


I suspect some sort of configuration issue. A guess would be that JBoss
EAOP isn't configured to append the jvmRoute (to use the Tomcat
configuration setting name) to the session ID.


I configured IE to show prompt when cookies are set. I can see the jvmRoute
value in JSessionID generated, with the format {someID}.{workerName}.


You may need to look at the access log and/or network traffic to see
what is going on. That usually sheds some light on these sorts of issues.


I cross verified the access logs. One thing I noticed is consistently the
request switches between servers. So, every time the server gets request, a
new session (JSESSIONID) is being sent out.
 From the network side too, no special rules are setup.
With same jvmRoute and network settings, sticky session works properly when I
use Jboss 6.4 version and 32-bit DLL.

If the 32 bit DLL has to work fine with Jboss7.2, then I get a feeling I am
missing something, but not able to figure out exactly what the issue is.

Please let me know if there are any particular configurations that need to be
checked.


At this point, I'd suggest tracing a series of requests from client to 
server and checking, at each stage, that the behaviour is as you expect. 
Where does it go wrong? That may point you in the right direction.


I'd be wanting to check things like:
- does a new request get a new session ID
- does the worker name match the node that handled the request
- do the access logs confirm the request went to the right worker

- for the second request, does the client sent the session cookie
- does the lb see the session cookie and route the request to the right
  host

It sounds like things are going wrong around this point.

Mark

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: ISAPI redirector for Microsoft IIS, Jboss EAP 7.2 - sticky session issue

2021-05-20 Thread Mathiazhagan, Saravanakumar TPC
Hi Mark,

Thanks for the quick response.

>I suspect some sort of configuration issue. A guess would be that JBoss
>EAOP isn't configured to append the jvmRoute (to use the Tomcat
>configuration setting name) to the session ID.

I configured IE to show prompt when cookies are set. I can see the jvmRoute 
value in JSessionID generated, with the format {someID}.{workerName}.

>You may need to look at the access log and/or network traffic to see
>what is going on. That usually sheds some light on these sorts of issues.

I cross verified the access logs. One thing I noticed is consistently the 
request switches between servers. So, every time the server gets request, a 
new session (JSESSIONID) is being sent out.
>From the network side too, no special rules are setup.
With same jvmRoute and network settings, sticky session works properly when I 
use Jboss 6.4 version and 32-bit DLL.

If the 32 bit DLL has to work fine with Jboss7.2, then I get a feeling I am 
missing something, but not able to figure out exactly what the issue is.

Please let me know if there are any particular configurations that need to be 
checked.

Regards,
Saravanakumar.



smime.p7s
Description: S/MIME cryptographic signature


Re: ISAPI redirector for Microsoft IIS, Jboss EAP 7.2 - sticky session issue

2021-05-18 Thread Mark Thomas

On 18/05/2021 19:53, Mathiazhagan, Saravanakumar TPC wrote:




Can you please let me know if the above 32-bit isapi_redirect.dll file can be 
used with Jboss EAP 7.2.7 server?
If so, please guide me on what could be causing the sticky session issue.


I can't think of any reason why not.

I suspect some sort of configuration issue. A guess would be that JBoss 
EAOP isn't configured to append the jvmRoute (to use the Tomcat 
configuration setting name) to the session ID.


You may need to look at the access log and/or network traffic to see 
what is going on. That usually sheds some light on these sorts of issues.


Mark

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



ISAPI redirector for Microsoft IIS, Jboss EAP 7.2 - sticky session issue

2021-05-18 Thread Mathiazhagan, Saravanakumar TPC
Hi,

I am trying to configure the ISAPI redirector for Microsoft IIS web server to 
Jboss EAP7.2 app server and facing issues with Load balancing.
The requests for the same session are not sticking to a single server and keeps 
switching between different servers, hence session is getting cleared every 
time.

Background:
I am upgrading Jboss EAP 6.4 server to Jboss EAP 7.2 version.
We currently are using a 32-bit isapi_redirect.dll file which works fine with 
Jboss 6.4 including sticky session.
Existing ISAPI Redirector setup is similar to the reference guide at below 
link, with isapi_redirect.dll, workers.properties and uriworkermap.properties 
available.
http://tomcat.apache.org/connectors-doc/reference/iis.html

Issue:
When I switched to Jboss EAP 7.2 with 32-bit isapi_redirect.dll, everything 
else still works except the sticky session.

Server versions:
Existing App server - Jboss 6.4.19
New App server - Jboss 7.2.7
Web server - IIS 10.0.14393.0

Steps taken:
I reached out Redhat and they provided 64-bit version isapi_redirect.dll file 
and asked to set "Enable 32-bit Applications" to "False" in the Application 
Pool.
Our front end is Classic ASP 32-bit application. So, "Enable 32-bit 
Applications" can't be set to "False" in the Application Pool.
Redhat had only the 64-bit file. So, they suggested to use the 
isapi_redirect.dll 32-bit file provided by the Apache Tomcat Connectors.

I tried the isapi_redirect.dll file provided at below link, I am still facing 
the same issue related to sticky session.
https://apache.osuosl.org/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.48-windows-i386-iis.zip

Can you please let me know if the above 32-bit isapi_redirect.dll file can be 
used with Jboss EAP 7.2.7 server? 
If so, please guide me on what could be causing the sticky session issue.

Regards,
Saravanakumar.

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: [External] After upgraded to Tomcat 9.0.31, ISAPI Redirector is not "working" when SSL enabled in IIS

2020-03-12 Thread Mills, Robert - CTR [ASM Research]
Great KC - glad it's working!

Chris suggested that solution in another thread and it helped me too.

Toby

-Original Message-
From: KC Mok 
Sent: Wednesday, March 11, 2020 11:55 PM
To: Tomcat Users List 
Subject: Re: [External] After upgraded to Tomcat 9.0.31, ISAPI Redirector is 
not "working" when SSL enabled in IIS

thank you very much, it is working now!

On Thu, Mar 12, 2020, 11:50 Mills, Robert - CTR [ASM Research] 
 wrote:

> Hi KC
>
> I hit that also.  Turns out if I added this:
>
>allowedRequestAttributesPattern=".*"
>
> Then I got past the 403.  I think this is supposed to be fixed in the
> next release of tomcat.
>
> Give it a shot.
>
> Toby
>
> -Original Message-
> From: KC Mok 
> Sent: Wednesday, March 11, 2020 11:36 PM
> To: users@tomcat.apache.org
> Subject: [External] After upgraded to Tomcat 9.0.31, ISAPI Redirector
> is not "working" when SSL enabled in IIS
>
> Hi All,
> I am using ISAPI redirector to connect IIS to Tomcat via AJP connector.
>
> Recently I have replaced the Tomcat 9.0.22 with the new version 9.0.31.
>
> I have set the new required attributes of the AJP connector in the new
> 9.0.31 version, and it is working fine when using http.
> However, it returns error (403 Access is denied) when I use https to
> access the site.
>
> I tried with the lastest 1.2.48 version isapi_redirect.dll, still not
> working. After that, I tried to revert back to Tomcat 9.0.22,
> everything is working fine.
>
> Does anyone have the same problem?
> I wonder if I hit a bug in the new version...
> please help...
>
> Thanks and regards,
> KC
>
>
> The information contained in this message may be privileged and/or
> confidential and protected from disclosure. If the reader of this
> message is not the intended recipient or agent responsible for
> delivering this message to the intended recipient, you are hereby
> notified that any dissemination, distribution or copying of this
> communication is strictly prohibited. If you have received this
> communication in error, please notify the sender immediately by
> replying to this message and deleting the material from any computer.
>


The information contained in this message may be privileged and/or confidential 
and protected from disclosure. If the reader of this message is not the 
intended recipient or agent responsible for delivering this message to the 
intended recipient, you are hereby notified that any dissemination, 
distribution or copying of this communication is strictly prohibited. If you 
have received this communication in error, please notify the sender immediately 
by replying to this message and deleting the material from any computer.


Re: [External] After upgraded to Tomcat 9.0.31, ISAPI Redirector is not "working" when SSL enabled in IIS

2020-03-11 Thread KC Mok
Btw, I tried my luck on Tomcat 7.0.100 before when 9.0.31 not work, also
hit the same problem, just fyi.

thanks again for helping me out!

On Thu, Mar 12, 2020, 11:55 KC Mok  wrote:

> thank you very much, it is working now!
>
> On Thu, Mar 12, 2020, 11:50 Mills, Robert - CTR [ASM Research]
>  wrote:
>
>> Hi KC
>>
>> I hit that also.  Turns out if I added this:
>>
>>allowedRequestAttributesPattern=".*"
>>
>> Then I got past the 403.  I think this is supposed to be fixed in the
>> next release of tomcat.
>>
>> Give it a shot.
>>
>> Toby
>>
>> -Original Message-
>> From: KC Mok 
>> Sent: Wednesday, March 11, 2020 11:36 PM
>> To: users@tomcat.apache.org
>> Subject: [External] After upgraded to Tomcat 9.0.31, ISAPI Redirector is
>> not "working" when SSL enabled in IIS
>>
>> Hi All,
>> I am using ISAPI redirector to connect IIS to Tomcat via AJP connector.
>>
>> Recently I have replaced the Tomcat 9.0.22 with the new version 9.0.31.
>>
>> I have set the new required attributes of the AJP connector in the new
>> 9.0.31 version, and it is working fine when using http.
>> However, it returns error (403 Access is denied) when I use https to
>> access the site.
>>
>> I tried with the lastest 1.2.48 version isapi_redirect.dll, still not
>> working. After that, I tried to revert back to Tomcat 9.0.22, everything is
>> working fine.
>>
>> Does anyone have the same problem?
>> I wonder if I hit a bug in the new version...
>> please help...
>>
>> Thanks and regards,
>> KC
>>
>>
>> The information contained in this message may be privileged and/or
>> confidential and protected from disclosure. If the reader of this message
>> is not the intended recipient or agent responsible for delivering this
>> message to the intended recipient, you are hereby notified that any
>> dissemination, distribution or copying of this communication is strictly
>> prohibited. If you have received this communication in error, please notify
>> the sender immediately by replying to this message and deleting the
>> material from any computer.
>>
>


Re: [External] After upgraded to Tomcat 9.0.31, ISAPI Redirector is not "working" when SSL enabled in IIS

2020-03-11 Thread KC Mok
thank you very much, it is working now!

On Thu, Mar 12, 2020, 11:50 Mills, Robert - CTR [ASM Research]
 wrote:

> Hi KC
>
> I hit that also.  Turns out if I added this:
>
>allowedRequestAttributesPattern=".*"
>
> Then I got past the 403.  I think this is supposed to be fixed in the next
> release of tomcat.
>
> Give it a shot.
>
> Toby
>
> -Original Message-
> From: KC Mok 
> Sent: Wednesday, March 11, 2020 11:36 PM
> To: users@tomcat.apache.org
> Subject: [External] After upgraded to Tomcat 9.0.31, ISAPI Redirector is
> not "working" when SSL enabled in IIS
>
> Hi All,
> I am using ISAPI redirector to connect IIS to Tomcat via AJP connector.
>
> Recently I have replaced the Tomcat 9.0.22 with the new version 9.0.31.
>
> I have set the new required attributes of the AJP connector in the new
> 9.0.31 version, and it is working fine when using http.
> However, it returns error (403 Access is denied) when I use https to
> access the site.
>
> I tried with the lastest 1.2.48 version isapi_redirect.dll, still not
> working. After that, I tried to revert back to Tomcat 9.0.22, everything is
> working fine.
>
> Does anyone have the same problem?
> I wonder if I hit a bug in the new version...
> please help...
>
> Thanks and regards,
> KC
>
>
> The information contained in this message may be privileged and/or
> confidential and protected from disclosure. If the reader of this message
> is not the intended recipient or agent responsible for delivering this
> message to the intended recipient, you are hereby notified that any
> dissemination, distribution or copying of this communication is strictly
> prohibited. If you have received this communication in error, please notify
> the sender immediately by replying to this message and deleting the
> material from any computer.
>


RE: [External] After upgraded to Tomcat 9.0.31, ISAPI Redirector is not "working" when SSL enabled in IIS

2020-03-11 Thread Mills, Robert - CTR [ASM Research]
Hi KC

I hit that also.  Turns out if I added this:

   allowedRequestAttributesPattern=".*"

Then I got past the 403.  I think this is supposed to be fixed in the next 
release of tomcat.

Give it a shot.

Toby

-Original Message-
From: KC Mok 
Sent: Wednesday, March 11, 2020 11:36 PM
To: users@tomcat.apache.org
Subject: [External] After upgraded to Tomcat 9.0.31, ISAPI Redirector is not 
"working" when SSL enabled in IIS

Hi All,
I am using ISAPI redirector to connect IIS to Tomcat via AJP connector.

Recently I have replaced the Tomcat 9.0.22 with the new version 9.0.31.

I have set the new required attributes of the AJP connector in the new
9.0.31 version, and it is working fine when using http.
However, it returns error (403 Access is denied) when I use https to access the 
site.

I tried with the lastest 1.2.48 version isapi_redirect.dll, still not working. 
After that, I tried to revert back to Tomcat 9.0.22, everything is working fine.

Does anyone have the same problem?
I wonder if I hit a bug in the new version...
please help...

Thanks and regards,
KC


The information contained in this message may be privileged and/or confidential 
and protected from disclosure. If the reader of this message is not the 
intended recipient or agent responsible for delivering this message to the 
intended recipient, you are hereby notified that any dissemination, 
distribution or copying of this communication is strictly prohibited. If you 
have received this communication in error, please notify the sender immediately 
by replying to this message and deleting the material from any computer.


RE: After upgraded to Tomcat 9.0.31, ISAPI Redirector is not "working" when SSL enabled in IIS

2020-03-11 Thread S V Pavankumar
Set this on AJP Connector in tomcat server.xml

allowedRequestAttributesPattern="CERT_(ISSUER|SUBJECT|COOKIE|FLAGS|SERIALNUMBER)|HTTPS_(SERVER_(SUBJECT|ISSUER)|(SECRETKEYSIZE|KEYSIZE))"
All on one line.

I can see tomcat fixing this in 9.0.32 which isn't yet released.

Thanks,
P.

-Original Message-
From: KC Mok  
Sent: Thursday, March 12, 2020 9:06 AM
To: users@tomcat.apache.org
Subject: After upgraded to Tomcat 9.0.31, ISAPI Redirector is not "working" 
when SSL enabled in IIS

Hi All,
I am using ISAPI redirector to connect IIS to Tomcat via AJP connector.

Recently I have replaced the Tomcat 9.0.22 with the new version 9.0.31.

I have set the new required attributes of the AJP connector in the new
9.0.31 version, and it is working fine when using http.
However, it returns error (403 Access is denied) when I use https to access the 
site.

I tried with the lastest 1.2.48 version isapi_redirect.dll, still not working. 
After that, I tried to revert back to Tomcat 9.0.22, everything is working fine.

Does anyone have the same problem?
I wonder if I hit a bug in the new version...
please help...

Thanks and regards,
KC


After upgraded to Tomcat 9.0.31, ISAPI Redirector is not "working" when SSL enabled in IIS

2020-03-11 Thread KC Mok
Hi All,
I am using ISAPI redirector to connect IIS to Tomcat via AJP connector.

Recently I have replaced the Tomcat 9.0.22 with the new version 9.0.31.

I have set the new required attributes of the AJP connector in the new
9.0.31 version, and it is working fine when using http.
However, it returns error (403 Access is denied) when I use https to access
the site.

I tried with the lastest 1.2.48 version isapi_redirect.dll, still not
working. After that, I tried to revert back to Tomcat 9.0.22, everything is
working fine.

Does anyone have the same problem?
I wonder if I hit a bug in the new version...
please help...

Thanks and regards,
KC


Problem with Tomcat 8.0.17, ISAPI Redirector for IIS 7.5

2017-04-27 Thread Gulhane, Amol
Hello Experts,

I have configured IIS website (port 8128) with ISAPI Redirector and deployed 
.war files on Tomcat as per instructions from this Tomcat website URL:  
https://tomcat.apache.org/connectors-doc/webserver_howto/iis.html

When I run the Tomcat examples using  http://localhost:8128/examples on the 
same host where IIS and tomcat is configured, the tomcat examples are 
successfully executed.

But when I try to access the /examples from another computer in the same domain 
with url http://myCompHost:8128/examples, I cannot execute tomcat examples, but 
a file named "examples" is downloaded.

IIS log shows that the, the URL is being forwarded to worker "node1" over 
isapi_redirect.dll. But no further actions take place.  Node1 is a worker 
defined as below:

worker.list=node1
worker.node1.port=8009
worker.node1.host=tc10test-bb
worker.node1.type=ajp13

The IIS log messages:

[Thu Apr 27 14:56:36.636 2017] [4988:4380] [debug] 
find_match::jk_uri_worker_map.c (1003): Found an exact match '/examples=node1'
[Thu Apr 27 14:56:36.636 2017] [4988:4380] [debug] 
handle_notify_event::jk_isapi_plugin.c (1898): check if [/examples] points to 
the web-inf directory
[Thu Apr 27 14:56:36.636 2017] [4988:4380] [debug] 
handle_notify_event::jk_isapi_plugin.c (1915): [/examples] is a servlet url - 
should redirect to node1
[Thu Apr 27 14:56:36.636 2017] [4988:4380] [debug] 
handle_notify_event::jk_isapi_plugin.c (2026): forwarding to : 
/jakarta/isapi_redirect.dll
[Thu Apr 27 14:56:36.636 2017] [4988:4380] [debug] 
handle_notify_event::jk_isapi_plugin.c (2028): forward URI   : 
TOMCATURI00018000:/examples
[Thu Apr 27 14:56:36.636 2017] [4988:4380] [debug] 
handle_notify_event::jk_isapi_plugin.c (2033): forward worker: 
TOMCATWORKER00018000:node1
[Thu Apr 27 14:56:36.636 2017] [4988:4380] [debug] 
handle_notify_event::jk_isapi_plugin.c (2035): worker index  : 
TOMCATWORKERIDX00018000:4

Any idea what's wrong ?


Amol Gulhane


Re: Tomcat 8.0.3 hangs when ISAPI redirector sends an AJP request without request body

2014-03-17 Thread Mark Thomas
On 03/03/2014 21:04, Konstantin Preißer wrote:
 -Original Message-
 From: Konstantin Preißer [mailto:kpreis...@apache.org]
 Sent: Monday, March 3, 2014 5:38 PM
 
 When sending the following request to IIS:
 POST /TestWebapp/Servlet HTTP/1.1
 Host: localhost
 Connection: keep-alive
 Content-Length: 0

 Then the ISAPI redirector sends the following AJP packet to Tomcat:
 [...]

 To me, this looks ok - as the request body is 0 (known in advance) AFAIK only
 the JK_AJP13_FORWARD_REQUEST packet should be sent to Tomcat.
 Note, that the Content-Length: 0 header is correctly included in the 
 packet:
 A0 08 00 01 30 (0xA008 represents Content-Length).
 
 I tested this now also with Tomcat 8.0.0-RC1 and 8.0.0-RC2, and found that 
 the problem also happens with RC2 but not with RC1:
 With RC1, s.read() immediately returns so that the read byte count is 0, 
 whereas with RC2, Tomcat hangs after sending the request.
 
 Unfortunately I was not able to find which revision introduced the change, as 
 I was not able to build earlier Tomcat trunk SVN revisions - I always get the 
 following error when running ant (this one was with r1518381):

This hasn't been forgotten. I have a fix for this that I will commit
shortly that will be in 8.0.4 onwards.

Mark

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Tomcat 8.0.3 hangs when ISAPI redirector sends an AJP request without request body

2014-03-17 Thread Konstantin Preißer
Hi Mark, Konstantin K. and others,

 -Original Message-
 From: Mark Thomas [mailto:ma...@apache.org]
 Sent: Monday, March 17, 2014 3:12 PM

snip
 
 This hasn't been forgotten. I have a fix for this that I will commit
 shortly that will be in 8.0.4 onwards.

Thanks for analyzing and solving the issue!


Regards,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Tomcat 8.0.3 hangs when ISAPI redirector sends an AJP request without request body

2014-03-03 Thread Konstantin Preißer
Hi,

I observed another strange problem when using Tomcat 8.0.3 with Java 1.7.0_51 
(64-bit) on Windows Server 2012 R2, in conjunction with IIS 8.5 + ISAPI 
Redirector 1.2.39 (the problem also happens with 1.2.37). I'm using the AJP NIO 
and HTTP NIO connectors, but the problem also happens with AJP BIO and AJP APR.

The problem is: When I have a servlet that directly reads the request body, and 
I send a HTTP request to IIS (GET or POST) with Content-Length: 0, Tomcat hangs 
trying to read the request body. This does not happen when sending the same 
request directly to Tomcat using the HTTP connector.


Consider this example servlet:

[[[
@WebServlet(/Servlet)
public class Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;


protected void doGet(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException {
doRequest(request, response, false);
}

protected void doPost(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException {
doRequest(request, response, true);
}

private void doRequest(HttpServletRequest request, HttpServletResponse 
response, boolean isPost) throws ServletException, IOException {
System.out.println(Method:  + (isPost ? POST : GET) + . Reading 
request body...);
long readCount = 0; 

try (InputStream s = request.getInputStream()) {
byte[] buf = new byte[4096];
int read;
while ((read = s.read(buf))  0)
readCount += read;
}

System.out.println(Reading request body finished, Byte Count:  + 
readCount);

response.setContentType(text/plain);
response.setCharacterEncoding(UTF-8);

try (PrintWriter w = response.getWriter()) {
w.println(Method:  + (isPost ? POST : GET) + . Reading 
request body...);
w.println(Request Body length in bytes:  + readCount);
}
}
}
]]]

This servlet directly reads the request InputStream and counts the bytes that 
it read.

When I now send the following HTTP requests directly to Tomcat (port 8080), 
everything works as expected:

Request:
GET /TestWebapp/Servlet HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 10

0123456789

Response:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=UTF-8
Content-Length: 72
Date: Mon, 03 Mar 2014 15:39:35 GMT

Method: GET. Reading request body...
Request Body length in bytes: 10


Request:
GET /TestWebapp/Servlet HTTP/1.1
Host: localhost
Connection: keep-alive

Response:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=UTF-8
Content-Length: 71
Date: Mon, 03 Mar 2014 15:38:33 GMT

Method: GET. Reading request body...
Request Body length in bytes: 0


However, when I set the ISAPI Redirector for IIS 8.5 to forward every request 
to Tomcat, using following worker.properties:
  # Define 1 real worker using ajp13
  worker.list=worker1
  # Set properties for worker1 (ajp13)
  worker.worker1.type=ajp13
  worker.worker1.host=127.0.0.1
  worker.worker1.port=8009

and uriworkermap.properties:
  /*=worker1

Then, when I send the same requests to IIS, the one which has a body succeeds, 
but the one which doesn't have a body does not finish:

Request:
GET /TestWebapp/Servlet HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 10

0123456789

Response:
HTTP/1.1 200 OK
Content-Length: 72
Content-Type: text/plain;charset=UTF-8
Server: Microsoft-IIS/8.5
X-Powered-By: ASP.NET
Date: Mon, 03 Mar 2014 15:41:49 GMT

Method: GET. Reading request body...
Request Body length in bytes: 10


Request:
GET /TestWebapp/Servlet HTTP/1.1
Host: localhost
Connection: keep-alive

Response:
(waits forever without sending a response...)


The same happens with this request:
POST /TestWebapp/Servlet HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 0

Response:
(waits forever without sending a response...)


In Tomcat's log you can see that Tomcat hangs at s.read(buf), so it seems it 
somehow does not notice that the request body length is 0.


Any idea what's going on there?

Note: I do not yet have examined what AJP packets are sent between Tomcat and 
ISAPI Redirector.


Regards,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Tomcat 8.0.3 hangs when ISAPI redirector sends an AJP request without request body

2014-03-03 Thread Konstantin Preißer
 -Original Message-
 From: Konstantin Preißer [mailto:kpreis...@apache.org]
 Sent: Monday, March 3, 2014 5:19 PM
 To: 'Tomcat Users List'
 Subject: Tomcat 8.0.3 hangs when ISAPI redirector sends an AJP request
 without request body

snip

 Note: I do not yet have examined what AJP packets are sent between
 Tomcat and ISAPI Redirector.

When sending the following request to IIS:
POST /TestWebapp/Servlet HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 0

Then the ISAPI redirector sends the following AJP packet to Tomcat:

[ID 3] Data - Offset: 0x0, Count: 0xB1.
12 34 00 AD 02 04 00 08 48 54 54 50 2F 31 2E 31 00 00 13 2F   
.4.­HTTP/1.1.../
54 65 73 74 57 65 62 61 70 70 2F 53 65 72 76 6C 65 74 00 00   
TestWebapp/Servlet..
09 31 32 37 2E 30 2E 30 2E 31 00 00 09 31 32 37 2E 30 2E 30   
.127.0.0.1...127.0.0
2E 31 00 00 09 6C 6F 63 61 6C 68 6F 73 74 00 00 50 00 00 03   
.1...localhost..P...
A0 06 00 0A 6B 65 65 70 2D 61 6C 69 76 65 00 A0 08 00 01 30...keep-alive. 
...0
00 A0 0B 00 09 6C 6F 63 61 6C 68 6F 73 74 00 03 00 00 00 04   . 
...localhost..
00 00 00 0A 00 0F 41 4A 50 5F 52 45 4D 4F 54 45 5F 50 4F 52   
..AJP_REMOTE_POR
54 00 00 05 34 39 34 38 32 00 0A 00 10 4A 4B 5F 4C 42 5F 41   
T...49482JK_LB_A
43 54 49 56 41 54 49 4F 4E 00 00 03 41 43 54 00 FFCTIVATION...ACT.ÿ

To me, this looks ok - as the request body is 0 (known in advance) AFAIK only 
the JK_AJP13_FORWARD_REQUEST packet should be sent to Tomcat.
Note, that the Content-Length: 0 header is correctly included in the packet: 
A0 08 00 01 30 (0xA008 represents Content-Length).


Regards,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Tomcat 8.0.3 hangs when ISAPI redirector sends an AJP request without request body

2014-03-03 Thread Konstantin Preißer
 -Original Message-
 From: Konstantin Preißer [mailto:kpreis...@apache.org]
 Sent: Monday, March 3, 2014 5:38 PM

 When sending the following request to IIS:
 POST /TestWebapp/Servlet HTTP/1.1
 Host: localhost
 Connection: keep-alive
 Content-Length: 0
 
 Then the ISAPI redirector sends the following AJP packet to Tomcat:
 [...]
 
 To me, this looks ok - as the request body is 0 (known in advance) AFAIK only
 the JK_AJP13_FORWARD_REQUEST packet should be sent to Tomcat.
 Note, that the Content-Length: 0 header is correctly included in the packet:
 A0 08 00 01 30 (0xA008 represents Content-Length).

I tested this now also with Tomcat 8.0.0-RC1 and 8.0.0-RC2, and found that the 
problem also happens with RC2 but not with RC1:
With RC1, s.read() immediately returns so that the read byte count is 0, 
whereas with RC2, Tomcat hangs after sending the request.

Unfortunately I was not able to find which revision introduced the change, as I 
was not able to build earlier Tomcat trunk SVN revisions - I always get the 
following error when running ant (this one was with r1518381):

trydownload:

BUILD FAILED
C:\Users\Name\Desktop\Tomcat\tomcat\trunk\build.xml:2481: The following error 
occurred while executing this line:
C:\Users\Name\Desktop\Tomcat\tomcat\trunk\build.xml:2685: the archive 
file.tar.gz doesn't exist


Regards,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Status of the current IIS ISAPI Redirector for Tomcat

2014-02-15 Thread Angel Java Lopez
Very interesting!

Yes, managed code is the path to follow.

First idea non-blocking IO (from C# client side): use the new async/await
for the communication. But force to use the new .NET framework and Visual
Studio. And await is a wait on the current threads:

http://msdn.microsoft.com/en-us/library/hh750082.aspx

Maybe, a node.js approach, with a callback:

http://stackoverflow.com/questions/16894907/creating-asynchronous-methods-with-task-factory-and-callback
and only .NET 4.0:
http://msdn.microsoft.com/en-us/library/dd537612(v=vs.100).aspx

I don't still see the value of await: it blocked the current thread. I
guess it is better to use a callback

Angel Java Lopez
@ajlopez


On Fri, Feb 14, 2014 at 9:26 PM, Bilal S bilal.so...@gmail.com wrote:

 Konstantin,



 On Fri, Jan 24, 2014 at 2:06 PM, Konstantin Preißer kpreis...@apache.org
 wrote:

  Hi all,
 
  for my Java Servlet web applications which run on Tomcat (currently
  8.0.0-RC 10) on various Windows Server OSes (currently Windows Server
 2012
  R2), I use the ISAPI Redirector to forward requests from IIS to Tomcat
 over
  AJP. I use IIS as primary web server because I also host other websites
  that use different technologies like ASP.Net and PHP (and because IIS
  allows to run web applications as different processes as different user
  accounts, and because I can configure the SSL settings over IIS, and so
 on).
 
  The ISAPI Redirector has its job done well in the past and currently I'm
  still using it. Note that I'm only using it to forward requests from a
  single IIS instance to a single Tomcat instance, but not for
 load-balancing
  or other features.
 
 
  However, over the time I found some issues which seem to result from the
  changes that Win Server, IIS and other components have experienced over
  time, which I wanted to list here and see how these could be changed.
 
  A possibility that I see is to use an ASP.Net (C#) based redirector
  instead of an ISAPI based redirector as that will have a number of
  advantages - see below.
 
 
 
 ==
 You raise good points. I have run into similar issues and thus created  my
 own project outside the Apache foundation three years ago (BonCode). It is
 a C# based AJP connector. It can currently be used with Tomcat, JBOSS,
 Jetty. From support requests I am surmising that is currently bundled with
 software from a few manufacturers including: EMC, CSC, Siemens and others
 instead of ISAPI redirector.

 Thus, I do encourage the update of the current IIS connection mechanism to
 a more up-to-date method. Using a managed code mechanism is the way to go
 in my opinion.
 In the long run SPDY may also be of interest for the same purpose. The more
 choices the better.

 The following are differences already in existence with BonCode and in
 response to your extensive writing, only read on if you are curious::
 


  1.
 
  The ISAPI Redirector seems to be quite complicate to configure. You have
  to:
  1) place the ISAPI redirector DLL in some arbitrary path (the docs
 suggest
  to place them in your Tomcat\bin directory)
 
 == not needed

  2) create a virtual directory in your IIS web application which points to
  this path
 
 == not needed

  3) change the handler settings for the virtual directory to allow to
  execute ISAPI dlls
 
 == not needed

  4) add the ISAPI redirector DLL to the list of CGI and ISAPI restrictions
  in IIS
 
 == not needed

  5) add the ISAPI redirector DLL to your web app as ISAPI filter
 
 == not needed

  6) create some registry entries at HKLM\Software\Apache Software
  Foundation\Jakarta Isapi Redirector\1.0 to specify the path of the
 virtual
  directory, path to configuration files etc.
 
 == not needed

  7) create configuration files (uriworkersmap.properties,
  worker.properties) and but them in some arbitrary path (the docs suggest
 to
  place them in your Tomcat\conf directory)
 
  == not needed, configurations are done via the IIS UI and/or an xml
 config file


  I see a few problems here.
  First, you have to place the ISAPI redirector DLL in some external
  arbitrary path. This can introduce additional maintenance issues as you
  always have to remember this when e.g. moving the server. Because the
 docs
  suggest to place them in your Tomcat\bin directory, you might delete that
  file by mistake when you delete your Tomcat installation and create a new
  one.
  The same is true for the config files - if you place them in your Tomcat
  directory, you might delete them when you change your Tomcat config.
 
  Normally, these files do not belong to Tomcat, but to the ISAPI
  redirector, so I would expect to place them somewhere in your IIS web
  application.
 
  E.g, ASP.Net web applications have a web.config file in their root
  directory for configuration, and a bin directory where .Net assemblies
  can be placed. If you were using an ASP.Net based redirector for example
  (implemented as a managed module), you can place the binary into the
 bin

RE: Status of the current IIS ISAPI Redirector for Tomcat

2014-02-15 Thread Konstantin Preißer
Hi Angel and Bilal,

thank you for your replies.


 -Original Message-
 From: Angel Java Lopez [mailto:ajlopez2...@gmail.com]
 Sent: Saturday, February 15, 2014 11:59 AM
 To: Tomcat Users List
 Subject: Re: Status of the current IIS ISAPI Redirector for Tomcat
 
 Very interesting!
 
 Yes, managed code is the path to follow.
 
 First idea non-blocking IO (from C# client side): use the new async/await
 for the communication. But force to use the new .NET framework and Visual
 Studio. And await is a wait on the current threads:
 
 http://msdn.microsoft.com/en-us/library/hh750082.aspx
 
 Maybe, a node.js approach, with a callback:
 
 http://stackoverflow.com/questions/16894907/creating-asynchronous-
 methods-with-task-factory-and-callback
 and only .NET 4.0:
 http://msdn.microsoft.com/en-us/library/dd537612(v=vs.100).aspx
 
 I don't still see the value of await: it blocked the current thread. I
 guess it is better to use a callback

A await on a Task in C# should internally return the current thread back to a 
threadpool, and use a callback on another thread to continue execution of the 
method when the Task is finished, so that threads are not blocked when waiting 
e.g. for an I/O operation to complete. For a full utilization of asynchronous 
I/O, one would not only have to use async read/write operations when forwarding 
the request to Tomcat, but also async flush the response body at IIS to the 
client (and async read the request body). Although the .Net HttpResponse also 
seem to have BeginFlush() and EndFlush() methods that apply the old-style async 
programming pattern, in the SPDY Redirector (see below) I'm using 
Task.Factory.FromAsync(...) to convert these Begin/End-Methods into one that 
returns a Task, so that it can be integrated into the existing Task-based async 
code.

For async flush and read operations at IIS to work, one will need to create an 
async module (IHttpModule, but use context.AddOnBeginRequestAsync() methods to 
add event handlers) or an async handler (derived from HttpTaskAsyncHandler).

This is the approach that I use on a draft of an SPDY redirector that can 
already be tested with Jetty (but not yet with Tomcat), see [1]. After 
switching from blocking I/O to async methods, the number of threads of the IIS 
apppool (w3wp.exe) was greatly reduced when having a slow output producer 
(servlet) on the Jetty side, and a fast client connecting to IIS (but should 
also work for the more likely scenario: A fast output producer (Jetty) and a 
slow client); as with blocking I/O, the IIS threads would spend most of their 
time with doing nothing, whereas with the async approach, they can do other 
things meanwhile.

This approach suits the idea of a multiplexing SPDY as you can send multiple 
requests on a single SPDY connection, so it doesn't block resources like 
sockets or threads for the duration of an request. With SPDY, it should also be 
possible to forward Websocket connections which is AFAIK not possible with AJP.


 
 Angel Java Lopez
 @ajlopez
 
 
 On Fri, Feb 14, 2014 at 9:26 PM, Bilal S bilal.so...@gmail.com wrote:
 
  Konstantin,

snip

  ==
  You raise good points. I have run into similar issues and thus created  my
  own project outside the Apache foundation three years ago (BonCode). It
 is
  a C# based AJP connector. It can currently be used with Tomcat, JBOSS,
  Jetty. From support requests I am surmising that is currently bundled with
  software from a few manufacturers including: EMC, CSC, Siemens and
 others
  instead of ISAPI redirector.
 
  Thus, I do encourage the update of the current IIS connection mechanism
 to
  a more up-to-date method. Using a managed code mechanism is the way
 to go
  in my opinion.
  In the long run SPDY may also be of interest for the same purpose. The
 more
  choices the better.
 
  The following are differences already in existence with BonCode and in
  response to your extensive writing, only read on if you are curious::
  

Thank you for you detailed response, this is very helpful.

snip

   6.
  
   As far as I can see, the ISAPI redirector uses blocking I/O when
   forwarding requests to Tomcat.
  
   This means when a slow client sends a request to IIS which gets
 forwarded
   to Tomcat, and Tomcat starts to send the response, in the IIS worker
   process at least 1 Thread will be dedicated to this request as long as it
   is not finished. This means if 500 slow clients concurrently send
  requests
   to IIS (which get forwarded), IIS has to create 500 threads in the
   w3wp.exe. This can be a problem in terms of scalability, if lots of
  clients
   send concurrent requests to your server.
  
   == Not most elegant but BonCode will time out the connection based on
  IIS
  AppPool setting and reuse. You can also do a similar thing on the Tomcat
  side. The nature of AJP does not allow multiplexing a connection, so it
  needs to be dedicated to a client.
 
 
   The recently released Servlet 3.1 spec allows to use non

RE: Status of the current IIS ISAPI Redirector for Tomcat

2014-02-15 Thread Martin Gainty
This is a TC Users list so I will redirect the conversation to how do we use 
SPD in a Tomcat implementation
TO Wit: what you're asking is there support for SPDY Protocol in any version of 
TOMCAT?

 

Since SPDY requires the use of SSL/TLS (with TLS extension NPN)

Which version TC Container supports TLS/NPM?

 

*gruss*
Martin 
__ 

  



 From: kpreis...@apache.org
 To: users@tomcat.apache.org
 Subject: RE: Status of the current IIS ISAPI Redirector for Tomcat
 Date: Sat, 15 Feb 2014 15:00:44 +0100
 
 Hi Angel and Bilal,
 
 thank you for your replies.
 
 
  -Original Message-
  From: Angel Java Lopez [mailto:ajlopez2...@gmail.com]
  Sent: Saturday, February 15, 2014 11:59 AM
  To: Tomcat Users List
  Subject: Re: Status of the current IIS ISAPI Redirector for Tomcat
  
  Very interesting!
  
  Yes, managed code is the path to follow.
  
  First idea non-blocking IO (from C# client side): use the new async/await
  for the communication. But force to use the new .NET framework and Visual
  Studio. And await is a wait on the current threads:
  
  http://msdn.microsoft.com/en-us/library/hh750082.aspx
  
  Maybe, a node.js approach, with a callback:
  
  http://stackoverflow.com/questions/16894907/creating-asynchronous-
  methods-with-task-factory-and-callback
  and only .NET 4.0:
  http://msdn.microsoft.com/en-us/library/dd537612(v=vs.100).aspx
  
  I don't still see the value of await: it blocked the current thread. I
  guess it is better to use a callback
 
 A await on a Task in C# should internally return the current thread back to 
 a threadpool, and use a callback on another thread to continue execution of 
 the method when the Task is finished, so that threads are not blocked when 
 waiting e.g. for an I/O operation to complete. For a full utilization of 
 asynchronous I/O, one would not only have to use async read/write operations 
 when forwarding the request to Tomcat, but also async flush the response body 
 at IIS to the client (and async read the request body). Although the .Net 
 HttpResponse also seem to have BeginFlush() and EndFlush() methods that apply 
 the old-style async programming pattern, in the SPDY Redirector (see below) 
 I'm using Task.Factory.FromAsync(...) to convert these Begin/End-Methods into 
 one that returns a Task, so that it can be integrated into the existing 
 Task-based async code.
 
 For async flush and read operations at IIS to work, one will need to create 
 an async module (IHttpModule, but use context.AddOnBeginRequestAsync() 
 methods to add event handlers) or an async handler (derived from 
 HttpTaskAsyncHandler).
 
 This is the approach that I use on a draft of an SPDY redirector that can 
 already be tested with Jetty (but not yet with Tomcat), see [1]. After 
 switching from blocking I/O to async methods, the number of threads of the 
 IIS apppool (w3wp.exe) was greatly reduced when having a slow output producer 
 (servlet) on the Jetty side, and a fast client connecting to IIS (but should 
 also work for the more likely scenario: A fast output producer (Jetty) and a 
 slow client); as with blocking I/O, the IIS threads would spend most of their 
 time with doing nothing, whereas with the async approach, they can do other 
 things meanwhile.
 
 This approach suits the idea of a multiplexing SPDY as you can send multiple 
 requests on a single SPDY connection, so it doesn't block resources like 
 sockets or threads for the duration of an request. With SPDY, it should also 
 be possible to forward Websocket connections which is AFAIK not possible with 
 AJP.
 
 
  
  Angel Java Lopez
  @ajlopez
  
  
  On Fri, Feb 14, 2014 at 9:26 PM, Bilal S bilal.so...@gmail.com wrote:
  
   Konstantin,
 
 snip
 
   ==
   You raise good points. I have run into similar issues and thus created my
   own project outside the Apache foundation three years ago (BonCode). It
  is
   a C# based AJP connector. It can currently be used with Tomcat, JBOSS,
   Jetty. From support requests I am surmising that is currently bundled with
   software from a few manufacturers including: EMC, CSC, Siemens and
  others
   instead of ISAPI redirector.
  
   Thus, I do encourage the update of the current IIS connection mechanism
  to
   a more up-to-date method. Using a managed code mechanism is the way
  to go
   in my opinion.
   In the long run SPDY may also be of interest for the same purpose. The
  more
   choices the better.
  
   The following are differences already in existence with BonCode and in
   response to your extensive writing, only read on if you are curious::
   
 
 Thank you for you detailed response, this is very helpful.
 
 snip
 
6.
   
As far as I can see, the ISAPI redirector uses blocking I/O when
forwarding requests to Tomcat.
   
This means when a slow client sends a request to IIS which gets
  forwarded
to Tomcat, and Tomcat starts to send the response, in the IIS worker
process at least

Re: Status of the current IIS ISAPI Redirector for Tomcat

2014-02-14 Thread Bilal S
Konstantin,



On Fri, Jan 24, 2014 at 2:06 PM, Konstantin Preißer kpreis...@apache.orgwrote:

 Hi all,

 for my Java Servlet web applications which run on Tomcat (currently
 8.0.0-RC 10) on various Windows Server OSes (currently Windows Server 2012
 R2), I use the ISAPI Redirector to forward requests from IIS to Tomcat over
 AJP. I use IIS as primary web server because I also host other websites
 that use different technologies like ASP.Net and PHP (and because IIS
 allows to run web applications as different processes as different user
 accounts, and because I can configure the SSL settings over IIS, and so on).

 The ISAPI Redirector has its job done well in the past and currently I'm
 still using it. Note that I'm only using it to forward requests from a
 single IIS instance to a single Tomcat instance, but not for load-balancing
 or other features.


 However, over the time I found some issues which seem to result from the
 changes that Win Server, IIS and other components have experienced over
 time, which I wanted to list here and see how these could be changed.

 A possibility that I see is to use an ASP.Net (C#) based redirector
 instead of an ISAPI based redirector as that will have a number of
 advantages - see below.



==
You raise good points. I have run into similar issues and thus created  my
own project outside the Apache foundation three years ago (BonCode). It is
a C# based AJP connector. It can currently be used with Tomcat, JBOSS,
Jetty. From support requests I am surmising that is currently bundled with
software from a few manufacturers including: EMC, CSC, Siemens and others
instead of ISAPI redirector.

Thus, I do encourage the update of the current IIS connection mechanism to
a more up-to-date method. Using a managed code mechanism is the way to go
in my opinion.
In the long run SPDY may also be of interest for the same purpose. The more
choices the better.

The following are differences already in existence with BonCode and in
response to your extensive writing, only read on if you are curious::



 1.

 The ISAPI Redirector seems to be quite complicate to configure. You have
 to:
 1) place the ISAPI redirector DLL in some arbitrary path (the docs suggest
 to place them in your Tomcat\bin directory)

== not needed

 2) create a virtual directory in your IIS web application which points to
 this path

== not needed

 3) change the handler settings for the virtual directory to allow to
 execute ISAPI dlls

== not needed

 4) add the ISAPI redirector DLL to the list of CGI and ISAPI restrictions
 in IIS

== not needed

 5) add the ISAPI redirector DLL to your web app as ISAPI filter

== not needed

 6) create some registry entries at HKLM\Software\Apache Software
 Foundation\Jakarta Isapi Redirector\1.0 to specify the path of the virtual
 directory, path to configuration files etc.

== not needed

 7) create configuration files (uriworkersmap.properties,
 worker.properties) and but them in some arbitrary path (the docs suggest to
 place them in your Tomcat\conf directory)

 == not needed, configurations are done via the IIS UI and/or an xml
config file


 I see a few problems here.
 First, you have to place the ISAPI redirector DLL in some external
 arbitrary path. This can introduce additional maintenance issues as you
 always have to remember this when e.g. moving the server. Because the docs
 suggest to place them in your Tomcat\bin directory, you might delete that
 file by mistake when you delete your Tomcat installation and create a new
 one.
 The same is true for the config files - if you place them in your Tomcat
 directory, you might delete them when you change your Tomcat config.

 Normally, these files do not belong to Tomcat, but to the ISAPI
 redirector, so I would expect to place them somewhere in your IIS web
 application.

 E.g, ASP.Net web applications have a web.config file in their root
 directory for configuration, and a bin directory where .Net assemblies
 can be placed. If you were using an ASP.Net based redirector for example
 (implemented as a managed module), you can place the binary into the bin
 directory of your IIS webapp and configure it by adding it to the
 web.config file. This would also mean that you don't have to create a
 virtual directory any more.

 I also got problems with the system-wide registry keys that you need to
 set up for the ISAPI redirector, as they don't allow separate configs for
 different IIS webapps. I once tried to create a isapi_redirect.properties
 with the configuration (instead of using the registry) like it is described
 on the Tomcat Connectors IIS reference page [1], but I didn't have success,
 so I reverted back to the registry settings.

 Note also that Microsoft has deprecated ISAPI filters and extensions in
 favor of native http modules [2].

 == not needed



 2.

 When using the ISAPI redirector with IIS 7, I got a few problems with
 response buffering - it seemed that IIS buffered the complete response body

Status of the current IIS ISAPI Redirector for Tomcat

2014-01-24 Thread Konstantin Preißer
Hi all,

for my Java Servlet web applications which run on Tomcat (currently 8.0.0-RC 
10) on various Windows Server OSes (currently Windows Server 2012 R2), I use 
the ISAPI Redirector to forward requests from IIS to Tomcat over AJP. I use IIS 
as primary web server because I also host other websites that use different 
technologies like ASP.Net and PHP (and because IIS allows to run web 
applications as different processes as different user accounts, and because I 
can configure the SSL settings over IIS, and so on).

The ISAPI Redirector has its job done well in the past and currently I'm still 
using it. Note that I'm only using it to forward requests from a single IIS 
instance to a single Tomcat instance, but not for load-balancing or other 
features.


However, over the time I found some issues which seem to result from the 
changes that Win Server, IIS and other components have experienced over time, 
which I wanted to list here and see how these could be changed.

A possibility that I see is to use an ASP.Net (C#) based redirector instead of 
an ISAPI based redirector as that will have a number of advantages - see below.


1.

The ISAPI Redirector seems to be quite complicate to configure. You have to:
1) place the ISAPI redirector DLL in some arbitrary path (the docs suggest to 
place them in your Tomcat\bin directory)
2) create a virtual directory in your IIS web application which points to this 
path
3) change the handler settings for the virtual directory to allow to execute 
ISAPI dlls
4) add the ISAPI redirector DLL to the list of CGI and ISAPI restrictions in IIS
5) add the ISAPI redirector DLL to your web app as ISAPI filter
6) create some registry entries at HKLM\Software\Apache Software 
Foundation\Jakarta Isapi Redirector\1.0 to specify the path of the virtual 
directory, path to configuration files etc.
7) create configuration files (uriworkersmap.properties, worker.properties) and 
but them in some arbitrary path (the docs suggest to place them in your 
Tomcat\conf directory)

I see a few problems here.
First, you have to place the ISAPI redirector DLL in some external arbitrary 
path. This can introduce additional maintenance issues as you always have to 
remember this when e.g. moving the server. Because the docs suggest to place 
them in your Tomcat\bin directory, you might delete that file by mistake when 
you delete your Tomcat installation and create a new one.
The same is true for the config files - if you place them in your Tomcat 
directory, you might delete them when you change your Tomcat config.

Normally, these files do not belong to Tomcat, but to the ISAPI redirector, so 
I would expect to place them somewhere in your IIS web application.

E.g, ASP.Net web applications have a web.config file in their root directory 
for configuration, and a bin directory where .Net assemblies can be placed. 
If you were using an ASP.Net based redirector for example (implemented as a 
managed module), you can place the binary into the bin directory of your IIS 
webapp and configure it by adding it to the web.config file. This would also 
mean that you don't have to create a virtual directory any more.

I also got problems with the system-wide registry keys that you need to set up 
for the ISAPI redirector, as they don't allow separate configs for different 
IIS webapps. I once tried to create a isapi_redirect.properties with the 
configuration (instead of using the registry) like it is described on the 
Tomcat Connectors IIS reference page [1], but I didn't have success, so I 
reverted back to the registry settings.

Note also that Microsoft has deprecated ISAPI filters and extensions in favor 
of native http modules [2].


2.

When using the ISAPI redirector with IIS 7, I got a few problems with response 
buffering - it seemed that IIS buffered the complete response body before 
starting to send it to the client. However, when I tried this again on IIS 8.5 
today, then IIS only buffered a few MB before sending it to the client, so I 
think this is not a problem any more.
Note that you can manually specify the amount that IIS should buffer, by adding 
the following in web.config (in configuration , system.webServer):

handlers
remove name=ISAPI-dll /
add name=ISAPI-dll path=*.dll verb=* modules=IsapiModule 
resourceType=File requireAccess=Execute allowPathInfo=true 
responseBufferLimit=1 /
/handlers


3.

Chunked encoding is disabled by default.
Personally I think every web server should use chunked encoding if the client 
specifies connection: keep-alive and the content-length is unknown, so that the 
server doesn't have to close the connection to signal EOF. It seems that this 
is a bit difficult in an ISAPI extension as this feature was being considered 
experimental until a few years ago.

However, for example if you code a managed HTTP module using C#, you can just 
write bytes to the response without having to think about chunked encoding

ISAPI Redirector

2013-07-14 Thread Christopher Valerio
Hi im using ISAPI redirector for iis 7 on windows 2008 with tomcat 5.5 it 
works fine with one instance of tomcat. But I need to setupo something like 
this on uiworkermap.properties.


subdomain.domain.com/*=worker4


because i need to setup differents environments of tomcat one for prod and 
another for qa and developing. I wonder if this is posible on Windows with 
iis.

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: ISAPI Redirector

2013-07-14 Thread Mark Eggers

 From: Christopher Valerio cvale...@growthaccelerationpartners.com
To: users@tomcat.apache.org 
Sent: Sunday, July 14, 2013 6:48 PM
Subject: ISAPI Redirector
 

Hi im using ISAPI redirector for iis 7 on windows 2008 with tomcat 5.5 it 
works fine with one instance of tomcat. But I need to setupo something like 
this on uiworkermap.properties.


subdomain.domain.com/*=worker4


because i need to setup differents environments of tomcat one for prod and 
another for qa and developing. I wonder if this is posible on Windows with 
iis.


I have no idea about Tomcat 5.5.x (it's no longer supported).

However, the documentation here

http://tomcat.apache.org/connectors-doc/reference/iis.html


states the following:

The ISAPI redirector can read it's configuration from a properties file instead 
of the registry. This has the advantage that you can use multiple ISAPI 
redirectors with independent configurations on the same server. The redirector 
will check for the properties file during initialisation, and use it in 
preference to the registry if present.

Create a properties file in the same directory as the ISAPI redirector called 
isapi_redirect.properties i.e. with the same name as the ISAPI redirector DLL 
but with a .properties extension. A sample isapi_redirect.properties can be 
found under the conf directory.

The property names and values in the properties file are the same as for the 
registry settings described above. 

For each Tomcat you'll have to change the shudown port and AJP/1.3 ports.

However, according to the documentation above, it should work.

I've not tried it - I'm in the process of writing an IIS 7.5 / Tomcat 7.x / 
ASP.NET integration document for $work.

. . . . just my two cents.
/mde/

PS - Upgrade, upgrade, upgrade.

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Configuring IIS to use the JK ISAPI redirector plugin when URL paths are different

2013-04-25 Thread Rainer Jung
On 24.04.2013 09:02, Rainer Jung wrote:
 On 24.04.2013 06:53, Beavers, Melinda K (Kay) wrote:
 We have installed the IIS-Tomcat redirector (isapi_redirect.dll) on an IIS 6 
 server so that http://iis.company.com/website/myfile.jsp  will correctly 
 redirect according to our 'isapi_redirect.properties', 'workers.properties', 
 and 'uriworkermap.properties ' and serve the JSP page from  
 http://tomcat.company.com/website/myfile.jsp . That appears to be working 
 just fine. But we actually need to have a different IIS URL. What we are 
 trying to figure out is if we can configure it so that 
 http://iis.company.com/apps/cepv/website/myfile.jsp will redirect and serve 
 the JSP content at http://tomcat.company.com/website/myfile.jsp. The path on 
 the IIS server is has two extra levels (/apps/cepv) in the URL path and does 
 not match the path on the tomcat server where the JSP content is. We have to 
 have those two extra levels in the IIS URL path for other technical reasons 
 and we cannot match or include those two extra levels on the tomcat side. 

 We have tried the following but cannot get it to work.   

  website.worker=website_ajp13 
  /apps/cepv/website/*.jsp=$(website.worker) 

 Is there anything we can do to map this correctly?   
 
 Have a look at
 
 https://tomcat.apache.org/connectors-doc/generic_howto/proxy.html#URL%20Rewriting
 
 starting from If you are using Microsoft IIS as a web server

The OP reported via PM that it now works after upgrading from an
outdated version to a recent one.

Regards,

Rainer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Configuring IIS to use the JK ISAPI redirector plugin when URL paths are different

2013-04-24 Thread Rainer Jung
On 24.04.2013 06:53, Beavers, Melinda K (Kay) wrote:
 We have installed the IIS-Tomcat redirector (isapi_redirect.dll) on an IIS 6 
 server so that http://iis.company.com/website/myfile.jsp  will correctly 
 redirect according to our 'isapi_redirect.properties', 'workers.properties', 
 and 'uriworkermap.properties ' and serve the JSP page from  
 http://tomcat.company.com/website/myfile.jsp . That appears to be working 
 just fine. But we actually need to have a different IIS URL. What we are 
 trying to figure out is if we can configure it so that 
 http://iis.company.com/apps/cepv/website/myfile.jsp will redirect and serve 
 the JSP content at http://tomcat.company.com/website/myfile.jsp. The path on 
 the IIS server is has two extra levels (/apps/cepv) in the URL path and does 
 not match the path on the tomcat server where the JSP content is. We have to 
 have those two extra levels in the IIS URL path for other technical reasons 
 and we cannot match or include those two extra levels on the tomcat side. 
 
 We have tried the following but cannot get it to work.   
 
   website.worker=website_ajp13 
   /apps/cepv/website/*.jsp=$(website.worker) 
 
 Is there anything we can do to map this correctly?   

Have a look at

https://tomcat.apache.org/connectors-doc/generic_howto/proxy.html#URL%20Rewriting

starting from If you are using Microsoft IIS as a web server

Regards,

Rainer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Configuring IIS to use the JK ISAPI redirector plugin when URL paths are different

2013-04-24 Thread Beavers, Melinda K (Kay)
Rainer, thank you for that link!!  I have put this line in my 
isapi_redirect.properties file: 
rewrite_rule_file=C:\Avaya\TomcatFilter\rewrite.properties and put my 
rewrite.properties file in place with just a single line in it:  
/apps/cepv/website/=/website/ and reset IIS.  It is not working but in the 
debug log I never see any reference to using the rewrite file.  

I never see entries like described below: 

During startup, you should see

 Using rewrite rule file YOURRULESFILE

in the log file, and later

 Loaded rewrite rule file YOURRULESFILE

Between those two, you should also see lines indicating, that the 
contents of the file got parsed.

Do you know if there's some other step I'm missing or if it has to be a certain 
version in order to recognize the rewrite file?

Regards,

Katy

-Original Message-
From: Rainer Jung [mailto:rainer.j...@kippdata.de] 
Sent: Wednesday, April 24, 2013 2:03 AM
To: users@tomcat.apache.org
Subject: Re: Configuring IIS to use the JK ISAPI redirector plugin when URL 
paths are different

On 24.04.2013 06:53, Beavers, Melinda K (Kay) wrote:
 We have installed the IIS-Tomcat redirector (isapi_redirect.dll) on an IIS 6 
 server so that http://iis.company.com/website/myfile.jsp  will correctly 
 redirect according to our 'isapi_redirect.properties', 'workers.properties', 
 and 'uriworkermap.properties ' and serve the JSP page from  
 http://tomcat.company.com/website/myfile.jsp . That appears to be working 
 just fine. But we actually need to have a different IIS URL. What we are 
 trying to figure out is if we can configure it so that 
 http://iis.company.com/apps/cepv/website/myfile.jsp will redirect and serve 
 the JSP content at http://tomcat.company.com/website/myfile.jsp. The path on 
 the IIS server is has two extra levels (/apps/cepv) in the URL path and does 
 not match the path on the tomcat server where the JSP content is. We have to 
 have those two extra levels in the IIS URL path for other technical reasons 
 and we cannot match or include those two extra levels on the tomcat side. 
 
 We have tried the following but cannot get it to work.   
 
   website.worker=website_ajp13 
   /apps/cepv/website/*.jsp=$(website.worker) 
 
 Is there anything we can do to map this correctly?   

Have a look at

https://tomcat.apache.org/connectors-doc/generic_howto/proxy.html#URL%20Rewriting

starting from If you are using Microsoft IIS as a web server

Regards,

Rainer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Configuring IIS to use the JK ISAPI redirector plugin when URL paths are different

2013-04-24 Thread André Warnier

Beavers, Melinda K (Kay) wrote:
Rainer, thank you for that link!!  I have put this line in my isapi_redirect.properties file: rewrite_rule_file=C:\Avaya\TomcatFilter\rewrite.properties and put my rewrite.properties file in place with just a single line in it:  /apps/cepv/website/=/website/ and reset IIS.  It is not working but in the debug log I never see any reference to using the rewrite file.  

I never see entries like described below: 


During startup, you should see

 Using rewrite rule file YOURRULESFILE

in the log file, and later

 Loaded rewrite rule file YOURRULESFILE

Between those two, you should also see lines indicating, that the 
contents of the file got parsed.


Do you know if there's some other step I'm missing or if it has to be a certain 
version in order to recognize the rewrite file?

Regards,

Katy

-Original Message-
From: Rainer Jung [mailto:rainer.j...@kippdata.de] 
Sent: Wednesday, April 24, 2013 2:03 AM

To: users@tomcat.apache.org
Subject: Re: Configuring IIS to use the JK ISAPI redirector plugin when URL 
paths are different

On 24.04.2013 06:53, Beavers, Melinda K (Kay) wrote:
We have installed the IIS-Tomcat redirector (isapi_redirect.dll) on an IIS 6 server so that http://iis.company.com/website/myfile.jsp  will correctly redirect according to our 'isapi_redirect.properties', 'workers.properties', and 'uriworkermap.properties ' and serve the JSP page from  http://tomcat.company.com/website/myfile.jsp . That appears to be working just fine. But we actually need to have a different IIS URL. What we are trying to figure out is if we can configure it so that http://iis.company.com/apps/cepv/website/myfile.jsp will redirect and serve the JSP content at http://tomcat.company.com/website/myfile.jsp. The path on the IIS server is has two extra levels (/apps/cepv) in the URL path and does not match the path on the tomcat server where the JSP content is. We have to have those two extra levels in the IIS URL path for other technical reasons and we cannot match or include those two extra levels on the tomcat side. 

We have tried the following but cannot get it to work.   

	website.worker=website_ajp13 
	/apps/cepv/website/*.jsp=$(website.worker) 

Is there anything we can do to map this correctly?   


Have a look at

https://tomcat.apache.org/connectors-doc/generic_howto/proxy.html#URL%20Rewriting

starting from If you are using Microsoft IIS as a web server



Melinda,
in addition to what Rainer writes above, and if you determine later that you need more 
powerful URL-rewriting capabilities under IIS later, have a look at :

http://www.helicontech.com/isapi_rewrite/

Also, on this list, try to not top-post your reponses, it makes it more difficult for 
everyone to follow the conversation (scrolling up and down etc..)




-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Configuring IIS to use the JK ISAPI redirector plugin when URL paths are different

2013-04-24 Thread Rainer Jung
Hi Katy,

On 24.04.2013 16:38, Beavers, Melinda K (Kay) wrote:
 Rainer, thank you for that link!!  I have put this line in my 
 isapi_redirect.properties file: 
 rewrite_rule_file=C:\Avaya\TomcatFilter\rewrite.properties and put my 
 rewrite.properties file in place with just a single line in it:  
 /apps/cepv/website/=/website/ and reset IIS.  It is not working but in the 
 debug log I never see any reference to using the rewrite file.  
 
 I never see entries like described below: 
 
 During startup, you should see
 
  Using rewrite rule file YOURRULESFILE
 
 in the log file, and later
 
  Loaded rewrite rule file YOURRULESFILE
 
 Between those two, you should also see lines indicating, that the 
 contents of the file got parsed.
 
 Do you know if there's some other step I'm missing or if it has to be a 
 certain version in order to recognize the rewrite file?

First: which version are you using?

Then: I assume we already know that your entries to
isapi_redirect.properties work in principle, i.e. that you can confirm
that some of the entries did work, just not the rewrite_rule_file entry.
Correct?

Next I assume you could correctly set a log file using the log_file
entry and that you can now set the log level to debug using
log_level=debug.

When you now start up, you should get a couple of log lines containing
the word Using. Post at least them or even better all startup log
messages, excluding any confidential stuff.

Regards,

Rainer

 -Original Message-
 From: Rainer Jung [mailto:rainer.j...@kippdata.de] 
 Sent: Wednesday, April 24, 2013 2:03 AM
 To: users@tomcat.apache.org
 Subject: Re: Configuring IIS to use the JK ISAPI redirector plugin when URL 
 paths are different
 
 On 24.04.2013 06:53, Beavers, Melinda K (Kay) wrote:
 We have installed the IIS-Tomcat redirector (isapi_redirect.dll) on an IIS 6 
 server so that http://iis.company.com/website/myfile.jsp  will correctly 
 redirect according to our 'isapi_redirect.properties', 'workers.properties', 
 and 'uriworkermap.properties ' and serve the JSP page from  
 http://tomcat.company.com/website/myfile.jsp . That appears to be working 
 just fine. But we actually need to have a different IIS URL. What we are 
 trying to figure out is if we can configure it so that 
 http://iis.company.com/apps/cepv/website/myfile.jsp will redirect and serve 
 the JSP content at http://tomcat.company.com/website/myfile.jsp. The path on 
 the IIS server is has two extra levels (/apps/cepv) in the URL path and does 
 not match the path on the tomcat server where the JSP content is. We have to 
 have those two extra levels in the IIS URL path for other technical reasons 
 and we cannot match or include those two extra levels on the tomcat side. 

 We have tried the following but cannot get it to work.   

  website.worker=website_ajp13 
  /apps/cepv/website/*.jsp=$(website.worker) 

 Is there anything we can do to map this correctly?   
 
 Have a look at
 
 https://tomcat.apache.org/connectors-doc/generic_howto/proxy.html#URL%20Rewriting
 
 starting from If you are using Microsoft IIS as a web server
 
 Regards,
 
 Rainer

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Configuring IIS to use the JK ISAPI redirector plugin when URL paths are different

2013-04-23 Thread Beavers, Melinda K (Kay)
We have installed the IIS-Tomcat redirector (isapi_redirect.dll) on an IIS 6 
server so that http://iis.company.com/website/myfile.jsp  will correctly 
redirect according to our 'isapi_redirect.properties', 'workers.properties', 
and 'uriworkermap.properties ' and serve the JSP page from  
http://tomcat.company.com/website/myfile.jsp . That appears to be working just 
fine. But we actually need to have a different IIS URL. What we are trying to 
figure out is if we can configure it so that 
http://iis.company.com/apps/cepv/website/myfile.jsp will redirect and serve the 
JSP content at http://tomcat.company.com/website/myfile.jsp. The path on the 
IIS server is has two extra levels (/apps/cepv) in the URL path and does not 
match the path on the tomcat server where the JSP content is. We have to have 
those two extra levels in the IIS URL path for other technical reasons and we 
cannot match or include those two extra levels on the tomcat side. 

We have tried the following but cannot get it to work.   

website.worker=website_ajp13 
/apps/cepv/website/*.jsp=$(website.worker) 

Is there anything we can do to map this correctly?   


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Jakarta ISAP Redirector

2012-06-14 Thread Rainer Jung

On 14.06.2012 03:03, DeMarco, Alex wrote:

I have 4 servers all configured the same way..  Locally the call works fine yet 
remotely I get an iis 404


Maybe you get a redirect that isn't working remotely?

Use a browser that allows to track traffic, like Firefox with the 
FireBug plugin and check the full conversation.


Regards,

Rainer


-Original Message-
From: DeMarco, Alex [mailto:alex.dema...@suny.edu]
Sent: Wednesday, June 13, 2012 8:45 PM
To: Tomcat Users List
Subject: RE: Jakarta ISAP Redirector

Yes I have looked in the log file and set it debug.  There are no errors logged.

My uriworkermap has this:


/myapp=DTS_Submission
/myapp/*=DTS_Submission

My Workers file has:

worker.list=DTS_Submission

worker.DTS_Submission.type=ajp13
worker.DTS_Submission.host=xxx.xxx.xxx.xxx
worker.DTS_Submission.port=3305


If I am locally on the box (with a local host entry that maps to the same IIS 
site on that box) it works fine.

However, from my desktop I get a page could not be found...  However, it says 
it can't find http://myurl:80/jakarta/isapi_redirect.dll  I have double and 
triple checked my config.

 From my desktop this works:

http://myurl/myapp/services/mywebservice?wsdl

but this fails

http:// myurl/myapp/services?wsdl

but when on the local sever everything works.  I see no errors in the log.  
It's like IIS is stopping the request??

- Alex

-Original Message-
From: André Warnier [mailto:a...@ice-sa.com]
Sent: Wednesday, June 13, 2012 2:18 PM
To: Tomcat Users List
Subject: Re: Jakarta ISAP Redirector

DeMarco, Alex wrote:

I hope this is the right place to post this question.



It is the right place.




We have the latest Jakarta Plugin installed with IIS 7.5.



Do you know, does the plugin specifically block  /services requests on
wsdl's



Short answer : no, it does not specifically block any request.
In fact, it is the opposite : it only forwards requests to Tomcat, if the 
request URL matches some pre-defined values.
See :
http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html
the section How does it work ?.
(and for the word worker, understand a back-end tomcat).

One more thing : the isapi_redirector can write a logfile.
See item (3) in the section Configuring the ISAPI Redirector for details.
The logfile will tell you when and why it is forwarding a request to Tomcat and 
when/why not.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org




--
kippdata
informationstechnologie GmbH   Tel: 0228 98549 -0
Bornheimer Str. 33aFax: 0228 98549 -50
53111 Bonn www.kippdata.de

HRB 8018 Amtsgericht Bonn / USt.-IdNr. DE 196 457 417
Geschäftsführer: Dr. Thomas Höfer, Rainer Jung, Sven Maurmann



-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Jakarta ISAP Redirector

2012-06-14 Thread André Warnier
Top-posting (as I am doing here : writing every response at the top of the message), makes 
it difficult for others to follow the flow of the conversation.

Better to put your responses under the question or paragraph to which they 
relate.
See below.

DeMarco, Alex wrote:

I have 4 servers all configured the same way..  Locally the call works fine yet 
remotely I get an iis 404

- Alex

-Original Message-
From: DeMarco, Alex [mailto:alex.dema...@suny.edu] 
Sent: Wednesday, June 13, 2012 8:45 PM

To: Tomcat Users List
Subject: RE: Jakarta ISAP Redirector

Yes I have looked in the log file and set it debug.  There are no errors logged.

My uriworkermap has this:


/myapp=DTS_Submission
/myapp/*=DTS_Submission

My Workers file has:

worker.list=DTS_Submission

worker.DTS_Submission.type=ajp13
worker.DTS_Submission.host=xxx.xxx.xxx.xxx
worker.DTS_Submission.port=3305



The above configuration looks fine, provided that the IP address xxx.xxx.xxx.xxx is 
really the IP address of the Tomcat host, as IIS sees it.





If I am locally on the box (with a local host entry that maps to the same IIS 
site on that box) it works fine.

However, from my desktop I get a page could not be found...  However, it says 
it can't find http://myurl:80/jakarta/isapi_redirect.dll


It would never find this resource, unless :
- either you do have a subdirectory jakarta in your IIS document space
- or you have a isapi_redirect mapping which maps this URL to Tomcat, and tomcat has a 
webapp named jakarta
And even if it found it there, it would then return the dll to the browser.  That is 
certainly not what you want.
Do you understand the above paragraph, really ?  It is important, because if you do not 
understand that, then it will be very difficult to help you here.


And anyway, why are you giving this as an example ? it is totally irrelevant.  In the 
uriworkermap that you list above, you are mapping URI's starting with /myapp. You are 
not mapping URI's starting with /jakarta or anything else, so why would you expect this 
to be relevant ?


  I have double and triple checked my config.



From my desktop this works:


your desktop where ? be precise, please.  Try not to force us to guess at each 
step.



http://myurl/myapp/services/mywebservice?wsdl


By myurl you mean the hostname, yes ?
(then say so, plase. The URL is the whole thing 
http://myurl/myapp/services/mywebservice?wsdl;.)




but this fails

http:// myurl/myapp/services?wsdl


What is that space there ? if it is really there, then no wonder it fails.
And /how/ does it fail ?  it fails doesn't mean anything, technically 
speaking.



but when on the local sever everything works.  I see no errors in the log.  
It's like IIS is stopping the request??

Very carefully said : yes, it looks that way.  Why, I have no idea.  But at this point it 
does not look as if it has anything to do with the isapi_redirector.
With the configuration which you show above, and as far as only isapi_redirector is 
concerned, all the URI's that (after the hostname part) start with /myapp, should be 
forwarded by IIS and isapi_redirector to Tomcat, and the isapi_redirector log should show 
that.
It would be very strange if something at (or before) the IIS level was allowing URI's like 
http://myurl/myapp/services/mywebservice; to go through, but was blocking URI's like 
http://myurl/myapp/services;.  But only you know what is in the configuration of that 
server, its firewall, etc..
Maybe services is something defined somewhere in IIS, and directed somewhere else (or 
forbidden) ?



You need to design a test setup in which you can check this systematically.
For example :
Under the IIS wwwroot, create a sub-directory /myapp/, and put some document test.html 
there.  Then with your browser, try to access http://yourhost/myapp/test.html. And note 
the result.
Then create a sub-directory wwwroot/myapp/services/, put a document test2.html there, and 
try to access it, and note the result.

etc..

Do this both from a browser on a separate workstation, and from a browser running on the 
IIS host itself.  Then compare the results, and also look in the isapi_redirector logs.

And then think.
The answer is somewhere in the configuration of the browser, the network, the host, IIS, 
isapi_redirector or Tomcat.  We do not have access to those things; but you do.  You must 
make a list of what could be happening, and then design tests to rule out one or the other 
possibility.  When you are left with only one, then that is the answer.


And stop top-posting.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Jakarta ISAP Redirector

2012-06-14 Thread DeMarco, Alex


-Original Message-
From: André Warnier [mailto:a...@ice-sa.com] 
Sent: Thursday, June 14, 2012 4:16 AM
To: Tomcat Users List
Subject: Re: Jakarta ISAP Redirector

Top-posting (as I am doing here : writing every response at the top of the 
message), makes it difficult for others to follow the flow of the conversation.
Better to put your responses under the question or paragraph to which they 
relate.
See below.

DeMarco, Alex wrote:
 I have 4 servers all configured the same way..  Locally the call works fine 
 yet remotely I get an iis 404
 
 - Alex
 
 -Original Message-
 From: DeMarco, Alex [mailto:alex.dema...@suny.edu]
 Sent: Wednesday, June 13, 2012 8:45 PM
 To: Tomcat Users List
 Subject: RE: Jakarta ISAP Redirector
 
 Yes I have looked in the log file and set it debug.  There are no errors 
 logged.
 
 My uriworkermap has this:
 
 
 /myapp=DTS_Submission
 /myapp/*=DTS_Submission
 
 My Workers file has:
 
 worker.list=DTS_Submission
 
 worker.DTS_Submission.type=ajp13
 worker.DTS_Submission.host=xxx.xxx.xxx.xxx
 worker.DTS_Submission.port=3305
 

The above configuration looks fine, provided that the IP address 
xxx.xxx.xxx.xxx is really the IP address of the Tomcat host, as IIS sees it.


 
 If I am locally on the box (with a local host entry that maps to the same IIS 
 site on that box) it works fine.
 
 However, from my desktop I get a page could not be found...  However, it says 
 it can't find http://myurl:80/jakarta/isapi_redirect.dll

It would never find this resource, unless :
- either you do have a subdirectory jakarta in your IIS document space
- or you have a isapi_redirect mapping which maps this URL to Tomcat, and 
tomcat has a 
webapp named jakarta
And even if it found it there, it would then return the dll to the browser.  
That is 
certainly not what you want.
Do you understand the above paragraph, really ?  It is important, because if 
you do not 
understand that, then it will be very difficult to help you here.

And anyway, why are you giving this as an example ? it is totally irrelevant.  
In the 
uriworkermap that you list above, you are mapping URI's starting with /myapp. 
You are 
not mapping URI's starting with /jakarta or anything else, so why would you 
expect this 
to be relevant ?

   I have double and triple checked my config.
 
From my desktop this works:

your desktop where ? be precise, please.  Try not to force us to guess at each 
step.

 
 http://myurl/myapp/services/mywebservice?wsdl

By myurl you mean the hostname, yes ?
(then say so, plase. The URL is the whole thing 
http://myurl/myapp/services/mywebservice?wsdl;.)

 
 but this fails
 
 http:// myurl/myapp/services?wsdl

What is that space there ? if it is really there, then no wonder it fails.
And /how/ does it fail ?  it fails doesn't mean anything, technically 
speaking.

 
 but when on the local sever everything works.  I see no errors in the log.  
 It's like IIS is stopping the request??
 
Very carefully said : yes, it looks that way.  Why, I have no idea.  But at 
this point it 
does not look as if it has anything to do with the isapi_redirector.
With the configuration which you show above, and as far as only 
isapi_redirector is 
concerned, all the URI's that (after the hostname part) start with /myapp, 
should be 
forwarded by IIS and isapi_redirector to Tomcat, and the isapi_redirector log 
should show 
that.
It would be very strange if something at (or before) the IIS level was allowing 
URI's like 
http://myurl/myapp/services/mywebservice; to go through, but was blocking 
URI's like 
http://myurl/myapp/services;.  But only you know what is in the configuration 
of that 
server, its firewall, etc..
Maybe services is something defined somewhere in IIS, and directed somewhere 
else (or 
forbidden) ?


You need to design a test setup in which you can check this systematically.
For example :
Under the IIS wwwroot, create a sub-directory /myapp/, and put some document 
test.html 
there.  Then with your browser, try to access http://yourhost/myapp/test.html. 
And note 
the result.
Then create a sub-directory wwwroot/myapp/services/, put a document test2.html 
there, and 
try to access it, and note the result.
etc..

Do this both from a browser on a separate workstation, and from a browser 
running on the 
IIS host itself.  Then compare the results, and also look in the 
isapi_redirector logs.
And then think.
The answer is somewhere in the configuration of the browser, the network, the 
host, IIS, 
isapi_redirector or Tomcat.  We do not have access to those things; but you do. 
 You must 
make a list of what could be happening, and then design tests to rule out one 
or the other 
possibility.  When you are left with only one, then that is the answer.

And stop top-posting.

OK Well thanks for the list etiquette lesson.  I will setup a basic test with a 
clean website(removing all the extra stuff we have) and use a base 
configuration and work up from there.  When I call the url via IE

Re: Jakarta ISAP Redirector

2012-06-14 Thread André Warnier

DeMarco, Alex wrote:



...



OK Well thanks for the list etiquette lesson.  


Apart from the top-posting, it was not so much about list etiquette, as about expressing 
yourself precisely, so as to save some time to the people trying to help you.
When you say my desktop, it is confusing, because you have a my desktop also when you 
are working directly on the webserver host.  When you show a sample URL with a space in 
the middle and you say it doesn't work, we are left to wonder what doesn't work or why.
Isolated, any one of these things can be overcome, but when you pile up 5 things like that 
in the same message, it is getting hard to figure out what is what.


Basically, you want to be helped, and there are people here prepared to help.
But if these people think that they'll have to spend 20 minutes first to ask you to 
correct typos or explain precisely what you mean by it fails, they will get discouraged 
and leave your message to be answered later, or by someone else.

The result is that you get no answer, or get it later.
So, be nice to yourself.

...

When I call the url via IE directly on the webserver a log entry appears in the redirector 
log and the web service listing comes up correctly.


Allright.  That means that, when given a correct URL to fetch, IIS and Isapi_redirector 
and Tomcat do their job properly.  By extrapolation, neither IIS nor Isapi_redirector nor 
Tomcat are refusing that URL with /myapp/services in it.



Yet when I call the same URL from my (own workstation's) desktop no entry 
appears in the log and IIS returns a 404 as shown in firebug.


By extrapolation again, it must be that when you do this from your own workstation, 
something happens to that URL, before it gets to IIS, that results in :
- IIS + isapi_redirector not recognising that this URL matches one of the URL parts 
mentioned in the uriworkermap

- so they do not forward it to Tomcat
- in consequence, IIS is trying to serve it itself
- and IIS does not find /myapp/services (or whatever it has become) in its own URL space 
(e.g. under wwwroot), so it returns a 404 Not Found.


Now what happens to the URL, is for you to find out.  Firebug is a good option, if you 
really check what is the complete dialog before you get the 404 error.

It may be some re-direct, as mentioned by Rainer earlier.
Check in Firebug if between the original request, and the 404, there is any 302 response 
coming back.  If there is, then check what that 302 response says in its Location: header.
Maybe for example it says http://localhost/;.  That would work when you are on the 
webserver itself, but fail when you are on your workstation.  (And it would fail with a 
404 error if you also have IIS running on your workstation; if you don't have IIS running, 
then it should fail with some other error status.)


In Firebug, there must be a way to copy a request/response sequence to the clipboard. If 
so, do that and paste it here. We might spot something you don't.






-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Jakarta ISAP Redirector

2012-06-13 Thread DeMarco, Alex
I hope this is the right place to post this question.

 

We have the latest Jakarta Plugin installed with IIS 7.5.

 

Do you know, does the plugin specifically block  /services requests on
wsdl's

 

If I go here:

 

 

http://myural/myapp/services

 

I get a page not available

 

However, if I am locally on the page the services listing does load.

 

Also,  if I go here from my desk:

 

http://myural/myapp/services/someservicename?wsdl

 

It works fine.  In fact all the wsdl's work I just cannot display the
services list remotely.

 

Thanks in advance.

 

-  Alex

 

 

 

 

 

 



Re: Jakarta ISAP Redirector

2012-06-13 Thread André Warnier

DeMarco, Alex wrote:

I hope this is the right place to post this question.



It is the right place.

 


We have the latest Jakarta Plugin installed with IIS 7.5.

 


Do you know, does the plugin specifically block  /services requests on
wsdl's



Short answer : no, it does not specifically block any request.
In fact, it is the opposite : it only forwards requests to Tomcat, if the request URL 
matches some pre-defined values.

See :
http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html
the section How does it work ?.
(and for the word worker, understand a back-end tomcat).

One more thing : the isapi_redirector can write a logfile.
See item (3) in the section Configuring the ISAPI Redirector for details.
The logfile will tell you when and why it is forwarding a request to Tomcat and 
when/why not.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Jakarta ISAP Redirector

2012-06-13 Thread Pid *
On 13 Jun 2012, at 18:18, DeMarco, Alex alex.dema...@suny.edu wrote:

 I hope this is the right place to post this question.



 We have the latest Jakarta Plugin installed with IIS 7.5.



 Do you know, does the plugin specifically block  /services requests on
 wsdl's

No, it doesn't.

 If I go here:

 http://myural/myapp/services

 I get a page not available

Please post your config.


p




 However, if I am locally on the page the services listing does load.



 Also,  if I go here from my desk:



 http://myural/myapp/services/someservicename?wsdl



 It works fine.  In fact all the wsdl's work I just cannot display the
 services list remotely.



 Thanks in advance.



 -  Alex














-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Jakarta ISAP Redirector

2012-06-13 Thread DeMarco, Alex
Yes I have looked in the log file and set it debug.  There are no errors logged.

My uriworkermap has this:


/myapp=DTS_Submission
/myapp/*=DTS_Submission

My Workers file has:

worker.list=DTS_Submission

worker.DTS_Submission.type=ajp13
worker.DTS_Submission.host=xxx.xxx.xxx.xxx
worker.DTS_Submission.port=3305


If I am locally on the box (with a local host entry that maps to the same IIS 
site on that box) it works fine.

However, from my desktop I get a page could not be found...  However, it says 
it can't find http://myurl:80/jakarta/isapi_redirect.dll  I have double and 
triple checked my config.

From my desktop this works:

http://myurl/myapp/services/mywebservice?wsdl

but this fails

http:// myurl/myapp/services?wsdl

but when on the local sever everything works.  I see no errors in the log.  
It's like IIS is stopping the request??

- Alex

-Original Message-
From: André Warnier [mailto:a...@ice-sa.com] 
Sent: Wednesday, June 13, 2012 2:18 PM
To: Tomcat Users List
Subject: Re: Jakarta ISAP Redirector

DeMarco, Alex wrote:
 I hope this is the right place to post this question.
 

It is the right place.

  
 
 We have the latest Jakarta Plugin installed with IIS 7.5.
 
  
 
 Do you know, does the plugin specifically block  /services requests on 
 wsdl's
 

Short answer : no, it does not specifically block any request.
In fact, it is the opposite : it only forwards requests to Tomcat, if the 
request URL matches some pre-defined values.
See :
http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html
the section How does it work ?.
(and for the word worker, understand a back-end tomcat).

One more thing : the isapi_redirector can write a logfile.
See item (3) in the section Configuring the ISAPI Redirector for details.
The logfile will tell you when and why it is forwarding a request to Tomcat and 
when/why not.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Jakarta ISAP Redirector

2012-06-13 Thread DeMarco, Alex
I have 4 servers all configured the same way..  Locally the call works fine yet 
remotely I get an iis 404

- Alex

-Original Message-
From: DeMarco, Alex [mailto:alex.dema...@suny.edu] 
Sent: Wednesday, June 13, 2012 8:45 PM
To: Tomcat Users List
Subject: RE: Jakarta ISAP Redirector

Yes I have looked in the log file and set it debug.  There are no errors logged.

My uriworkermap has this:


/myapp=DTS_Submission
/myapp/*=DTS_Submission

My Workers file has:

worker.list=DTS_Submission

worker.DTS_Submission.type=ajp13
worker.DTS_Submission.host=xxx.xxx.xxx.xxx
worker.DTS_Submission.port=3305


If I am locally on the box (with a local host entry that maps to the same IIS 
site on that box) it works fine.

However, from my desktop I get a page could not be found...  However, it says 
it can't find http://myurl:80/jakarta/isapi_redirect.dll  I have double and 
triple checked my config.

From my desktop this works:

http://myurl/myapp/services/mywebservice?wsdl

but this fails

http:// myurl/myapp/services?wsdl

but when on the local sever everything works.  I see no errors in the log.  
It's like IIS is stopping the request??

- Alex

-Original Message-
From: André Warnier [mailto:a...@ice-sa.com]
Sent: Wednesday, June 13, 2012 2:18 PM
To: Tomcat Users List
Subject: Re: Jakarta ISAP Redirector

DeMarco, Alex wrote:
 I hope this is the right place to post this question.
 

It is the right place.

  
 
 We have the latest Jakarta Plugin installed with IIS 7.5.
 
  
 
 Do you know, does the plugin specifically block  /services requests on 
 wsdl's
 

Short answer : no, it does not specifically block any request.
In fact, it is the opposite : it only forwards requests to Tomcat, if the 
request URL matches some pre-defined values.
See :
http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html
the section How does it work ?.
(and for the word worker, understand a back-end tomcat).

One more thing : the isapi_redirector can write a logfile.
See item (3) in the section Configuring the ISAPI Redirector for details.
The logfile will tell you when and why it is forwarding a request to Tomcat and 
when/why not.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 7.0.26 - Isapi 1.2.30 - Win2008 R2

2012-05-21 Thread Pid
On 18/05/2012 00:58, ann ramos wrote:
 Hi,
 
 I have set up our system to do SSO.  The setup works fine because whenever 
 the user access the system, they are automatically logged in to the system.
 
 Following are the steps that I used to set up Isapi:
 1. Manually created the folders Apache Software Foundation\Jakarta Isapi 
 Redirector.  Then inside those folders I created a sub folder bin, conf and 
 log.
 2. I manually created the registry entries.  The set up works because the 
 system functions as SSO.
 
 The only thing is that my isapi_redirect.log is always empty even though I 
 set the log_level to debug. 
 
 I tried searching the internet but I'm not getting anywhere.
 
 I would appreciate any thoughts and ideas that you can share so I can resolve 
 my problem.  
 
 Thanks and regards.
 
 Peeves
 

Small note, next time please start an entirely new thread - rather than
replying to an existing one* and just editing the subject  body.


p

* RE: Tomcat 4.0   Tomcat 6.0 AuthenticatorBase


-- 

[key:62590808]



signature.asc
Description: OpenPGP digital signature


Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 7.0.26 - Isapi 1.2.30 - Win2008 R2

2012-05-20 Thread ann ramos
Sorry about that.

So here's what I did.  I created a webapps folder for our application in 
Tomcat.  We're using IIS as the webserver, used the isapi redirector to make 
IIS and Tomcat interact.  Followed the steps here:  
http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html

So everything works fine.  The user can access the application.  I can see from 
the tomcat logs that our application is running.

The only thing is my isapi log file is always empty.  I never see any messages 
logged in there even though I set the log_level to debug.


Regards.




 From: André Warnier a...@ice-sa.com
To: Tomcat Users List users@tomcat.apache.org 
Sent: Friday, 18 May 2012 5:18 PM
Subject: Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 
7.0.26 - Isapi 1.2.30 - Win2008 R2
 
ann ramos wrote:
 Hi,
 
 I have set up our system to do SSO.  The setup works fine because whenever 
 the user access the system, they are automatically logged in to the system.
 
 Following are the steps that I used to set up Isapi:
 1. Manually created the folders Apache Software Foundation\Jakarta Isapi 
 Redirector.  Then inside those folders I created a sub folder bin, conf and 
 log.
 2. I manually created the registry entries.  The set up works because the 
 system functions as SSO.
 
 The only thing is that my isapi_redirect.log is always empty even though I 
 set the log_level to debug. 
 I tried searching the internet but I'm not getting anywhere.
 
 I would appreciate any thoughts and ideas that you can share so I can resolve 
 my problem.  

Apart from your mention of Tomcat in the subject, it is not very clear so far 
if anything you're doing is accessing Tomcat through isapi_redirector (or even 
Tomcat at all).
Can you be a bit more explicit about what you are doing ?
And where the SSO part come into the picture here ?


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

RE: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 7.0.26 - Isapi 1.2.30 - Win2008 R2

2012-05-20 Thread Alex Samad - Yieldbroker
Silly question but does IIS have write permissions to the directory where you 
are writing the isapi log ?

A

-Original Message-
From: ann ramos [mailto:ramos_mary...@yahoo.com] 
Sent: Monday, 21 May 2012 9:19 AM
To: Tomcat Users List; Tomcat Users List
Subject: Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 
7.0.26 - Isapi 1.2.30 - Win2008 R2

Sorry about that.

So here's what I did.  I created a webapps folder for our application in 
Tomcat.  We're using IIS as the webserver, used the isapi redirector to make 
IIS and Tomcat interact.  Followed the steps here:  
http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html

So everything works fine.  The user can access the application.  I can see from 
the tomcat logs that our application is running.

The only thing is my isapi log file is always empty.  I never see any messages 
logged in there even though I set the log_level to debug.


Regards.




 From: André Warnier a...@ice-sa.com
To: Tomcat Users List users@tomcat.apache.org 
Sent: Friday, 18 May 2012 5:18 PM
Subject: Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 
7.0.26 - Isapi 1.2.30 - Win2008 R2
 
ann ramos wrote:
 Hi,
 
 I have set up our system to do SSO.  The setup works fine because whenever 
 the user access the system, they are automatically logged in to the system.
 
 Following are the steps that I used to set up Isapi:
 1. Manually created the folders Apache Software Foundation\Jakarta Isapi 
 Redirector.  Then inside those folders I created a sub folder bin, conf and 
 log.
 2. I manually created the registry entries.  The set up works because the 
 system functions as SSO.
 
 The only thing is that my isapi_redirect.log is always empty even though I 
 set the log_level to debug. 
 I tried searching the internet but I'm not getting anywhere.
 
 I would appreciate any thoughts and ideas that you can share so I can resolve 
 my problem.  

Apart from your mention of Tomcat in the subject, it is not very clear so far 
if anything you're doing is accessing Tomcat through isapi_redirector (or even 
Tomcat at all).
Can you be a bit more explicit about what you are doing ?
And where the SSO part come into the picture here ?


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 7.0.26 - Isapi 1.2.30 - Win2008 R2

2012-05-20 Thread ann ramos
Alex, you're a life-saver.
I checked my set up and I noticed that SERVICE is not included in the list of 
users with read/write access.
I added them and now my isapi log file is not empty anymore.

Thanks heaps for your silly question.  

Thanks to everyone who has spent time looking at my problem.




 From: Alex Samad - Yieldbroker alex.sa...@yieldbroker.com
To: Tomcat Users List users@tomcat.apache.org; ann ramos 
ramos_mary...@yahoo.com 
Sent: Monday, 21 May 2012 9:42 AM
Subject: RE: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 
7.0.26 - Isapi 1.2.30 - Win2008 R2
 
Silly question but does IIS have write permissions to the directory where you 
are writing the isapi log ?

A

-Original Message-
From: ann ramos [mailto:ramos_mary...@yahoo.com] 
Sent: Monday, 21 May 2012 9:19 AM
To: Tomcat Users List; Tomcat Users List
Subject: Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 
7.0.26 - Isapi 1.2.30 - Win2008 R2

Sorry about that.

So here's what I did.  I created a webapps folder for our application in 
Tomcat.  We're using IIS as the webserver, used the isapi redirector to make 
IIS and Tomcat interact.  Followed the steps here:  
http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html

So everything works fine.  The user can access the application.  I can see from 
the tomcat logs that our application is running.

The only thing is my isapi log file is always empty.  I never see any messages 
logged in there even though I set the log_level to debug.


Regards.




From: André Warnier a...@ice-sa.com
To: Tomcat Users List users@tomcat.apache.org 
Sent: Friday, 18 May 2012 5:18 PM
Subject: Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 
7.0.26 - Isapi 1.2.30 - Win2008 R2

ann ramos wrote:
 Hi,
 
 I have set up our system to do SSO.  The setup works fine because whenever 
 the user access the system, they are automatically logged in to the system.
 
 Following are the steps that I used to set up Isapi:
 1. Manually created the folders Apache Software Foundation\Jakarta Isapi 
 Redirector.  Then inside those folders I created a sub folder bin, conf and 
 log.
 2. I manually created the registry entries.  The set up works because the 
 system functions as SSO.
 
 The only thing is that my isapi_redirect.log is always empty even though I 
 set the log_level to debug. 
 I tried searching the internet but I'm not getting anywhere.
 
 I would appreciate any thoughts and ideas that you can share so I can resolve 
 my problem.  

Apart from your mention of Tomcat in the subject, it is not very clear so far 
if anything you're doing is accessing Tomcat through isapi_redirector (or even 
Tomcat at all).
Can you be a bit more explicit about what you are doing ?
And where the SSO part come into the picture here ?


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

RE: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 7.0.26 - Isapi 1.2.30 - Win2008 R2

2012-05-20 Thread Alex Samad - Yieldbroker
Pretty sure if you look back in the mailing list logs, I asked the same 
question :)

A

-Original Message-
From: ann ramos [mailto:ramos_mary...@yahoo.com] 
Sent: Monday, 21 May 2012 1:28 PM
To: Tomcat Users List
Subject: Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 
7.0.26 - Isapi 1.2.30 - Win2008 R2

Alex, you're a life-saver.
I checked my set up and I noticed that SERVICE is not included in the list of 
users with read/write access.
I added them and now my isapi log file is not empty anymore.

Thanks heaps for your silly question.  

Thanks to everyone who has spent time looking at my problem.




 From: Alex Samad - Yieldbroker alex.sa...@yieldbroker.com
To: Tomcat Users List users@tomcat.apache.org; ann ramos 
ramos_mary...@yahoo.com 
Sent: Monday, 21 May 2012 9:42 AM
Subject: RE: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 
7.0.26 - Isapi 1.2.30 - Win2008 R2
 
Silly question but does IIS have write permissions to the directory where you 
are writing the isapi log ?

A

-Original Message-
From: ann ramos [mailto:ramos_mary...@yahoo.com] 
Sent: Monday, 21 May 2012 9:19 AM
To: Tomcat Users List; Tomcat Users List
Subject: Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 
7.0.26 - Isapi 1.2.30 - Win2008 R2

Sorry about that.

So here's what I did.  I created a webapps folder for our application in 
Tomcat.  We're using IIS as the webserver, used the isapi redirector to make 
IIS and Tomcat interact.  Followed the steps here:  
http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html

So everything works fine.  The user can access the application.  I can see from 
the tomcat logs that our application is running.

The only thing is my isapi log file is always empty.  I never see any messages 
logged in there even though I set the log_level to debug.


Regards.




From: André Warnier a...@ice-sa.com
To: Tomcat Users List users@tomcat.apache.org 
Sent: Friday, 18 May 2012 5:18 PM
Subject: Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 
7.0.26 - Isapi 1.2.30 - Win2008 R2

ann ramos wrote:
 Hi,
 
 I have set up our system to do SSO.  The setup works fine because whenever 
 the user access the system, they are automatically logged in to the system.
 
 Following are the steps that I used to set up Isapi:
 1. Manually created the folders Apache Software Foundation\Jakarta Isapi 
 Redirector.  Then inside those folders I created a sub folder bin, conf and 
 log.
 2. I manually created the registry entries.  The set up works because the 
 system functions as SSO.
 
 The only thing is that my isapi_redirect.log is always empty even though I 
 set the log_level to debug. 
 I tried searching the internet but I'm not getting anywhere.
 
 I would appreciate any thoughts and ideas that you can share so I can resolve 
 my problem.  

Apart from your mention of Tomcat in the subject, it is not very clear so far 
if anything you're doing is accessing Tomcat through isapi_redirector (or even 
Tomcat at all).
Can you be a bit more explicit about what you are doing ?
And where the SSO part come into the picture here ?


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Isapi redirector log file is always empty - IIS 7.5 - Tomcat 7.0.26 - Isapi 1.2.30 - Win2008 R2

2012-05-18 Thread André Warnier

ann ramos wrote:

Hi,

I have set up our system to do SSO.  The setup works fine because whenever the 
user access the system, they are automatically logged in to the system.

Following are the steps that I used to set up Isapi:
1. Manually created the folders Apache Software Foundation\Jakarta Isapi 
Redirector.  Then inside those folders I created a sub folder bin, conf and log.
2. I manually created the registry entries.  The set up works because the 
system functions as SSO.

The only thing is that my isapi_redirect.log is always empty even though I set the log_level to debug. 


I tried searching the internet but I'm not getting anywhere.

I would appreciate any thoughts and ideas that you can share so I can resolve my problem.  



Apart from your mention of Tomcat in the subject, it is not very clear so far if anything 
you're doing is accessing Tomcat through isapi_redirector (or even Tomcat at all).

Can you be a bit more explicit about what you are doing ?
And where the SSO part come into the picture here ?


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Isapi redirector log file is always empty - IIS 7.5 - Tomcat 7.0.26 - Isapi 1.2.30 - Win2008 R2

2012-05-17 Thread ann ramos
Hi,

I have set up our system to do SSO.  The setup works fine because whenever the 
user access the system, they are automatically logged in to the system.

Following are the steps that I used to set up Isapi:
1. Manually created the folders Apache Software Foundation\Jakarta Isapi 
Redirector.  Then inside those folders I created a sub folder bin, conf and 
log.
2. I manually created the registry entries.  The set up works because the 
system functions as SSO.

The only thing is that my isapi_redirect.log is always empty even though I set 
the log_level to debug. 

I tried searching the internet but I'm not getting anywhere.

I would appreciate any thoughts and ideas that you can share so I can resolve 
my problem.  

Thanks and regards.

Peeves


Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-20 Thread Mladen Turk

On 03/20/2012 06:55 AM, Alex Samad - Yieldbroker wrote:





You should
1. Create a separate 'Unmanaged' application pool for isapi_redirect 2. Disable
recycling for that pool 3. Have multiple vhost mapping inside
uriworkermap.properties instead
 having multiple configuration files and instances for each vhost.
4. Use a single process for that pool.


Okay I can see that
Our original thinking was if we separate prd and uat, they could not affect 
each other.



Sure that's probably the only reason to have multiple instances and pools.
However this still does not require multiple worker processes or recycling.



:) true, but I don't believe the above is true on IIS/Windows.
The think I am unsure on is how the connector uses the shared memory
If its index (?) by the name of the worker thread or loadbalancer name then 
there will be a problem.

I have the same config in UAT and PRD.. and thus the same worker names and load 
balancer names



You will need to have /jakarta inside different 'Site' and each site bound to 
its own AppPool.
Shared memory is constructed from site name, so for example for 'Default Web 
Site'
it becomes something like JK_LOCALHOST_1_...

Suppose you have that separated already between production and staging.


Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-20 Thread Alex Samad - Yieldbroker


 -Original Message-
 From: Mladen Turk [mailto:mt...@apache.org]
 Sent: Tuesday, 20 March 2012 5:57 PM
 To: users@tomcat.apache.org
 Subject: Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI
 redirector 1.2.33
 
 On 03/20/2012 06:55 AM, Alex Samad - Yieldbroker wrote:
 
 
 
  You should
  1. Create a separate 'Unmanaged' application pool for isapi_redirect
  2. Disable recycling for that pool 3. Have multiple vhost mapping
  inside uriworkermap.properties instead
   having multiple configuration files and instances for each vhost.
  4. Use a single process for that pool.
 
  Okay I can see that
  Our original thinking was if we separate prd and uat, they could not affect
 each other.
 
 
 Sure that's probably the only reason to have multiple instances and pools.
 However this still does not require multiple worker processes or recycling.

Yep, I think the recycling and worker process was a hangover from the move from 
weblogic to tomcat (and iis 6.x)


 
 
  :) true, but I don't believe the above is true on IIS/Windows.
  The think I am unsure on is how the connector uses the shared memory
  If its index (?) by the name of the worker thread or loadbalancer name then
 there will be a problem.
 
  I have the same config in UAT and PRD.. and thus the same worker names
  and load balancer names
 
 
 You will need to have /jakarta inside different 'Site' and each site bound to 
 its
 own AppPool.

yep

 Shared memory is constructed from site name, so for example for 'Default Web
 Site'
 it becomes something like JK_LOCALHOST_1_...
 
 Suppose you have that separated already between production and staging.

Yep

So on the NLB / RP 

I have 

C:\ABC\ENV

Each env has

\wwwroot
\apjconfig
\other stuff

Apjconfig has the dll and the configs

Each environment has its own virtual site and each site has its own application 
pool

Thanks very much for your help on this 

Alex

 
 
 Regards
 --
 ^TM
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-19 Thread Mladen Turk

On 03/19/2012 12:00 AM, Alex Samad - Yieldbroker wrote:

Hi

Sorry it failed for me, started up, but I got some error messages

[Mon Mar 19 09:43:13.970 2012] [2096:2984] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer


This is caused by unable to allocate the buffer.
Now, it seems either memory is exhausted or shared memory still wrong (I recon 
its later)



[Mon Mar 19 09:49:52.489 2012] [5804:5836] [trace] jk_shm_open::jk_shm.c (158): 
enter
[Mon Mar 19 09:49:52.489 2012] [5804:5836] [debug] jk_shm_open::jk_shm.c (305): 
Initialized shared memory 
Global\JK_DEV_YIELDBROKER_COM_2_JAKARTA_ISAPI_REDIRECT size=1856 free=1728 
addr=0x1f
[Mon Mar 19 09:49:52.489 2012] [5804:5836] [trace] jk_shm_open::jk_shm.c (311): 
exit
[Mon Mar 19 09:49:52.504 2012] [5804:5836] [trace] jk_shm_open::jk_shm.c (158): 
enter
[Mon Mar 19 09:49:52.504 2012] [5804:5836] [debug] jk_shm_open::jk_shm.c (166): 
Shared memory is already opened
[Mon Mar 19 09:49:52.504 2012] [5804:5836] [trace] jk_shm_open::jk_shm.c (167): 
exit


That's weird. jk_shm_open gets called twice from the same process/thread.
Could you send me some more log data surrounding those two calls so I can 
figure out from
where init_jk was called.

Please use the newest build (#6)
from http://people.apache.org/~mturk/tomcat-connectors/jk-1.2.34/



Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org




Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-19 Thread Mladen Turk

On 03/19/2012 12:00 AM, Alex Samad - Yieldbroker wrote:

Hi
[Mon Mar 19 09:43:53.266 2012] [2516:1892] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer


Please use the newest build (#8)
from http://people.apache.org/~mturk/tomcat-connectors/jk-1.2.34/

There was a bug in shared memory sync caused by attaching
new process while there was request pending
In general caused by 'generation in future'.
Now the shared memory is synced only if we are below the
shared sequence.

I have verified locally that it works now and no more those
alloc failed errors (as well as none of the earlier one :)


Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-19 Thread Alex Samad - Yieldbroker
Hi 

Thanks, looks like this one is the winner !

Alex

-Original Message-
From: Mladen Turk [mailto:mt...@apache.org] 
Sent: Tuesday, 20 March 2012 1:43 AM
To: Tomcat Users List
Cc: Alex Samad - Yieldbroker
Subject: Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI 
redirector 1.2.33

On 03/19/2012 12:00 AM, Alex Samad - Yieldbroker wrote:
 Hi
 [Mon Mar 19 09:43:53.266 2012] [2516:1892] [error] 
 service::jk_lb_worker.c (1172): Failed allocating AJP message buffer

Please use the newest build (#8)
from http://people.apache.org/~mturk/tomcat-connectors/jk-1.2.34/

There was a bug in shared memory sync caused by attaching new process while 
there was request pending In general caused by 'generation in future'.
Now the shared memory is synced only if we are below the shared sequence.

I have verified locally that it works now and no more those alloc failed errors 
(as well as none of the earlier one :)


Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-19 Thread Alex Samad - Yieldbroker
Hi Mladen

Q) can I presume that this new version will not interfere with an old version 
1.2.32 ? as the mutex name used in this new one 1.2.34 wasn't used in 1.2.32 ?

Alex

-Original Message-
From: Alex Samad - Yieldbroker [mailto:alex.sa...@yieldbroker.com] 
Sent: Tuesday, 20 March 2012 11:13 AM
To: Tomcat Users List
Subject: RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI 
redirector 1.2.33

Hi 

Thanks, looks like this one is the winner !

Alex

-Original Message-
From: Mladen Turk [mailto:mt...@apache.org]
Sent: Tuesday, 20 March 2012 1:43 AM
To: Tomcat Users List
Cc: Alex Samad - Yieldbroker
Subject: Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI 
redirector 1.2.33

On 03/19/2012 12:00 AM, Alex Samad - Yieldbroker wrote:
 Hi
 [Mon Mar 19 09:43:53.266 2012] [2516:1892] [error] 
 service::jk_lb_worker.c (1172): Failed allocating AJP message buffer

Please use the newest build (#8)
from http://people.apache.org/~mturk/tomcat-connectors/jk-1.2.34/

There was a bug in shared memory sync caused by attaching new process while 
there was request pending In general caused by 'generation in future'.
Now the shared memory is synced only if we are below the shared sequence.

I have verified locally that it works now and no more those alloc failed errors 
(as well as none of the earlier one :)


Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

B CB  [  
X  ܚX KK[XZ[
 \ \  ][  X  ܚX P X ]
 \X K ܙ B  ܈Y][ۘ[  [X[  K[XZ[
 \ \  Z[ X ]
 \X K ܙ B 


RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-19 Thread Alex Samad - Yieldbroker
 -Original Message-
 From: Alex Samad - Yieldbroker [mailto:alex.sa...@yieldbroker.com]
[snip]

 
 Hi Mladen
 
 Q) can I presume that this new version will not interfere with an old version
 1.2.32 ? as the mutex name used in this new one 1.2.34 wasn't used in 1.2.32 ?

This has me thinking and think I have found another bug. :)

Our setup is IIS 7.5  setup as a Reverse proxy.  We run PRD, UAT through here. 
Trying to treat this an infrastructure box. We have 2 in a NLB setup

For each environment I have a separate web server and directory setup so

C:\ABC\
Prod\
Ajpconfig\
UAT\
Ajpconfig\

In each environment I have a ajpconfig directory where I put my dll and I keep 
all my config files for just that environment.

The idea was that I could have different version of the tomcat connector thus 
test stuff out in UAT and then move on to PRD.

BUT  there is no way to set the name space used in the tomcat connector in 
relation to the Shared Memory or to semaphore.

So Global\\JK_ISAPI_REDIRECT_MUTEX is used by all tomcat connectors (the ones 
in prod and the ones in UAT)

And I would presume the Shared Memory would also be shared between the 2 ?

Quote from the doco !
 The ISAPI redirector can read it's configuration from a properties file 
instead of the registry. This has the advantage that you can use multiple ISAPI 
redirectors with independent configurations on the same server. The redirector 
will check for the properties file during initialisation, and use it in 
preference to the registry if present.

You can't do this with the IIS connector and with multiple processes (web 
gardens)!

Could I make a bug/feature request to add something like 

Shm_namespace

To the isapi_redirect.properties file and have this value post fixed to the 
shared memory name and the semaphore handle... Doesn't make sense if configured 
via the registry 

I have create a bugzilla for this 
https://issues.apache.org/bugzilla/show_bug.cgi?id=52947 basically outlining 
what I have here.  The one thing I am not sure of is how much of a problem that 
is... 

The config files for uat and prd have different tomcat destinations, but the 
load balancer and  worker names are the same !!  The pathing is different though


The previous bug which I think this version fixes is 
https://issues.apache.org/bugzilla/show_bug.cgi?id=52659 which I guess can be 
closed

Thanks



 
 Alex
 
 -Original Message-
 From: Alex Samad - Yieldbroker [mailto:alex.sa...@yieldbroker.com]
[snip]


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-19 Thread Mladen Turk

On 03/20/2012 02:01 AM, Alex Samad - Yieldbroker wrote:

This has me thinking and think I have found another bug. :)

Our setup is IIS 7.5  setup as a Reverse proxy.  We run PRD, UAT through here. 
Trying to treat this an infrastructure box. We have 2 in a NLB setup

For each environment I have a separate web server and directory setup so

C:\ABC\
Prod\
Ajpconfig\
UAT\
Ajpconfig\

In each environment I have a ajpconfig directory where I put my dll and I keep 
all my config files for just that environment.

The idea was that I could have different version of the tomcat connector thus 
test stuff out in UAT and then move on to PRD.

BUT  there is no way to set the name space used in the tomcat connector in 
relation to the Shared Memory or to semaphore.

So Global\\JK_ISAPI_REDIRECT_MUTEX is used by all tomcat connectors (the ones 
in prod and the ones in UAT)



Yes, but thats used only inside jk_init and locks for 1ms during new worker 
process creation
while the isapi_redirect gets loaded to memory.

Like explained in BZ52659 you have things conceptually wrong.
isapi_redirect is proxy, it does its own connection pool management, recycling,
virtual host mapping handling etc.

You should
1. Create a separate 'Unmanaged' application pool for isapi_redirect
2. Disable recycling for that pool
3. Have multiple vhost mapping inside uriworkermap.properties instead
   having multiple configuration files and instances for each vhost.
4. Use a single process for that pool.

You can eventually have two separate pools (one for testing and other for 
production)



And I would presume the Shared Memory would also be shared between the 2 ?

Quote from the doco !
 The ISAPI redirector can read it's configuration from a properties file instead of 
the registry. This has the advantage that you can use multiple ISAPI redirectors with 
independent configurations on the same server. The redirector will check for the 
properties file during initialisation, and use it in preference to the registry if 
present.



If something is possible it doesn't mean you should use it in production and in 
all cases.


You can't do this with the IIS connector and with multiple processes (web 
gardens)!



Again, you should think 'differently'
Entire IIS worker process recycling is meant for handling crappy .NET 
applications with memory and resource leaks.
isapi_redirect is proxy, nothing else, nothing more.



Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-19 Thread Alex Samad - Yieldbroker


 -Original Message-
 From: Mladen Turk [mailto:mt...@apache.org]
 Sent: Tuesday, 20 March 2012 4:09 PM
 To: users@tomcat.apache.org
 Subject: Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI
 redirector 1.2.33
 
 On 03/20/2012 02:01 AM, Alex Samad - Yieldbroker wrote:
  This has me thinking and think I have found another bug. :)
 
  Our setup is IIS 7.5  setup as a Reverse proxy.  We run PRD, UAT
  through here. Trying to treat this an infrastructure box. We have 2 in
  a NLB setup
 
  For each environment I have a separate web server and directory setup
  so
 
  C:\ABC\
  Prod\
  Ajpconfig\
  UAT\
  Ajpconfig\
 
  In each environment I have a ajpconfig directory where I put my dll and I 
  keep
 all my config files for just that environment.
 
  The idea was that I could have different version of the tomcat connector 
  thus
 test stuff out in UAT and then move on to PRD.
 
  BUT  there is no way to set the name space used in the tomcat connector in
 relation to the Shared Memory or to semaphore.
 
  So Global\\JK_ISAPI_REDIRECT_MUTEX is used by all tomcat connectors
  (the ones in prod and the ones in UAT)
 
 
 Yes, but thats used only inside jk_init and locks for 1ms during new worker
 process creation while the isapi_redirect gets loaded to memory.
 
 Like explained in BZ52659 you have things conceptually wrong.
 isapi_redirect is proxy, it does its own connection pool management, 
 recycling,
 virtual host mapping handling etc.

I'm a linux guy stuck in a MS world :)

 
 You should
 1. Create a separate 'Unmanaged' application pool for isapi_redirect 2. 
 Disable
 recycling for that pool 3. Have multiple vhost mapping inside
 uriworkermap.properties instead
 having multiple configuration files and instances for each vhost.
 4. Use a single process for that pool.

Okay I can see that
Our original thinking was if we separate prd and uat, they could not affect 
each other.

Say for example right now where I want to test the new connector
I have tested on dev, but the spec of the machine is not the same as the 
prod/uat setup

I can't have separating logging all the prd/uat/sim will go into 1 set of files

Apart for the separation of prod and testing Minor.

 
 You can eventually have two separate pools (one for testing and other for
 production)
 
 
  And I would presume the Shared Memory would also be shared between the 2
 ?
 
  Quote from the doco !
   The ISAPI redirector can read it's configuration from a properties file 
  instead
 of the registry. This has the advantage that you can use multiple ISAPI
 redirectors with independent configurations on the same server. The redirector
 will check for the properties file during initialisation, and use it in 
 preference to
 the registry if present.
 
 
 If something is possible it doesn't mean you should use it in production and 
 in all
 cases.

:) true, but I don't believe the above is true on IIS/Windows.  
The think I am unsure on is how the connector uses the shared memory
If its index (?) by the name of the worker thread or loadbalancer name then 
there will be a problem.

I have the same config in UAT and PRD.. and thus the same worker names and load 
balancer names

If its worker name and dest server ip  (this I believe to be more likely) then 
it should be okay...

 
  You can't do this with the IIS connector and with multiple processes (web
 gardens)!
 
 
 Again, you should think 'differently'
 Entire IIS worker process recycling is meant for handling crappy .NET
 applications with memory and resource leaks.
 isapi_redirect is proxy, nothing else, nothing more.

Yep understand, it was out tool for invoking this bug, as it also happened upon 
reboot of the server or restart of IIS

 
 
 
 Regards
 --
 ^TM
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org



Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Mladen Turk

On 03/16/2012 04:27 PM, Konstantin Preißer wrote:

Hi all,

I have a system with Windows Server 2008 32 bit, IIS 7.0, Java 1.7.0_03, Tomcat 
7.0.26 and the ISAPI redirector.



Guys,

Please try the binaries from:
http://people.apache.org/~mturk/tomcat-connectors/jk-1.2.34/

They contain two fixes:
1. Make sure we fallback to heap memory in case shared cannot be created
2. Fix shared memory create/open arguments

The point is that is that we should have correct [error] log
entries in case shared memory open fails.
If it fails you should have [warn] line, load balancer will not
function properly across multiple processes (will inside each of the process)
but it shouldn't crash.

I'd appreciate if you can check that ASAP cause we have regression in httpd
implementation so new version will be out in couple of days.


Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Konstantin Preißer
Hello Mladen,

 -Original Message-
 From: Mladen Turk [mailto:mt...@apache.org]
 Sent: Sunday, March 18, 2012 8:46 AM
 To: users@tomcat.apache.org
 Cc: verlag.preis...@t-online.de; alex.sa...@yieldbroker.com
 Subject: Re: IIS 7.0 Worker process crashes on App Pool recycling since
 ISAPI redirector 1.2.33
 
 
 Guys,
 
 Please try the binaries from:
 http://people.apache.org/~mturk/tomcat-connectors/jk-1.2.34/
 
 They contain two fixes:
 1. Make sure we fallback to heap memory in case shared cannot be
 created
 2. Fix shared memory create/open arguments
 
 The point is that is that we should have correct [error] log
 entries in case shared memory open fails.
 If it fails you should have [warn] line, load balancer will not
 function properly across multiple processes (will inside each of the
 process)
 but it shouldn't crash.
 

Thank you very much. I tried the new version, and now when the Application Pool 
is recycled, the logs show these:

[Sun Mar 18 12:10:36.324 2012] [4144:6216] [error] jk_shm_open::jk_shm.c (220): 
Failed to map shared memory JK_TTWEBINFO_DYNDNS_ORG_8_JAKARTA2_ISAPI_REDIRECT 
with errno=87
[Sun Mar 18 12:10:36.337 2012] [4144:6216] [error] init_jk::jk_isapi_plugin.c 
(2801): Initializing shm:(null) errno=87. Load balancer will not work properly!

But w3wp.exe doesn't crash anymore, so I think it is fixed. (I'm wondering now 
why mapping the shared memory fails..)


Thanks,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Mladen Turk

On 03/18/2012 12:16 PM, Konstantin Preißer wrote:

Hello Mladen,


Thank you very much. I tried the new version, and now when the Application Pool 
is recycled, the logs show these:

[Sun Mar 18 12:10:36.324 2012] [4144:6216] [error] jk_shm_open::jk_shm.c (220): 
Failed to map shared memory JK_TTWEBINFO_DYNDNS_ORG_8_JAKARTA2_ISAPI_REDIRECT 
with errno=87
[Sun Mar 18 12:10:36.337 2012] [4144:6216] [error] init_jk::jk_isapi_plugin.c 
(2801): Initializing shm:(null) errno=87. Load balancer will not work properly!

But w3wp.exe doesn't crash anymore, so I think it is fixed. (I'm wondering now 
why mapping the shared memory fails..)



Thanks for looking at this promptly!

Could you try with the new builds
http://people.apache.org/~mturk/tomcat-connectors/jk-1.2.34/
(isapi_redirect_1.2.34_2-dev_winXX.zip)

I added Global\\ prefix to shared memory name so that it can
be shared from multiple processes.
Also check if the errno changed from 87 (ERROR_INVALID_PARAMETER)



Thanks
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Mladen Turk

On 03/18/2012 02:34 PM, Mladen Turk wrote:

On 03/18/2012 12:16 PM, Konstantin Preißer wrote:

Hello Mladen,


Thank you very much. I tried the new version, and now when the Application Pool 
is recycled, the logs show these:

[Sun Mar 18 12:10:36.324 2012] [4144:6216] [error] jk_shm_open::jk_shm.c (220): 
Failed to map shared memory JK_TTWEBINFO_DYNDNS_ORG_8_JAKARTA2_ISAPI_REDIRECT 
with errno=87
[Sun Mar 18 12:10:36.337 2012] [4144:6216] [error] init_jk::jk_isapi_plugin.c 
(2801): Initializing shm:(null) errno=87. Load balancer will not work properly!

But w3wp.exe doesn't crash anymore, so I think it is fixed. (I'm wondering now 
why mapping the shared memory fails..)



Thanks for looking at this promptly!

Could you try with the new builds
http://people.apache.org/~mturk/tomcat-connectors/jk-1.2.34/
(isapi_redirect_1.2.34_2-dev_winXX.zip)



Forget about that one. I'll create a new one in 20 minutes


Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Mladen Turk

On 03/18/2012 02:40 PM, Mladen Turk wrote:

On 03/18/2012 02:34 PM, Mladen Turk wrote:

On 03/18/2012 12:16 PM, Konstantin Preißer wrote:

Hello Mladen,


Thank you very much. I tried the new version, and now when the Application Pool 
is recycled, the logs show these:

[Sun Mar 18 12:10:36.324 2012] [4144:6216] [error] jk_shm_open::jk_shm.c (220): 
Failed to map shared memory JK_TTWEBINFO_DYNDNS_ORG_8_JAKARTA2_ISAPI_REDIRECT 
with errno=87
[Sun Mar 18 12:10:36.337 2012] [4144:6216] [error] init_jk::jk_isapi_plugin.c 
(2801): Initializing shm:(null) errno=87. Load balancer will not work properly!

But w3wp.exe doesn't crash anymore, so I think it is fixed. (I'm wondering now 
why mapping the shared memory fails..)



Thanks for looking at this promptly!

Could you try with the new builds
http://people.apache.org/~mturk/tomcat-connectors/jk-1.2.34/
(isapi_redirect_1.2.34_2-dev_winXX.zip)





Please use isapi_redirect_1.2.34_3-dev_winXX.zip instead.

Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Konstantin Preißer
Hi Mladen,

 -Original Message-
 From: Mladen Turk [mailto:mt...@apache.org]
 Sent: Sunday, March 18, 2012 2:54 PM
 To: Tomcat Users List
 Subject: Re: IIS 7.0 Worker process crashes on App Pool recycling since
 ISAPI redirector 1.2.33
 
 
 Please use isapi_redirect_1.2.34_3-dev_winXX.zip instead.

Thank you.

I tried with isapi_redirect_1.2.34_3-dev_win32.zip, but unfortunately it seems 
that it causes w3wp.exe to crash again :(

Logs:
[Sun Mar 18 15:05:48.648 2012] [7588:5124] [error] 
ajp_worker_factory::jk_ajp_common.c (3006): allocating ajp worker record from 
shared memory
[Sun Mar 18 15:05:48.661 2012] [7588:5124] [error] 
wc_create_worker::jk_worker.c (150): factory for ajp13 failed for worker1
[Sun Mar 18 15:05:48.669 2012] [7588:5124] [error] 
build_worker_map::jk_worker.c (261): failed to create worker worker1
[Sun Mar 18 15:05:48.677 2012] [7588:5124] [error] 
extension_fix::jk_uri_worker_map.c (554): Could not find worker with name 
'worker1' in uri map post processing.


Thanks,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Mladen Turk

On 03/18/2012 03:11 PM, Konstantin Preißer wrote:

Hi Mladen,


-Original Message-
From: Mladen Turk [mailto:mt...@apache.org]
Sent: Sunday, March 18, 2012 2:54 PM
To: Tomcat Users List
Subject: Re: IIS 7.0 Worker process crashes on App Pool recycling since
ISAPI redirector 1.2.33


Please use isapi_redirect_1.2.34_3-dev_winXX.zip instead.


Thank you.

I tried with isapi_redirect_1.2.34_3-dev_win32.zip, but unfortunately it seems 
that it causes w3wp.exe to crash again :(



Could you please try the isapi_redirect_1.2.34_5-dev_win32.zip
If this one crashes we'll have to add some override to shared memory so we can 
fallback
to heap one and bypass memory corruption which seems to occur at IIS worker 
recycle.


Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Mladen Turk

On 03/18/2012 08:30 PM, Alex Samad - Yieldbroker wrote:

Hi

Guys (Konstantin, Mladen), goo d work, sorry caught me on a Sunday, else I 
would have chipped in.

Just wondering (thinking a bit left field), but  question was asked of me.  Any 
reason to have a shm across processes.



So that worker state is replicated across processes.
Eg, if connection to one backend is broken each process will
have to discover that by itself. Shared memory allows that if
one worker process discovers that a backend is down other won't
have to go trough the lengthy process of discovering that.

Also loadbalancer load factors are calculated across all processes
not just for the current one. So, the benefits are real.

However unlike with httpd, IIS does not offer parent/child
concept so we don't have the shared memory 'controller'.
The ultimate solution would be to start a separate controller
process, but that's probably something for the future.

Even if the current set of patches work, I'm more convinced
we should have a directive to disable shared memory usage, and
think I'm going to add that option for 1.2.34 anyhow.


Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Alex Samad - Yieldbroker
[snip]

  Just wondering (thinking a bit left field), but  question was asked of me.
 Any reason to have a shm across processes.
 
 
 So that worker state is replicated across processes.
 Eg, if connection to one backend is broken each process will have to discover
 that by itself. Shared memory allows that if one worker process discovers
 that a backend is down other won't have to go trough the lengthy process of
 discovering that.
 
 Also loadbalancer load factors are calculated across all processes not just 
 for
 the current one. So, the benefits are real.

Not deny that, just thinking out aloud, also been asking myself if there is any 
reason  to run a 4 process web garden. The only benefit I can see is that if 1 
process dies there will be other process to continue processing.

1 process + threads v's X processes + threads


 
 However unlike with httpd, IIS does not offer parent/child concept so we
 don't have the shared memory 'controller'.
 The ultimate solution would be to start a separate controller process, but
 that's probably something for the future.
 
 Even if the current set of patches work, I'm more convinced we should have
 a directive to disable shared memory usage, and think I'm going to add that
 option for 1.2.34 anyhow.

So would that effectively do what I was suggesting above ?


Thanks
 
 
 Regards
 --
 ^TM
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org



Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread verlag.preis...@t-online.de
-Original-Nachricht-
 Von: Mladen Turk mt...@apache.org
 An: users@tomcat.apache.org
 Betreff: Re: IIS 7.0 Worker process crashes on App Pool recycling
 since ISAPI redirector 1.2.33
 Datum: Sun, 18 Mar 2012 18:39:15 +0100
 
 Could you please try the isapi_redirect_1.2.34_5-dev_win32.zip
 If this one crashes we'll have to add some override to shared memory
 so we can fallback to heap one and bypass memory corruption which
 seems to occur at IIS worker recycle.

Hi Mladen,

thank you, I tried isapi_redirect_1.2.34_5-dev_win32.zip and so far no crashes, 
and also no warnings/errors in the ISAPI log.
It seems the issue is fixed now.

Thanks,
Konstantin Preißer



-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Mladen Turk

On 03/18/2012 09:34 PM, verlag.preis...@t-online.de wrote:

-Original-Nachricht-

Von: Mladen Turkmt...@apache.org
An: users@tomcat.apache.org
Betreff: Re: IIS 7.0 Worker process crashes on App Pool recycling
since ISAPI redirector 1.2.33
Datum: Sun, 18 Mar 2012 18:39:15 +0100

Could you please try the isapi_redirect_1.2.34_5-dev_win32.zip
If this one crashes we'll have to add some override to shared memory
so we can fallback to heap one and bypass memory corruption which
seems to occur at IIS worker recycle.


Hi Mladen,

thank you, I tried isapi_redirect_1.2.34_5-dev_win32.zip and so far no crashes, 
and also no warnings/errors in the ISAPI log.
It seems the issue is fixed now.



Cool. Thanks again for testing those.
We'll release 1.2.34 by the end of this week probably.

Regards
--
^TM

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-18 Thread Alex Samad - Yieldbroker
Hi

Sorry it failed for me, started up, but I got some error messages

I have 4 processes setup for non-overlapping recycle

Log 1
Log 2
[Mon Mar 19 09:43:13.970 2012] [2096:2984] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:43:13.986 2012] [2096:2984] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500
[Mon Mar 19 09:43:14.079 2012] [2096:2984] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:43:14.079 2012] [2096:2984] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500
[Mon Mar 19 09:43:53.453 2012] [2096:2288] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:43:53.453 2012] [2096:2288] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500

Log3
[Mon Mar 19 09:43:53.359 2012] [3388:2244] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:43:53.359 2012] [3388:2244] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500
[Mon Mar 19 09:43:53.391 2012] [3388:2276] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:43:53.391 2012] [3388:2276] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500
[Mon Mar 19 09:43:53.484 2012] [3388:2244] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:43:53.484 2012] [3388:2244] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500

Log4
[Mon Mar 19 09:43:53.266 2012] [2516:1892] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:43:53.313 2012] [2516:1892] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500
[Mon Mar 19 09:43:53.359 2012] [2516:2776] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:43:53.359 2012] [2516:2776] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500
[Mon Mar 19 09:43:53.500 2012] [2516:2776] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:43:53.547 2012] [2516:2776] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500


I started IIS, used my client app to connect.. that worked well, only 4 
connects, then started my stress test, with 500 users.  Basically 500 users 
connecting to IIS.  Failed with these errors. Using performance monitor I can 
see that the number of ISAPI Extension requests is increasing 

I turned on trace ( I can send you the files if you needed) and it seemed to 
work okay (I wonder if the serialisation into logging has something to do with 
it !
Found these 

[Mon Mar 19 09:49:52.489 2012] [5804:5836] [trace] jk_shm_open::jk_shm.c (158): 
enter
[Mon Mar 19 09:49:52.489 2012] [5804:5836] [debug] jk_shm_open::jk_shm.c (305): 
Initialized shared memory 
Global\JK_DEV_YIELDBROKER_COM_2_JAKARTA_ISAPI_REDIRECT size=1856 free=1728 
addr=0x1f
[Mon Mar 19 09:49:52.489 2012] [5804:5836] [trace] jk_shm_open::jk_shm.c (311): 
exit
[Mon Mar 19 09:49:52.504 2012] [5804:5836] [trace] jk_shm_open::jk_shm.c (158): 
enter
[Mon Mar 19 09:49:52.504 2012] [5804:5836] [debug] jk_shm_open::jk_shm.c (166): 
Shared memory is already opened
[Mon Mar 19 09:49:52.504 2012] [5804:5836] [trace] jk_shm_open::jk_shm.c (167): 
exit
[Mon Mar 19 09:49:52.504 2012] [5804:5836] [trace] wc_open::jk_worker.c (50): 
enter
[Mon Mar 19 09:49:52.504 2012] [5804:5836] [debug] jk_map_dump::jk_map.c (589): 
Dump of map: 'worker.maintain' - '60'

I still have a lot of stale ISAPA extension request's

I have tried to restart IIS, whilst my client is trying to talk over 500 
connections, with failed request tracking on I get 500/200 ? 
Notification 128 Internal Server Error


Only 1 of the 4 logs files has this is there

[Mon Mar 19 09:58:27.878 2012] [2620:4636] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:58:27.894 2012] [2620:4636] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500
[Mon Mar 19 09:58:27.910 2012] [2620:4636] [error] service::jk_lb_worker.c 
(1172): Failed allocating AJP message buffer
[Mon Mar 19 09:58:27.910 2012] [2620:4636] [error] 
HttpExtensionProc::jk_isapi_plugin.c (2325): service() failed with http error 
500


Thanks
Alex

-Original Message-
From: Mladen Turk [mailto:mt...@apache.org] 
Sent: Monday, 19 March 2012 8:34 AM
To: users@tomcat.apache.org
Subject: Re: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI 
redirector 1.2.33

On 03/18/2012 09:34 PM, verlag.preis...@t-online.de wrote:
 -Original-Nachricht-
 Von: Mladen Turkmt...@apache.org
 An: users@tomcat.apache.org
 Betreff: Re: IIS

IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-16 Thread Konstantin Preißer
Hi all,

I have a system with Windows Server 2008 32 bit, IIS 7.0, Java 1.7.0_03, Tomcat 
7.0.26 and the ISAPI redirector.

Since I updated the ISAPI redirector from 1.2.32 to 1.2.33, it seems that each 
time when IIS tries to recycle its application pool, the IIS worker process 
(w3wp.exe) crashes in isapi_redirect.dll. In the event log, an Application 
Error of w3wp.exe is logged (here is an English translation):

Faulty application w3wp.exe, Version 7.0.6002.18005, time stamp 0x49e023cf, 
faulty module isapi_redirect.dll, Version 1.2.33.0, time stamp 0x4f59be7d, 
exception code 0xc005, error offset 0x0002bb16, process ID 0x10f0, 
application start time 01cd0336e5b7824a.
(The process ID does not match the one of w3wp.exe before the crash, nor the 
one after the crash, so it seems a bit like when the new w3wp.exe is launched 
after recycle, it crashes and immediately another w3wp.exe is started).


In the ISAPI log, following lines appear when w3wp.exe crashes:
[Fri Mar 16 06:37:38.402 2012] [4336:6828] [error] 
ajp_worker_factory::jk_ajp_common.c (3006): allocating ajp worker record from 
shared memory
[Fri Mar 16 06:37:38.417 2012] [4336:6828] [error] 
wc_create_worker::jk_worker.c (150): factory for ajp13 failed for worker1
[Fri Mar 16 06:37:38.426 2012] [4336:6828] [error] 
build_worker_map::jk_worker.c (261): failed to create worker worker1
[Fri Mar 16 06:37:38.434 2012] [4336:6828] [error] 
extension_fix::jk_uri_worker_map.c (554): Could not find worker with name 
'worker1' in uri map post processing.

Any idea what these lines could mean / that caused them? Note that it seems 
that after the crash (when a new w3wp.exe is created), pages are served fine 
again (though I do not know what happens with request that are made exactly in 
the time when IIS resets the app pool).
The crashes and these log lines didn't appear in ISAPI 1.2.32.

I think I read somewhere in the thread Issues with the tomcat connector (On 
W2k8 + IIS7.5) about some change in the ISAPI connector which has to do with 
shared memory, but I'm not sure.

Thanks!


Regards,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-16 Thread Konstantin Preißer
 
 Any idea what these lines could mean / that caused them? Note that it
 seems that after the crash (when a new w3wp.exe is created), pages are
 served fine again (though I do not know what happens with request that
 are made exactly in the time when IIS resets the app pool).
 The crashes and these log lines didn't appear in ISAPI 1.2.32.
 

Sorry, forgot to post my configuration:

uriworkersmap.properties:

  /*=worker1


workers.properties:

  # Define 1 real worker using ajp13
  worker.list=worker1
  # Set properties for worker1 (ajp13)
  worker.worker1.type=ajp13
  worker.worker1.host=localhost
  worker.worker1.port=8019


Thanks,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-16 Thread Alex Samad - Yieldbroker


 -Original Message-
 From: Konstantin Preißer [mailto:verlag.preis...@t-online.de]
 Sent: Saturday, 17 March 2012 2:31 AM
 To: 'Tomcat Users List'
 Subject: RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI
 redirector 1.2.33
 
 
  Any idea what these lines could mean / that caused them? Note that it
  seems that after the crash (when a new w3wp.exe is created), pages are
  served fine again (though I do not know what happens with request that
  are made exactly in the time when IIS resets the app pool).
  The crashes and these log lines didn't appear in ISAPI 1.2.32.

Hi

1.2.32 was doing that for me.. 1.2.33 was meant to fix it, but I can't get 
1.2.33 to load.

Do you use overlapping recycle and a web garden ?

Alex

 
 
 Sorry, forgot to post my configuration:
 
 uriworkersmap.properties:
 
   /*=worker1
 
 
 workers.properties:
 
   # Define 1 real worker using ajp13
   worker.list=worker1
   # Set properties for worker1 (ajp13)
   worker.worker1.type=ajp13
   worker.worker1.host=localhost
   worker.worker1.port=8019
 
 
 Thanks,
 Konstantin Preißer
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-16 Thread Konstantin Preißer
Hi Alex,

 -Original Message-
 From: Alex Samad - Yieldbroker [mailto:alex.sa...@yieldbroker.com]
 Sent: Friday, March 16, 2012 5:23 PM
 To: Tomcat Users List
 Subject: RE: IIS 7.0 Worker process crashes on App Pool recycling since
 ISAPI redirector 1.2.33
 
 Hi
 
 1.2.32 was doing that for me.. 1.2.33 was meant to fix it, but I can't
 get 1.2.33 to load.
 
 Do you use overlapping recycle and a web garden ?
 
 Alex
 

Thanks for your reply.
I don't think I'm using a web garden - I just have one application pool for all 
virtual hosts which use the ISAPI redirector, and that application pool 
consists of a maximum of 1 worker process (the default IIS values). It is set 
to be recycled every 1740 minutes, and disallowOverlappingRotation for that 
pool is set to false - I guess that means I'm using overlapping recycle (a 
new w3wp.exe is started which takes new requests, and after all old requests 
are finished, the old w3wp.exe will be stopped).

Thanks,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: IIS 7.0 Worker process crashes on App Pool recycling since ISAPI redirector 1.2.33

2012-03-16 Thread Alex Samad - Yieldbroker

[snip]
 
  Hi
 
  1.2.32 was doing that for me.. 1.2.33 was meant to fix it, but I can't
  get 1.2.33 to load.
 
  Do you use overlapping recycle and a web garden ?
 
  Alex
 
 
 Thanks for your reply.
 I don't think I'm using a web garden - I just have one application pool for 
 all
 virtual hosts which use the ISAPI redirector, and that application pool 
 consists
 of a maximum of 1 worker process (the default IIS values). It is set to be
 recycled every 1740 minutes, and disallowOverlappingRotation for that
 pool is set to false - I guess that means I'm using overlapping recycle (a 
 new
 w3wp.exe is started which takes new requests, and after all old requests are
 finished, the old w3wp.exe will be stopped).

The 1 processor thread is the key.  The problem I summarised with 1.2.32 is 
that the shared memory is not protected by a OS semaphore, but an in process 
semaphore...  1.2.33 was mean to address this by changing from an inprocess 
semaphore to a OS  semaphore.

I am surprised  you have 1.2.33 loading and working, every time I try to load 
it crashes out on me.

Only quick solution I can think is that you move back to 1.2.32 :)

You might want to trial the system under load. I found that if you had about 
500 connections all try and reconnect at the same time with overlapping 
recycling it would corrupt the sharememory it was a bit of a silent killer for 
us.

 
 Thanks,
 Konstantin Preißer
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-08-23 Thread Konstantin Preißer
 -Original Message-
 From: Christopher Schultz [mailto:ch...@christopherschultz.net]
 Sent: Tuesday, July 26, 2011 6:15 PM
 To: Tomcat Users List
 Subject: Re: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector
 1.2.32
 
 Konstantin,
 
 Such a class would definitely be useful to post on the Wiki.
 

Hi Christopher,

Some days ago I made an entry in the Tomcat Wiki with such a OutputStream 
decorator class:
http://wiki.apache.org/tomcat/FAQ/KnownIssues#ImageIOIssues

I see that you changed the flush() method in the decorator class to pass 
flush() calls to the underlying stream as long as the stream is set to be 
active.

The reason that I didn't make this call-through was because it seems that 
flush() is the only method called by the ImageIO (when the Image Writer is 
garbage collected), and by preventing any pass-through of flush(), no errors 
can occur.

When flush() of the decorator class passes its call to the original stream as 
long as it's active, there may be a race condition between the request 
processing thread of the Servlet and the GC thread which collects the Image 
Writer, which possibly (but highly unlikely) could cause a flush() call (from 
GC thread) on the already closed stream, even if the isActive flag is 
volatile (please correct me if I'm wrong - I'm not a expert in how GC is 
working).

Also, it seems that ImageIO is calling flush() a few times while writing an 
image, and I wanted to avoid the unnecessary flush() calls. ;-)


Regards,

Konstantin Preißer 


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-08-23 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Konstantin,

On 8/23/2011 4:02 PM, Konstantin Preißer wrote:
 I see that you changed the flush() method in the decorator class to
  pass flush() calls to the underlying stream as long as the stream
 is set to be active.
 
 The reason that I didn't make this call-through was because it
 seems that flush() is the only method called by the ImageIO (when
 the Image Writer is garbage collected), and by preventing any 
 pass-through of flush(), no errors can occur.
 
 When flush() of the decorator class passes its call to the original
  stream as long as it's active, there may be a race condition
 between the request processing thread of the Servlet and the GC
 thread which collects the Image Writer, which possibly (but highly
 unlikely) could cause a flush() call (from GC thread) on the
 already closed stream, even if the isActive flag is volatile
 (please correct me if I'm wrong - I'm not a expert in how GC is
 working).

I added the flush() pass-through in case you actually wanted to flush
the stream. It seems reasonable that you might want to flush the
buffer at some point, and turning flush() into a no-op didn't seem
like a good idea.

I would expect the image writer to be available for GC after the
request was processed, but I guess the request could have operations
after the ImageIO is actually done and you're right: the GC could
kick-in virtually at any time. If you use your wrapper class as a
fire-and-forget kind of thing while maintaining the original reference
to the OutputStream, I suppose you still have complete control over
flushing that underlying stream.

 Also, it seems that ImageIO is calling flush() a few times while 
 writing an image, and I wanted to avoid the unnecessary flush() 
 calls. ;-)

That's a different story :)

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk5UEXkACgkQ9CaO5/Lv0PCiNQCgu1foU5uwo63iExja+Wf+WPys
8iIAoJRaIucq9losxjKp0kkhUs6ycZYj
=HDoE
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-08-03 Thread eurotrans-Verlag

 -Original Message-
 From: Christopher Schultz [mailto:ch...@christopherschultz.net]
 Sent: Tuesday, July 26, 2011 6:15 PM
 To: Tomcat Users List
 Subject: Re: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector
 1.2.32
 
 You should also null-out the reference to Tomcat's output stream.
 
 This would allow you to leak your own decorator objects but not
 interfere with Tomcat's ability to do it's own object management.
 
 Such a class would definitely be useful to post on the Wiki.
 

Hi Christopher,

thanks for your reply (and sorry for the delay).


What would be the best place to post such a class (plus the information about 
the ImageIO) on the Tomcat Wiki / is there any guide how to write articles 
there?


Thanks!

Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-26 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Konstantin,

On 7/13/2011 6:53 PM, eurotrans-Verlag wrote:
 Thanks. In the meantime, I also came to that conclusion and replaced
 all instances of
 
 ImageIO.write(img, PNG, response.getOutputStream())
 
 in my servlets/webapps with something like
 
 ByteArrayOutputStream bout = new ByteArrayOutputStream(); 
 ImageIO.write(img, PNG, bout); 
 bout.writeTo(response.getOutputStream());
 
 so that the ImageIO never sees the real OutputStream, and it seems to
 work fine (no more IllegalStateExceptions or wrong message format
 errors in the isapi log when using AJP-APR).

Wow, I'm surprised that had an effect. Or, rather, I'm surprised that
ImageIO doesn't have decent object reference management.

 Is that a good practice (using ByteArrayOutputStream, then copy it to
 the response) to dynamically generate Images and serve them to the
 clients?

There is a downside: you need a bunch of temporary memory available to
perform these image manipulations. ImageIO uses a lots of memory
already, and now you are going to have to buffer the entire output image
before the first byte is written back to the client. That means no
streaming whatsoever, which might strain your resources.

You might want to look at your heap size, average image size, and
estimated user load to determine if you want to do something like put a
hard limit on the number of image transformations that can be performed
simultaneously. Otherwise, you risk OOME.

 Also, is there any hint to this on the Tomcat documentation/wiki?
 Because I don't think it would be unusual to dynamically generate
 images and serve them to clients using the ImageIO, and I think it
 could be a bit frustrating to find the actual problem if one doesn't
 know this.

Tomcat obviously can't document all foreign API problems out there, but
it might be worth mentioning this one on the Wiki somewhere. Feel free
to create a wiki account and create a new page for these kinds of things.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk4u5yMACgkQ9CaO5/Lv0PDMGQCfSLZ1BpdK7GVqd5wh+ZjYzFTA
H50AoIzjIoX6r72h4k1/VMLLqBjNPSI8
=V6o8
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-26 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Konstantin,

On 7/14/2011 8:41 AM, eurotrans-Verlag wrote:
 An alternative that I could imagine, would be to create a class
 (that has a boolean flag) which extends OutputStream, and decorates
 another OutputStream that is given to the class in the constructor
 (that would be the OutputStream from the servlet's response). This
 class would pass all calls to it to the other OutputStream (as long
 as the flag is true), and as soon as close() or another special
 method is called, it sets the flag to false, which causes all other
 methods to do nothing (or throw an IOException). That way, Tomcat's
 OutputStream would also be protected from future calls from the
 ImageIO.

You should also null-out the reference to Tomcat's output stream.

This would allow you to leak your own decorator objects but not
interfere with Tomcat's ability to do it's own object management.

Such a class would definitely be useful to post on the Wiki.

 However, it seems also a bit strange to me that Tomcat is recycling 
 OutputStreams, because in my understanding, once an OutputStream is 
 closed, it should be impossible to do any further write() calls to 
 it.

True, but Tomcat tries to avoid as much memory churn as possible, and
re-uses objects whenever possible. You can change this behavior with
configuration if you want.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk4u6AQACgkQ9CaO5/Lv0PD6cACfW4BS55+FtwpK3ZonNjOuvfPV
v+MAn3iCTpTSI+FOBkgdI9UOZD4YvsM6
=oazD
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-25 Thread eurotrans-Verlag
Hi all,

 
 An alternative that I could imagine, would be to create a class (that has
a
 boolean flag) which extends OutputStream, and decorates another
OutputStream
 that is given to the class in the constructor (that would be the
 OutputStream from the servlet's response). This class would pass all calls
 to it to the other OutputStream (as long as the flag is true), and as soon
 as close() or another special method is called, it sets the flag to false,
 which causes all other methods to do nothing (or throw an IOException).
That
 way, Tomcat's OutputStream would also be protected from future calls
 from the ImageIO.
 

I now use a OutputStream decorator like this when calling ImageIO.write():

public class ImageIOBetterOutputStream extends OutputStream {
private OutputStream out; // the actual stream
private volatile boolean isActive = true;

public ImageIOBetterOutputStream (OutputStream out) {
this.out = out;
}

@Override
public void close() throws IOException {
if (isActive) {
isActive = false; // deactivate
try {
out.close();
} finally {
out = null;
}
}
}

@Override
public void flush() throws IOException {
// do nothing
}

@Override
public void write(byte[] b, int off, int len) throws IOException {
if (isActive) {
out.write(b, off, len);
}
}

[...] (overwrite the other methods the same way)
}

That way, I don't have to use a ByteArrayOutputStream to buffer the contents
in memory, and Tomcat's OutputStream is also protected from future calls to
flush() from the ImageIO (I just have to make sure that the call to close()
is inside a finally-block). (If flush() is the only method that the ImageIO
calls after an IOException, it probably would be enough to overwrite flush()
only). Since I'm using this class as OutputStream for the ImageIO, there
also haven't been any more errors.


 I agree that this behavior of the ImageIO is very strange (flushing the
 OutputStream when the ImageWriter gets garbage-collected, if an
IOException
 was thrown when the IIO previously tried to write to the stream).
 However, it seems also a bit strange to me that Tomcat is recycling
OutputStreams,
 because in my understanding, once an OutputStream is closed, it should
 be impossible to do any further write() calls to it.
 
 May I ask, what is the particular reason for Tomcat to recycle
 OutputStreams?

Does anyone have a clue about this? I can understand recycling objects like
the Request/Response objects (e.g. if they contain lots of fields), but at
the moment I don't have an idea why it would be useful to recycle
OutputStream objects.


 Also, is there any hint to this on the Tomcat documentation/wiki? Because
I
 don't think it would be unusual to dynamically generate images and
 serve them to clients using the ImageIO, and I think it could be a bit
 frustrating to find the actual problem if one doesn't know this.

I couldn't find any hints about this in the Tomcat documentation/wiki, but I
think it should be mentioned somewhere. Of course, the behavior of the
ImageIO is strange, but Tomcat's recycling of OutputStreams enable the
errors when using the ImageIO.
If it is desired, maybe I could contribute something to this topic for
docs/wiki?


Regards,

Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-14 Thread André Warnier

eurotrans-Verlag wrote:

Hi Rainer,


-Original Message-
From: Rainer Jung [mailto:rainer.j...@kippdata.de]
Sent: Thursday, July 14, 2011 12:17 AM
At least there was trouble about Java2D for several users in the past.
One such issue:

https://issues.apache.org/bugzilla/show_bug.cgi?id=41772
http://nerd.dk/blogs/bug-tomcat-or-java2d

but you might find more.

Regards,

Rainer



Thanks. In the meantime, I also came to that conclusion and replaced all
instances of

ImageIO.write(img, PNG, response.getOutputStream())

in my servlets/webapps with something like

ByteArrayOutputStream bout = new ByteArrayOutputStream();
ImageIO.write(img, PNG, bout);
bout.writeTo(response.getOutputStream());

so that the ImageIO never sees the real OutputStream, and it seems to work
fine (no more IllegalStateExceptions or wrong message format errors in the
isapi log when using AJP-APR).

Is that a good practice (using ByteArrayOutputStream, then copy it to the
response) to dynamically generate Images and serve them to the clients?
Also, is there any hint to this on the Tomcat documentation/wiki? Because I
don't think it would be unusual to dynamically generate images and serve
them to clients using the ImageIO, and I think it could be a bit frustrating
to find the actual problem if one doesn't know this.



As a comment purely from a general programming point of view, not a Java/Tomcat 
programming point of view :


I am not familiar with the ByteArrayOutputStream, but from your usage of it above it seems 
to be a buffer in memory to which one can write, and with a special writeTo method which 
must be an efficient way to copy its contents to another stream.


If so, whether it is good practice or not would depend entirely on your particular 
circumstances : the size of the images you are handling this way, the number of 
simultaneous requests which you are handling, how much memory you have to play with, and 
how fast your CPU is.

It is sometimes surprising to make the calculation.

By writing an image first to a memory buffer, you use up the additional memory of that 
buffer, which is equal to the output size of your image, plus the overhead of the 
ByteArrayOutputStream structure.


So let's use some totally arbitrary parameters, just for the sake of an example 
:
- let's say that ByteArrayOutputStream has 50% overhead. So to store 250 KB of data, in 
reality uses up 375 KB of RAM
- you serve up to 100 basic browser page requests at a time (that is, the base html pages 
which include the images)

- each such page contains 4 (links to) images
- each image is on average 250 KB in size (a small jpeg)
- the browsers themselves, when finding image links in a page, will issue up to 4 
simultaneous requests for those images (the last time I looked, quite a long time ago, 
browsers only requested 2 things in parallel, but they might have improved since)


So you could in theory have 400 simultaneous requests, for 400 images, each 250 
KB in size.
Thus your Tomcat server (supposing it can handle 400 threads at a time) would be creating 
400 instances of ByteArrayOutputStream, and

- first filling them up until they reach 250 KB of data
- then copying this data back onto the Response output stream
- then discarding the ByteArrayOutputStream

So, compared to using the Response output stream directly, you would now use an 
additional
(375 KB X 400) = 150,000 KB = about 150 MB additional Heap space

That seems reasonable to me.
But of course it would be a problem if you are currently running Tomcat with a 
128 MB heap.
Or if your images, instead of being 250 KB on average, would be 250 MB.
Or if filling up - and reading back - the ByteArrayOutputStream was very inefficient and 
used up all your CPU time.


On the other hand, the alternative is to have broken responses, so it may be better to add 
some RAM to the system.


Note: the above calculation is probably quite questionable.  But it provides a quick 
estimate, that may be roughly within a factor 10 of reality.
I use this often at the beginning of a project, to at least get an idea whether something 
seems reasonable/feasible, or is totally off-kilter.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-14 Thread eurotrans-Verlag
Hi André,

 -Original Message-
 From: André Warnier [mailto:a...@ice-sa.com]
 Sent: Thursday, July 14, 2011 1:00 PM
 To: Tomcat Users List
 Subject: Re: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector
 1.2.32
 
 As a comment purely from a general programming point of view, not a
 Java/Tomcat
 programming point of view :
 
 I am not familiar with the ByteArrayOutputStream, but from your usage
 of it above it seems
 to be a buffer in memory to which one can write, and with a special
 writeTo method which
 must be an efficient way to copy its contents to another stream.
 
 If so, whether it is good practice or not would depend entirely on your
 particular
 circumstances : the size of the images you are handling this way, the
 number of
 simultaneous requests which you are handling, how much memory you have
 to play with, and
 how fast your CPU is.
 It is sometimes surprising to make the calculation.
 
 (...)
 
 So, compared to using the Response output stream directly, you would
 now use an additional
 (375 KB X 400) = 150,000 KB = about 150 MB additional Heap space
 
 That seems reasonable to me.
 But of course it would be a problem if you are currently running Tomcat
 with a 128 MB heap.
 Or if your images, instead of being 250 KB on average, would be 250 MB.
 Or if filling up - and reading back - the ByteArrayOutputStream was
 very inefficient and
 used up all your CPU time.
 
 On the other hand, the alternative is to have broken responses, so it
 may be better to add
 some RAM to the system.
 


Thanks for your long response.

Your assumption about ByteArrayOutputStream is correct: It buffers the
contents written to it in a byte array, which automatically grows if its
capacity is exceeded, by factor 2.

However I think the memory is not a big issue here, because the data that is
written to the ByteArrayOutputStream is the compressed version of an image
that is already in RAM, and that is usually much bigger than the compressed
form. For example, when I have a BufferedImage of 800x600 pixel and 24 bit
per pixel (TYPE_INT_RGB), it consumes 800*600*3 bytes = 1,37 MiB in memory.
The size of the compressed form varies from file type (JPEG, PNG, ...) and
the contents of the image, but if I would save it as JPEG for example, it
will only take about 200 KiB, which is much less than the uncompressed form
in the memory.

An alternative that I could imagine, would be to create a class (that has a
boolean flag) which extends OutputStream, and decorates another OutputStream
that is given to the class in the constructor (that would be the
OutputStream from the servlet's response). This class would pass all calls
to it to the other OutputStream (as long as the flag is true), and as soon
as close() or another special method is called, it sets the flag to false,
which causes all other methods to do nothing (or throw an IOException). That
way, Tomcat's OutputStream would also be protected from future calls from
the ImageIO.


I agree that this behavior of the ImageIO is very strange (flushing the
OutputStream when the ImageWriter gets garbage-collected, if an IOException
was thrown when the IIO previously tried to write to the stream). However,
it seems also a bit strange to me that Tomcat is recycling OutputStreams,
because in my understanding, once an OutputStream is closed, it should be
impossible to do any further write() calls to it.

May I ask, what is the particular reason for Tomcat to recycle
OutputStreams?


Thanks!

Regards,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-13 Thread Rainer Jung
On 13.07.2011 00:36, eurotrans-Verlag wrote:

 Hmm, could it be that the Java ImageIO is re-using OutputStreams after
 calling ImageIO.write(img, PNG, out), so that I'm getting such a
 IllegalStateException? (I think I read somewhere that Tomcat is recycling
 OutputStream objects)
 Maybe that could also explain the AJP errors I got.

At least there was trouble about Java2D for several users in the past.
One such issue:

https://issues.apache.org/bugzilla/show_bug.cgi?id=41772
http://nerd.dk/blogs/bug-tomcat-or-java2d

but you might find more.

Regards,

Rainer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-13 Thread eurotrans-Verlag
Hi Rainer,

 -Original Message-
 From: Rainer Jung [mailto:rainer.j...@kippdata.de]
 Sent: Thursday, July 14, 2011 12:17 AM
 At least there was trouble about Java2D for several users in the past.
 One such issue:
 
 https://issues.apache.org/bugzilla/show_bug.cgi?id=41772
 http://nerd.dk/blogs/bug-tomcat-or-java2d
 
 but you might find more.
 
 Regards,
 
 Rainer
 

Thanks. In the meantime, I also came to that conclusion and replaced all
instances of

ImageIO.write(img, PNG, response.getOutputStream())

in my servlets/webapps with something like

ByteArrayOutputStream bout = new ByteArrayOutputStream();
ImageIO.write(img, PNG, bout);
bout.writeTo(response.getOutputStream());

so that the ImageIO never sees the real OutputStream, and it seems to work
fine (no more IllegalStateExceptions or wrong message format errors in the
isapi log when using AJP-APR).

Is that a good practice (using ByteArrayOutputStream, then copy it to the
response) to dynamically generate Images and serve them to the clients?
Also, is there any hint to this on the Tomcat documentation/wiki? Because I
don't think it would be unusual to dynamically generate images and serve
them to clients using the ImageIO, and I think it could be a bit frustrating
to find the actual problem if one doesn't know this.


Thanks!


Regards,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-12 Thread eurotrans-Verlag
 
 However, when I switch to AJP BIO, it seems that the errors go away.
 

Although I now switched to AJP-BIO (by deleting/renaming tcnative-1.dll),
today morning I got an error again in the ISAPI log:

[Tue Jul 12 06:04:49.812 2011] [4124:2444] [error]
ajp_connection_tcp_get_message::jk_ajp_common.c (1296): wrong message format
0xdaed from 127.0.0.1:8019
[Tue Jul 12 06:04:49.825 2011] [4124:2444] [error]
ajp_get_reply::jk_ajp_common.c (2148): (worker1) Tomcat is down or network
problems. Part of the response has already been sent to the client

This is how the AJP connector is configured in Tomcat:

Connector port=8019 protocol=AJP/1.3 redirectPort=8743
URIEncoding=UTF-8 maxThreads=1024 /


Any idea what could cause this errors?


I don't know it that matters, but with one webapp, I'm using COM4J to access
COM objects on the Windows system (but I want to get rid of it in the
future).


Thanks,

Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-12 Thread André Warnier

eurotrans-Verlag wrote:

However, when I switch to AJP BIO, it seems that the errors go away.



Although I now switched to AJP-BIO (by deleting/renaming tcnative-1.dll),
today morning I got an error again in the ISAPI log:

[Tue Jul 12 06:04:49.812 2011] [4124:2444] [error]
ajp_connection_tcp_get_message::jk_ajp_common.c (1296): wrong message format
0xdaed from 127.0.0.1:8019
[Tue Jul 12 06:04:49.825 2011] [4124:2444] [error]
ajp_get_reply::jk_ajp_common.c (2148): (worker1) Tomcat is down or network
problems. Part of the response has already been sent to the client

This is how the AJP connector is configured in Tomcat:

Connector port=8019 protocol=AJP/1.3 redirectPort=8743
URIEncoding=UTF-8 maxThreads=1024 /


Any idea what could cause this errors?


I don't know it that matters, but with one webapp, I'm using COM4J to access
COM objects on the Windows system (but I want to get rid of it in the
future).




Can you take a part of this setup out of the equation ?

For example, at the moment you have

browser - IIS - isapi_redir. - AJP Connector:8019 - Tomcat+webapp

Could you eliminate the IIS + Isapi_redir part, having Tomcat listen on port 80/HTTP, like 
this :


browser - HTTP Connector:80 - Tomcat+webapp

?

or like this, by using Apache httpd instead of IIS :

browser - Apache - mod_jk - AJP Connector:8019 - Tomcat+webapp

This may help pinpointing where the problem is, since you mentioned earlier that you can 
reproduce the problem by pressing F5 in Firefox.



-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-12 Thread eurotrans-Verlag
Hi André,

 -Original Message-
 From: André Warnier [mailto:a...@ice-sa.com]
 Sent: Tuesday, July 12, 2011 9:25 PM
 
 Can you take a part of this setup out of the equation ?
 
 For example, at the moment you have
 
 browser - IIS - isapi_redir. - AJP Connector:8019 -
 Tomcat+webapp
 
 Could you eliminate the IIS + Isapi_redir part, having Tomcat listen on
 port 80/HTTP, like
 this :
 
 browser - HTTP Connector:80 - Tomcat+webapp
 
 ?
 
 or like this, by using Apache httpd instead of IIS :
 
 browser - Apache - mod_jk - AJP Connector:8019 - Tomcat+webapp
 
 This may help pinpointing where the problem is, since you mentioned
 earlier that you can
 reproduce the problem by pressing F5 in Firefox.
 

Unfortunately, I can't replace IIS with Apache or direct Tomcat HTTP
connector, as that webapp is on a public server where also other websites
are hosted, using IIS.
But perhaps I can see if I can reproduce the problem in a virtual machine.

Please note that I could only reproduce the problems that occurred before
switching from AJP-APR to AJP-BIO. There I could reproduce them by pressing
and holding F5 in Firefox for some seconds, but after I switched to AJP-BIO,
that didn't worked. The error message I wrote in the last mail did I see
when I read the isapi logs today.


Today I also got another strange exception in Tomcat (I don't know if it has
anything to do with the AJP errors):

13.07.2011 00:13:51 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet [hauptSeite.HauptServlet] in
context with path [] threw exception
java.lang.IllegalStateException: Cannot create a session after the response
has been committed
at
org.apache.catalina.connector.Request.doGetSession(Request.java:2734)
at
org.apache.catalina.connector.Request.getSession(Request.java:2244)
at
org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:89
9)
at common.Common2.getSession(Common2.java:102)
at hauptSeite.HauptServlet.doThings(HauptServlet.java:136)
at hauptSeite.HauptServlet.doGet(HauptServlet.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:304)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:164)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:462)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100
)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:118)
at
org.apache.catalina.valves.CrawlerSessionManagerValve.invoke(CrawlerSessionM
anagerValve.java:172)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:292)
at
org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.j
ava:143)
at
org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.j
ava:129)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:
309)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
va:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
08)
at java.lang.Thread.run(Thread.java:662)

This appeared some minutes ago. I also have seen this Exception some times
on JSP pages, but not on a normal Servlet (for JSP pages, the stack trace
contained at
org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:
65) and that was before any custom JSP code).

This above error is from a WebApp that I use for hosting images. The stack
trace seems to indicate that a response has been committed before a session
is created, however I absolutely never send any response before creating a
session in that Servlet (I call response.getWriter() or
response.getOutputStream several lines after I call request.getSession(true)
). 


Hmm, could it be that the Java ImageIO is re-using OutputStreams after
calling ImageIO.write(img, PNG, out), so that I'm getting such a
IllegalStateException? (I think I read somewhere that Tomcat is recycling
OutputStream objects)
Maybe that could also explain the AJP errors I got.


Regards,

Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: 

AJP-APR failures on Tomcat 7.0.16 with ISAPI Redirector 1.2.32

2011-07-10 Thread eurotrans-Verlag
Hi all,

I have a system with Windows Server 2008 (32 bit), Sun/Oracle JDK 1.6.0_26
and I’m using Tomcat 7.0.16 with Tomcat Native 1.1.20, and IIS 7.0 with
ISAPI Redirector 1.2.32. For AJP, I use the AJP-APR connector.

Sometimes, when many requests are sent to a webapp in short time, some
requests fail, and the ISAPI log (log_level=error) says:

[Sun Jul 10 21:35:55.061 2011] [580:5032] [error]
ajp_get_reply::jk_ajp_common.c (2187): (worker1) Tomcat already send headers
[Sun Jul 10 21:35:55.071 2011] [580:5032] [error]
ajp_service::jk_ajp_common.c (2600): (worker1) sending request to tomcat
failed (unrecoverable),  (attempt=1)
[Sun Jul 10 21:35:55.080 2011] [580:5032] [error]
HttpExtensionProc::jk_isapi_plugin.c (2261): service() failed with http
error 502
[Sun Jul 10 21:35:55.087 2011] [580:4776] [error]
ajp_get_reply::jk_ajp_common.c (2187): (worker1) Tomcat already send headers
[Sun Jul 10 21:35:55.097 2011] [580:4776] [error]
ajp_service::jk_ajp_common.c (2600): (worker1) sending request to tomcat
failed (unrecoverable),  (attempt=1)
[Sun Jul 10 21:35:55.104 2011] [580:4776] [error]
HttpExtensionProc::jk_isapi_plugin.c (2261): service() failed with http
error 502
[Sun Jul 10 21:37:20.662 2011] [5696:3220] [error]
ajp_connection_tcp_get_message::jk_ajp_common.c (1296): wrong message format
0x3000 from 127.0.0.1:8019
[Sun Jul 10 21:37:20.679 2011] [5696:3220] [error]
ajp_get_reply::jk_ajp_common.c (2118): (worker1) Tomcat is down or refused
connection. No response has been sent to the client (yet)
[Sun Jul 10 21:42:56.105 2011] [580:5032] [error]
ajp_connection_tcp_get_message::jk_ajp_common.c (1296): wrong message format
0x3000 from 127.0.0.1:8019
[Sun Jul 10 21:42:56.135 2011] [580:5032] [error]
ajp_get_reply::jk_ajp_common.c (2118): (worker1) Tomcat is down or refused
connection. No response has been sent to the client (yet)
[Sun Jul 10 21:42:56.149 2011] [580:3100] [error]
ajp_get_reply::jk_ajp_common.c (2187): (worker1) Tomcat already send headers
[Sun Jul 10 21:42:56.160 2011] [580:3100] [error]
ajp_service::jk_ajp_common.c (2600): (worker1) sending request to tomcat
failed (unrecoverable),  (attempt=1)
[Sun Jul 10 21:42:56.168 2011] [580:3100] [error]
HttpExtensionProc::jk_isapi_plugin.c (2261): service() failed with http
error 502
[Sun Jul 10 21:45:49.849 2011] [580:4532] [error]
ajp_connection_tcp_get_message::jk_ajp_common.c (1296): wrong message format
0x3000 from 127.0.0.1:8019
[Sun Jul 10 21:45:49.867 2011] [580:4532] [error]
ajp_get_reply::jk_ajp_common.c (2118): (worker1) Tomcat is down or refused
connection. No response has been sent to the client (yet)

However I didn't see any errors in the Tomcat logs.

I could reproduce the errors by pressing F5 in Firefox several seconds, so
that FF makes a lot of requests in a short time.

However, when I switch to AJP BIO, it seems that the errors go away.


Please note that I'm also using the Java ImageIO to produce and serve images
with some servlets. I think somewhere I read that using the ImageIO with APR
connectors could cause problems. Is this correct? If yes, does that mean
that I have to stick with the AJP BIO (or NIO?) connector, instead of AJP
APR; or does anybody know why there are these errors?


Thanks.


Regards,
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Canceling Download on IIS7 with ISAPI Redirector 1.2.31 causes 100% CPU usage

2011-05-21 Thread Tim Whittington
It looks like this is a regression in 1.2.31 - the socket shutdown
code that drained the response message from the AJP socket before
closing it was mis-counting the bytes read, causing a CPU busy loop
until it hit a 30 second cap on lingering byte reads.

I've committed a fix for 1.2.32 and also capped the amount of data
that the socket shutdown will read to 32k, and the total time to drain
the socket to 2s.

cheers
tim

On Mon, May 16, 2011 at 1:09 PM, verlag.preis...@t-online.de
verlag.preis...@t-online.de wrote:
 Hi Tim,

 This sounds like
 https://issues.apache.org/bugzilla/show_bug.cgi?id=50839
 If you can capture a TRACE level log form the Tomcat Connector
 (configure in isapi_redirect.properties) and attach it to the bug,
 I'll take a look.

 cheers
 tim

 Thanks! I will attach a Trace level log from the Redirector there.



 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Canceling Download on IIS7 with ISAPI Redirector 1.2.31 causes 100% CPU usage

2011-05-16 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

André,

On 5/14/2011 4:01 PM, André Warnier wrote:
 eurotrans-Verlag wrote:
 However I would expect write() to always throw an IOException when the
 connection to the client is aborted, 
 
 Remember, there are 2 separate connections : the connection of the
 client to IIS+isapi_redirector, and the connection from
 IIS+isapi_redirector to Tomcat+servlet.
 The servlet will only throw an I/O exception if that second connection
 is closed.

+1

If the ISAPI redirector works anything like mod_jk, then the connection
is expected to be persistent. That means the redirector might end up
reading a lot of data and throwing it into the bit bucket.

If ISAPI redirector connections are /not/ intended to be persistent,
then the redirector should be terminating the connection with Tomcat as
soon as possible. You should only have to wait for a buffer to fill-up
before an error is detected, which shouldn't be long at all.

If reading and discarding the data sends the CPU high, there might be a
bug in there... maybe a buffer that is too small or a loop that either
doesn't do enough work in it's body (a tight loop) or is doing too
much useless work (like re-calculating a value that might be constant
during the loop).

 I have no idea.  We need Mladen or Rainer here..

I think so. I've looked at the mod_jk code before for certain things and
while it's fairly straightforward, it is certainly extensive.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk3RUuIACgkQ9CaO5/Lv0PBPJQCgqcGo1rvFpjCOjzcMx17GS2cm
C2YAn0BETp2I6HK7fJrLLx0BBvMdvFwg
=vUDE
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Canceling Download on IIS7 with ISAPI Redirector 1.2.31 causes 100% CPU usage

2011-05-15 Thread Tim Whittington
This sounds like https://issues.apache.org/bugzilla/show_bug.cgi?id=50839

If you can capture a TRACE level log form the Tomcat Connector
(configure in isapi_redirect.properties) and attach it to the bug,
I'll take a look.

cheers
tim

On Sun, May 15, 2011 at 1:20 AM, eurotrans-Verlag
verlag.preis...@t-online.de wrote:
 Hello everybody,

 I stumbled upon a strange problem with the ISAPI Redirector 1.2.31 on
 Windows Server 2008 SP2 (32 bit) with IIS 7.0. The problem is, that when a
 Servlet is generating lots of data (e.g. 200 MB) and a user downloads it
 over the Isapi Redirector/IIS7, and cancels the download, the IIS Worker
 process (w3wp.exe) will have 100% CPU usage for about 30 seconds. However if
 the download is completed normally (not canceled), everything is fine and
 the CPU usage will not go up that far.

 The exact Components used are:
 Windows Server 2008 SP2 (32 bit) with IIS 7.0,
 Sun JDK 1.6.0_25,
 Tomcat 7.0.14,
 ISAPI Redirector 1.2.31.

 I could reproduce the problem with a clean install of these components.

 To reproduce:
 1. Install Tomcat and the ISAPI Redirector on a Windows Server 2008 SP2 IIS
 7.0 system, as described in the Tomcat Connectors Documentation
 (The problem occurs with both settings of enable_chunked_encoding, true
 and false).

 2. Create a Servlet or JSP that produces some huge amount of random data,
 for example:

 @WebServlet(/DownloadServlet)
 public class DownloadServlet extends HttpServlet {
        protected void doGet(HttpServletRequest request, HttpServletResponse
 response) throws ServletException, IOException {
                response.setContentType(application/x-msdownload);
                OutputStream out = response.getOutputStream();
                Random r = new Random();
                byte[] content = new byte[1024];
                for (int i = 0; i  content.length; i++)
                        content[i] = (byte) (r.nextFloat() * 256);
                for (int i = 0; i  20; i++)
                        out.write(content);
                out.close();
        }
 }

 3. Request the Servlet or JSP through the IIS port with a browser. After
 some seconds, cancel the download.

 4. One thread of the IIS Worker Process (w3wp.exe) will have 100% CPU usage
 for some time (about 30 seconds), before it normalizes to 0%.
 Note that is does not happen every time. Sometimes you will have to repeat
 starting and canceling the download until the problem occurs.

 5. In the ISAPI log, following lines are logged (log_level=info):
 [Sat May 14 14:48:55.654 2011] [3508:3560] [error]
 isapi_write_client::jk_isapi_plugin.c (1210): WriteClient failed with 995
 (0x03e3)
 [Sat May 14 14:48:55.654 2011] [3508:3560] [info]
 ajp_process_callback::jk_ajp_common.c (1885): Writing to client aborted or
 client network problems
 [Sat May 14 14:48:55.654 2011] [3508:3560] [info]
 ajp_service::jk_ajp_common.c (2543): (worker1) sending request to tomcat
 failed (unrecoverable), because of client write error (attempt=1)
 [Sat May 14 14:48:55.669 2011] [3508:3560] [info]
 HttpExtensionProc::jk_isapi_plugin.c (2217): service() failed because client
 aborted connection

 These lines are logged immediately after the client cancels the connection
 (not after the CPU usage of w3wp.exe goes down).

 The worker process continues normally after the CPU usage went down.

 However, if one would do this repeatedly, it could enable DoS attacks,
 couldn't it?
 What would cause these excessive CPU usages of the IIS worker process when
 the user cancels the download?


 Thanks for your help.

 Konstantin Preißer


 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Canceling Download on IIS7 with ISAPI Redirector 1.2.31 causes 100% CPU usage

2011-05-15 Thread verlag.preis...@t-online.de
Hi Tim,

 This sounds like
 https://issues.apache.org/bugzilla/show_bug.cgi?id=50839 
 If you can capture a TRACE level log form the Tomcat Connector
 (configure in isapi_redirect.properties) and attach it to the bug,
 I'll take a look.
 
 cheers
 tim

Thanks! I will attach a Trace level log from the Redirector there.



-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Canceling Download on IIS7 with ISAPI Redirector 1.2.31 causes 100% CPU usage

2011-05-14 Thread eurotrans-Verlag
Hello everybody,

I stumbled upon a strange problem with the ISAPI Redirector 1.2.31 on
Windows Server 2008 SP2 (32 bit) with IIS 7.0. The problem is, that when a
Servlet is generating lots of data (e.g. 200 MB) and a user downloads it
over the Isapi Redirector/IIS7, and cancels the download, the IIS Worker
process (w3wp.exe) will have 100% CPU usage for about 30 seconds. However if
the download is completed normally (not canceled), everything is fine and
the CPU usage will not go up that far.

The exact Components used are:
Windows Server 2008 SP2 (32 bit) with IIS 7.0,
Sun JDK 1.6.0_25,
Tomcat 7.0.14,
ISAPI Redirector 1.2.31.

I could reproduce the problem with a clean install of these components.

To reproduce:
1. Install Tomcat and the ISAPI Redirector on a Windows Server 2008 SP2 IIS
7.0 system, as described in the Tomcat Connectors Documentation
(The problem occurs with both settings of enable_chunked_encoding, true
and false).

2. Create a Servlet or JSP that produces some huge amount of random data,
for example:

@WebServlet(/DownloadServlet)
public class DownloadServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response.setContentType(application/x-msdownload);
OutputStream out = response.getOutputStream();
Random r = new Random();
byte[] content = new byte[1024];
for (int i = 0; i  content.length; i++)
content[i] = (byte) (r.nextFloat() * 256);
for (int i = 0; i  20; i++)
out.write(content);
out.close();
}
}

3. Request the Servlet or JSP through the IIS port with a browser. After
some seconds, cancel the download.

4. One thread of the IIS Worker Process (w3wp.exe) will have 100% CPU usage
for some time (about 30 seconds), before it normalizes to 0%.
Note that is does not happen every time. Sometimes you will have to repeat
starting and canceling the download until the problem occurs.

5. In the ISAPI log, following lines are logged (log_level=info):
[Sat May 14 14:48:55.654 2011] [3508:3560] [error]
isapi_write_client::jk_isapi_plugin.c (1210): WriteClient failed with 995
(0x03e3)
[Sat May 14 14:48:55.654 2011] [3508:3560] [info]
ajp_process_callback::jk_ajp_common.c (1885): Writing to client aborted or
client network problems
[Sat May 14 14:48:55.654 2011] [3508:3560] [info]
ajp_service::jk_ajp_common.c (2543): (worker1) sending request to tomcat
failed (unrecoverable), because of client write error (attempt=1)
[Sat May 14 14:48:55.669 2011] [3508:3560] [info]
HttpExtensionProc::jk_isapi_plugin.c (2217): service() failed because client
aborted connection

These lines are logged immediately after the client cancels the connection
(not after the CPU usage of w3wp.exe goes down).

The worker process continues normally after the CPU usage went down.

However, if one would do this repeatedly, it could enable DoS attacks,
couldn't it?
What would cause these excessive CPU usages of the IIS worker process when
the user cancels the download?


Thanks for your help.

Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Canceling Download on IIS7 with ISAPI Redirector 1.2.31 causes 100% CPU usage

2011-05-14 Thread André Warnier

eurotrans-Verlag wrote:

Hello everybody,

I stumbled upon a strange problem with the ISAPI Redirector 1.2.31 on
Windows Server 2008 SP2 (32 bit) with IIS 7.0. The problem is, that when a
Servlet is generating lots of data (e.g. 200 MB) and a user downloads it
over the Isapi Redirector/IIS7, and cancels the download, the IIS Worker
process (w3wp.exe) will have 100% CPU usage for about 30 seconds. However if
the download is completed normally (not canceled), everything is fine and
the CPU usage will not go up that far.

The exact Components used are:
Windows Server 2008 SP2 (32 bit) with IIS 7.0,
Sun JDK 1.6.0_25,
Tomcat 7.0.14,
ISAPI Redirector 1.2.31.

I could reproduce the problem with a clean install of these components.

To reproduce:
1. Install Tomcat and the ISAPI Redirector on a Windows Server 2008 SP2 IIS
7.0 system, as described in the Tomcat Connectors Documentation
(The problem occurs with both settings of enable_chunked_encoding, true
and false).

2. Create a Servlet or JSP that produces some huge amount of random data,
for example:

@WebServlet(/DownloadServlet)
public class DownloadServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response.setContentType(application/x-msdownload);
OutputStream out = response.getOutputStream();
Random r = new Random();
byte[] content = new byte[1024];
for (int i = 0; i  content.length; i++)
content[i] = (byte) (r.nextFloat() * 256);
for (int i = 0; i  20; i++)
out.write(content);
out.close();
}
}

3. Request the Servlet or JSP through the IIS port with a browser. After
some seconds, cancel the download.

4. One thread of the IIS Worker Process (w3wp.exe) will have 100% CPU usage
for some time (about 30 seconds), before it normalizes to 0%.
Note that is does not happen every time. Sometimes you will have to repeat
starting and canceling the download until the problem occurs.

5. In the ISAPI log, following lines are logged (log_level=info):
[Sat May 14 14:48:55.654 2011] [3508:3560] [error]
isapi_write_client::jk_isapi_plugin.c (1210): WriteClient failed with 995
(0x03e3)
[Sat May 14 14:48:55.654 2011] [3508:3560] [info]
ajp_process_callback::jk_ajp_common.c (1885): Writing to client aborted or
client network problems
[Sat May 14 14:48:55.654 2011] [3508:3560] [info]
ajp_service::jk_ajp_common.c (2543): (worker1) sending request to tomcat
failed (unrecoverable), because of client write error (attempt=1)
[Sat May 14 14:48:55.669 2011] [3508:3560] [info]
HttpExtensionProc::jk_isapi_plugin.c (2217): service() failed because client
aborted connection

These lines are logged immediately after the client cancels the connection
(not after the CPU usage of w3wp.exe goes down).

The worker process continues normally after the CPU usage went down.

However, if one would do this repeatedly, it could enable DoS attacks,
couldn't it?
What would cause these excessive CPU usages of the IIS worker process when
the user cancels the download?



A guess :
IIS and the isapi_redirector are one process, and Tomcat and the servlet are another 
process.  The isapi_redirector makes a connection to Tomcat, sends the request over it.
The servlet starts running and producing output, quite a lot and quite fast, over that 
connection.

The isapi_redirector reads the servlet output, and writes it to the client 
connection.
Now the client closes the connection, and isapi_redirector finds a closed socket the next 
time it tries to write to the client.  It writes this error to the logfile, and stops 
trying to send output to the client (well, it cannot anymore, the socket is closed).

But in the meantime the servlet keeps producing output and sending it to 
isapi_redirector.
So either isapi_redirector has a way to stop the servlet and discarding any servlet output 
still pending, or else it is forced to read and discard whatever the servlet is still 
sending, until the servlet decides to stop by itself.
Maybe the 100% CPU usage is happening while isapi_redirector is reading and discarding 
whatever remains of the servlet output ?  Since there is no client connection anymore to 
slow things down, this is bound to be rather fast and cpu-intensive.


To figure out if this is what's happening, you could do some logging at the servlet end, 
to see if it keeps sending data even when the client has canceled, or if it itself gets 
some stop indication from the isapi_redirector (also a closed socket e.g.).


Or else Mladen or Rainer could tell us if I'm totally off-base here.



-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Canceling Download on IIS7 with ISAPI Redirector 1.2.31 causes 100% CPU usage

2011-05-14 Thread eurotrans-Verlag
Hi André, thanks for your reply.

 To figure out if this is what's happening, you could do some logging at
 the servlet end,
 to see if it keeps sending data even when the client has canceled, or
 if it itself gets
 some stop indication from the isapi_redirector (also a closed socket
 e.g.).
 
 Or else Mladen or Rainer could tell us if I'm totally off-base here.


I added some logging to the Servlet to see what it is actually doing
(logging the start and end of the doGet() method and every time 2 MB are
written, and I also put the write loop in a try-catch clause to catch
IOException).

You are right: When I start the download, the servlet writes the bytes
slowly (due to the speed of the Connection) to the output. However, when I
then cancel the download, it writes the remaining bytes very fast, probably
causing the high CPU usage of the ISAPI redirector.

But in some cases, the result is another: After I canceled the download, the
write() method throws an IOException:
ClientAbortException:  java.io.IOException: Failed to send AJP message

and the remaining bytes are not written, so the CPU usage does not go up to
100% (That's probably the other case I mentioned before, that sometimes the
CPU usage doesn't go up).

However I would expect write() to always throw an IOException when the
connection to the client is aborted, but it seems that in most cases, the
IOException is not thrown, thus causing the servlet to write the remaining
bytes very fast to the ISAPI redirector and probably causing the high CPU
load.
Do you or anybody have an idea why sometimes the IOException is not thrown
when the Client aborts the Connection?


Cheers
Konstantin Preißer


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Canceling Download on IIS7 with ISAPI Redirector 1.2.31 causes 100% CPU usage

2011-05-14 Thread André Warnier

eurotrans-Verlag wrote:

Hi André, thanks for your reply.


To figure out if this is what's happening, you could do some logging at
the servlet end,
to see if it keeps sending data even when the client has canceled, or
if it itself gets
some stop indication from the isapi_redirector (also a closed socket
e.g.).

Or else Mladen or Rainer could tell us if I'm totally off-base here.



I added some logging to the Servlet to see what it is actually doing
(logging the start and end of the doGet() method and every time 2 MB are
written, and I also put the write loop in a try-catch clause to catch
IOException).

You are right: When I start the download, the servlet writes the bytes
slowly (due to the speed of the Connection) to the output. However, when I
then cancel the download, it writes the remaining bytes very fast, probably
causing the high CPU usage of the ISAPI redirector.

But in some cases, the result is another: After I canceled the download, the
write() method throws an IOException:
ClientAbortException:  java.io.IOException: Failed to send AJP message

and the remaining bytes are not written, so the CPU usage does not go up to
100% (That's probably the other case I mentioned before, that sometimes the
CPU usage doesn't go up).

However I would expect write() to always throw an IOException when the
connection to the client is aborted, 


Remember, there are 2 separate connections : the connection of the client to 
IIS+isapi_redirector, and the connection from IIS+isapi_redirector to Tomcat+servlet.

The servlet will only throw an I/O exception if that second connection is 
closed.

So it all depends on whether the isapi_redirector closes the connection to Tomcat also, 
when the client has closed its connection to IIS.


but it seems that in most cases, the

IOException is not thrown, thus causing the servlet to write the remaining
bytes very fast to the ISAPI redirector and probably causing the high CPU
load.
Do you or anybody have an idea why sometimes the IOException is not thrown
when the Client aborts the Connection?


I have no idea.  We need Mladen or Rainer here..

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: ISAPI Redirector Work-Flow

2010-11-02 Thread Richard G Curry
Another question, in particular about this:

It's not a redirect.
The request data is converted to the AJP13 binary protocol which is received by 
an AJP connector in Tomcat.

How is the request data passed? It is a Remore Procedure Call, an IP port 
connection, or something else?

___
«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»
___
Rick Curry
Common Services -  Software Development
E2 - 066, MS 5210
972-431-9178 (Voice)
972-585-7585 (Pager)
To send a (short) Text Message to my Pager:
9725857...@page.metrocall.com

-Original Message-
From: Pid [mailto:p...@pidster.com] 
Sent: Monday, November 01, 2010 5:40 PM
To: Tomcat Users List
Subject: Re: ISAPI Redirector Work-Flow

On 01/11/2010 21:48, Richard G Curry wrote:
 I am trying to understand how the ISAPI Redirector functions at an 
 overview level but deeper than this: The request comes into IIS where 
 the ISAPI Redirector filter sends the servlet and JSP requests to the 
 Tomcat server. I know the redirector works with AJP13 to redirect 
 requests to the Tomcat container. What I want to know is HOW that is 
 done. Is it a redirected HTTP request, a 301 redirect or is it a 
 port-to-port connection between the AJP13 processor and the defined 
 instance in the workers.properties file?

It's not a redirect.
The request data is converted to the AJP13 binary protocol which is received by 
an AJP connector in Tomcat.

 As this properties file defines
 the host name of the server holding the Tomcat instance, this can be 
 on a different server than the IIS server, correct?

Yes.

 Then does AJP13
 'connect' directly to the defined server (localhost in all the 
 examples I have seen) and the defined port (8009 in the same 
 examples)?

The connector opens multiple connections to the Tomcat server.

 If you know of a diagram that shows how this works, please share the 
 link to that resouce.

I don't sorry.


p
The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged 
material.  If the reader of this message is not the intended recipient,
you are hereby notified that your access is unauthorized, and any review,
dissemination, distribution or copying of this message including any 
attachments is strictly prohibited.  If you are not the intended
recipient, please contact the sender and delete the material from any
computer.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: ISAPI Redirector Work-Flow

2010-11-02 Thread Caldarale, Charles R
 From: Richard G Curry [mailto:rgcu...@jcpenney.com] 
 Subject: RE: ISAPI Redirector Work-Flow

 How is the request data passed? It is a Remore Procedure Call, 
 an IP port connection, or something else?

AJP is analogous to HTTP, in that it passes requests and responses over a 
TCP/IP connection, but in a much more compact form than HTTP.  That's why the 
Connector element for an AJP connection has address and port attributes.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: ISAPI Redirector Work-Flow

2010-11-02 Thread Richard G Curry
That is what I thought and I thank you for your confirmation of this. I 
appreciate your time and support.

___
«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»
___
Rick Curry
Common Services -  Software Development
E2 - 066, MS 5210
972-431-9178 (Voice)
972-585-7585 (Pager)
To send a (short) Text Message to my Pager:
9725857...@page.metrocall.com

-Original Message-
From: Caldarale, Charles R [mailto:chuck.caldar...@unisys.com] 
Sent: Tuesday, November 02, 2010 8:47 AM
To: Tomcat Users List
Subject: RE: ISAPI Redirector Work-Flow

 From: Richard G Curry [mailto:rgcu...@jcpenney.com]
 Subject: RE: ISAPI Redirector Work-Flow

 How is the request data passed? It is a Remore Procedure Call, an IP 
 port connection, or something else?

AJP is analogous to HTTP, in that it passes requests and responses over a 
TCP/IP connection, but in a much more compact form than HTTP.  That's why the 
Connector element for an AJP connection has address and port attributes.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged 
material.  If the reader of this message is not the intended recipient,
you are hereby notified that your access is unauthorized, and any review,
dissemination, distribution or copying of this message including any 
attachments is strictly prohibited.  If you are not the intended
recipient, please contact the sender and delete the material from any
computer.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



ISAPI Redirector Work-Flow

2010-11-01 Thread Richard G Curry
I am trying to understand how the ISAPI Redirector functions at an
overview level but deeper than this: The request comes into IIS where
the ISAPI Redirector filter sends the servlet and JSP requests to the
Tomcat server. I know the redirector works with AJP13 to redirect
requests to the Tomcat container. What I want to know is HOW that is
done. Is it a redirected HTTP request, a 301 redirect or is it a
port-to-port connection between the AJP13 processor and the defined
instance in the workers.properties file? As this properties file defines
the host name of the server holding the Tomcat instance, this can be on
a different server than the IIS server, correct? Then does AJP13
'connect' directly to the defined server (localhost in all the
examples I have seen) and the defined port (8009 in the same
examples)?
 
If you know of a diagram that shows how this works, please share the
link to that resouce.
 
/prefont face=monospacesize=-3brThe information transmitted is 
intended only for the person or entity to which it is addressed and brmay 
contain confidential and/or privileged material.  If the reader of this message 
is not the intendedbrrecipient, you are hereby notified that your access is 
unauthorized, and any review, dissemination,brdistribution or copying of this 
message including any attachments is strictly prohibited.   If you are 
notbrthe intended recipient, please contact the sender and delete the 
material from any computer.brpre


Re: ISAPI Redirector Work-Flow

2010-11-01 Thread Pid
On 01/11/2010 21:48, Richard G Curry wrote:
 I am trying to understand how the ISAPI Redirector functions at an
 overview level but deeper than this: The request comes into IIS where
 the ISAPI Redirector filter sends the servlet and JSP requests to the
 Tomcat server. I know the redirector works with AJP13 to redirect
 requests to the Tomcat container. What I want to know is HOW that is
 done. Is it a redirected HTTP request, a 301 redirect or is it a
 port-to-port connection between the AJP13 processor and the defined
 instance in the workers.properties file? 

It's not a redirect.
The request data is converted to the AJP13 binary protocol which is
received by an AJP connector in Tomcat.

 As this properties file defines
 the host name of the server holding the Tomcat instance, this can be on
 a different server than the IIS server, correct?

Yes.

 Then does AJP13
 'connect' directly to the defined server (localhost in all the
 examples I have seen) and the defined port (8009 in the same
 examples)?

The connector opens multiple connections to the Tomcat server.

 If you know of a diagram that shows how this works, please share the
 link to that resouce.

I don't sorry.


p


0x62590808.asc
Description: application/pgp-keys


signature.asc
Description: OpenPGP digital signature


RE: ISAPI Redirector Work-Flow

2010-11-01 Thread Richard G Curry
Thank you for this, I appreciate your time.

___
«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»§«¤»¥«¤»
___
Rick Curry
Common Services -  Software Development
E2 - 066, MS 5210
972-431-9178 (Voice)
972-585-7585 (Pager)
To send a (short) Text Message to my Pager:
9725857...@page.metrocall.com

-Original Message-
From: Pid [mailto:p...@pidster.com] 
Sent: Monday, November 01, 2010 5:40 PM
To: Tomcat Users List
Subject: Re: ISAPI Redirector Work-Flow

On 01/11/2010 21:48, Richard G Curry wrote:
 I am trying to understand how the ISAPI Redirector functions at an 
 overview level but deeper than this: The request comes into IIS where 
 the ISAPI Redirector filter sends the servlet and JSP requests to the 
 Tomcat server. I know the redirector works with AJP13 to redirect 
 requests to the Tomcat container. What I want to know is HOW that is 
 done. Is it a redirected HTTP request, a 301 redirect or is it a 
 port-to-port connection between the AJP13 processor and the defined 
 instance in the workers.properties file?

It's not a redirect.
The request data is converted to the AJP13 binary protocol which is received by 
an AJP connector in Tomcat.

 As this properties file defines
 the host name of the server holding the Tomcat instance, this can be 
 on a different server than the IIS server, correct?

Yes.

 Then does AJP13
 'connect' directly to the defined server (localhost in all the 
 examples I have seen) and the defined port (8009 in the same 
 examples)?

The connector opens multiple connections to the Tomcat server.

 If you know of a diagram that shows how this works, please share the 
 link to that resouce.

I don't sorry.


p
The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged 
material.  If the reader of this message is not the intended recipient,
you are hereby notified that your access is unauthorized, and any review,
dissemination, distribution or copying of this message including any 
attachments is strictly prohibited.  If you are not the intended
recipient, please contact the sender and delete the material from any
computer.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Tomcat ISAPI Redirector for IIS

2010-08-25 Thread andoridyou2010

check the fitler vs extension

here is one post
http://androidyou.blogspot.com/2010/08/could-not-get-worker-for-name-ajp13.html


doepain wrote:
 
 No matter what I try where I go I just keep hitting a wall with this ISAPI
 redirector for IIS/Tomcat.
 I have been trying to get this to work since 9:00 AM est, and I am losing
 steam.  
 
 I tried supplying any useful information for trouble shooting below
 
 Error:
 HTTP Status 404 - /jakarta/isapi_redirect.dll
   type Status report
   message /jakarta/isapi_redirect.dll
   description The requested resource (/jakarta/isapi_redirect.dll) is not
 available.
 Apache Tomcat/5.0.16
 
 uriworkermap.properties File:
 # uriworker.properties -
 #
 # This file provides sample mappings for example
 # ajp13w worker defined in workermap.properties.minimal
 
 /jsp-examples/*=ajp13w
 /servlet-examples/*=ajp13w
 
 # Now filter out all .jpeg files inside that context
 # For no mapping the url has to start with exclamation (!)
 #!/servlet-examples/*.jpeg=ajp13w
 
 Workers.Properties.Minimal:
 # workers.properties.minimal -
 # This file provides minimal jk configuration properties needed to 
 # connect to Tomcat.
 # The workers that jk should create and work with 
 # Defining a worker named ajp13w and of type ajp13
 # Note that the name and the type do not have to match.
 
 #worker.list=ajp13w
 worker.ajp13w.type=ajp13
 worker.ajp13w.host=localhost
 worker.ajp13w.port=8009
 
 Jakarta Isapi Redirector Install path:
 C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\conf
 
 Tomcat Install Path:
 C:\Program Files\Apache Software Foundation\Tomcat 5.0
 
 Tomcat Status is Started.
 
 IIS V6.0 Settings
 The jakarta Web Service Extension is Installed, and Allowed.
 The ISAPI Filter for jakarta in installed, and its Status is Online
 Priority High
 
 Host:
 Windows Server 2003 SP2
 
 ISAPI-Redirector Log output:
 [Mon Feb 18 13:11:38 2008] [error] HttpExtensionProc::jk_isapi_plugin.c
 (944): could not get a worker for name ajp13
 [Mon Feb 18 13:11:39 2008] [error] HttpExtensionProc::jk_isapi_plugin.c
 (944): could not get a worker for name ajp13
 [Mon Feb 18 13:21:47 2008] [error]
 ajp_connection_tcp_send_message::jk_ajp_common.c (902): sendfull returned
 -3 with errno=54 
 [Mon Feb 18 13:21:47 2008] [error] ajp_send_request::jk_ajp_common.c
 (1158): Error sending request try another pooled connection
 [Mon Feb 18 13:21:48 2008] [info]  jk_open_socket::jk_connect.c (183):
 connect() failed errno = 61
 [Mon Feb 18 13:21:48 2008] [info] 
 ajp_connect_to_endpoint::jk_ajp_common.c (862): Failed connecting to
 tomcat. Tomcat is probably not started or is listening on the wrong
 host/port (127.0.0.1:8009). Failed errno = 61
 [Mon Feb 18 13:21:48 2008] [info]  ajp_send_request::jk_ajp_common.c
 (1186): Error connecting to the Tomcat process.
 [Mon Feb 18 13:21:48 2008] [info]  ajp_service::jk_ajp_common.c (1665):
 Sending request to tomcat failed,  recoverable operation attempt=0
 [Mon Feb 18 13:21:48 2008] [info]  ajp_done::jk_ajp_common.c (1947): could
 not find empty cache slot from 1 for worker ajp13. Rise worker cachesize
 [Mon Feb 18 13:43:40 2008] [error]
 ajp_connection_tcp_send_message::jk_ajp_common.c (902): sendfull returned
 -3 with errno=54 
 [Mon Feb 18 13:43:40 2008] [error] ajp_send_request::jk_ajp_common.c
 (1158): Error sending request try another pooled connection
 [Mon Feb 18 13:43:41 2008] [info]  jk_open_socket::jk_connect.c (183):
 connect() failed errno = 61
 [Mon Feb 18 13:43:41 2008] [info] 
 ajp_connect_to_endpoint::jk_ajp_common.c (862): Failed connecting to
 tomcat. Tomcat is probably not started or is listening on the wrong
 host/port (127.0.0.1:8009). Failed errno = 61
 [Mon Feb 18 13:43:41 2008] [info]  ajp_send_request::jk_ajp_common.c
 (1186): Error connecting to the Tomcat process.
 [Mon Feb 18 13:43:41 2008] [info]  ajp_service::jk_ajp_common.c (1665):
 Sending request to tomcat failed,  recoverable operation attempt=0
 [Mon Feb 18 13:43:42 2008] [info]  jk_open_socket::jk_connect.c (183):
 connect() failed errno = 61
 [Mon Feb 18 13:43:42 2008] [info] 
 ajp_connect_to_endpoint::jk_ajp_common.c (862): Failed connecting to
 tomcat. Tomcat is probably not started or is listening on the wrong
 host/port (127.0.0.1:8009). Failed errno = 61
 [Mon Feb 18 13:43:42 2008] [info]  ajp_send_request::jk_ajp_common.c
 (1186): Error connecting to the Tomcat process.
 [Mon Feb 18 13:43:42 2008] [info]  ajp_service::jk_ajp_common.c (1665):
 Sending request to tomcat failed,  recoverable operation attempt=1
 [Mon Feb 18 13:43:43 2008] [info]  jk_open_socket::jk_connect.c (183):
 connect() failed errno = 61
 [Mon Feb 18 13:43:43 2008] [info] 
 ajp_connect_to_endpoint::jk_ajp_common.c (862): Failed connecting to
 tomcat. Tomcat is probably not started or is listening on the wrong
 host/port (127.0.0.1:8009). Failed errno = 61
 [Mon Feb 18 13:43:43 2008] [info]  ajp_send_request::jk_ajp_common.c
 (1186): Error connecting to the Tomcat process

  1   2   3   >