cvs commit: jakarta-tomcat-connectors/jk/xdocs/howto workers.xml

2005-04-24 Thread mturk
mturk   2005/04/24 23:53:25

  Modified:jk/xdocs/config workers.xml
   jk/xdocs/howto workers.xml
  Log:
  Update workers documentation.
  
  Revision  ChangesPath
  1.13  +4 -0  jakarta-tomcat-connectors/jk/xdocs/config/workers.xml
  
  Index: workers.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/config/workers.xml,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- workers.xml   24 Apr 2005 10:47:28 -  1.12
  +++ workers.xml   25 Apr 2005 06:53:25 -  1.13
  @@ -14,6 +14,7 @@
   
   
   
  +
   
   A Tomcat worker is a Tomcat instance that is waiting to execute 
servlets or any other content
   on behalf of some web server. For example, we can have a web server such as
  @@ -49,6 +50,7 @@
   

   
  +
   Each workers.properties directive consists of three words separated by 
dot. The first word is always
   worker. The second word is the worker name that can be any name. The 
worker name reflects the
   name of the jvmRoute defined in Tomcat's server.xml configuration 
file.
  @@ -60,6 +62,7 @@
   
   
   
  +
   The generic workers.properties directive is in the form:
   worker..=
   Defining workers to the Tomcat web server plugin can be done using a 
properties file
  @@ -75,6 +78,7 @@
   
   
   
  +
   Mandatory directives are the one that each worker must contain. 
Without them the worker will
   be unavailable or will misbehave.
   
  
  
  
  1.4   +22 -10jakarta-tomcat-connectors/jk/xdocs/howto/workers.xml
  
  Index: workers.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/howto/workers.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- workers.xml   24 Apr 2005 10:30:09 -  1.3
  +++ workers.xml   25 Apr 2005 06:53:25 -  1.4
  @@ -146,6 +146,10 @@
   Each worker has a set of properties that you can set as specified in the 
following subsections:
   
   
  +
  +The ajp12 has been deprecated with Tomcat 3.3.x and you should 
use instead 
  +ajp13 which is the only ajp protocol known by Tomcat 4.x and 5.
  + 
   
   The ajp12 typed workers forward requests to out-of-process Tomcat workers 
   using the ajpv12 protocol over TCP/IP sockets.
  @@ -256,18 +260,18 @@
   The overall result is that workers managed by the same lb worker are 
load-balanced (based on their lbfactor and current user session) and also 
fall-backed so a single Tomcat process death will not "kill" the entire site.
   The following table specifies properties that the lb worker can accept:
   
  -balanced_workers is a comma separated list of workers that the 
load balancer need to manage. 
  +balance_workers is a comma separated list of workers that the 
load balancer need to manage. 
   These workers should not appear in the worker.list property.
   sticky_session specifies whether requests with SESSION ID's 
should be routed back to the same
  -Tomcat worker. If sticky_session is an int and is not 0 it is set to JK_TRUE 
and sessions are sticky, otherwise
  -sticky_session is set to false. Set sticky_session to JK_FALSE when Tomcat 
is using a Session Manager which
  -can persist session data across multiple instances of Tomcat. By default 
sticky_session is set to JK_TRUE.
  +Tomcat worker. If sticky_session is an flag and if it is set to True and 
sessions are sticky, otherwise
  +sticky_session is set to false. Set sticky_session to False when Tomcat is 
using a Session Manager which
  +can persist session data across multiple instances of Tomcat. By default 
sticky_session is set to True.
   
   
   
   
  The worker balance1 while use "real" workers worker1 and worker2
  -  worker.balance1.balanced_workers=worker1, worker2
  +  worker.balance1.balance_workers=worker1, worker2
   
   
   
  @@ -275,7 +279,7 @@
   
   
   With JK 1.2.x, new load-balancing and fault-tolerant support has been added 
via
  -2 new properties, local_worker_only and local_worker.
  +2 new properties, redirect and disabled.
   
   
   
  @@ -290,24 +294,32 @@
   
 # The advanced router LB worker
 worker.list=router
  +
 # Define a worker using ajp13
 worker.worker1.port=8009
 worker.worker1.host=node1.domain.org
 worker.worker1.type=ajp13
 worker.worker1.lbfactor=1
  +  # Define prefered failover node for worker1
  +  worker.worker1.redirect=worker2
  +
 # Define another worker using ajp13
 worker.worker2.port=8009
 worker.worker2.host=node2.domain.org
 worker.worker2.type=ajp13
 worker.worker2.lbfactor=1
  +  # Disable worker2 for all requests except failover
  +  worker.worker2.disabled=True
  +  
 # Define the LB worker
 worker.router.type=lb
 worker.router.balance_workers=worker1,worker2
   
   
   
  -The local_worker flag on wo

Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java

2005-04-24 Thread Remy Maucherat
Costin Manolache wrote:
Remy Maucherat wrote:
IE is still (unfortunately) the browser used by a lot of people, and if
there is a way to work around IE brokeness - I think it's a good idea to 
do it.

Complaining to M$ doesn't work - people will just end up buying IIS 
instead :-)

Seriously, not sure why is the veto invalid - if the choice is between 
Because the change is integrated in all 5.x stable releases, and because 
it is just too old. It should be plainly obvious.

having it working for 90% of the people and doing it 'right' - it is 
worth probably more discussion and a pragmatic decision :-) I would vote 
for fixing it for the 90% of people - at least until IE gets down to 
some 49%.
The issue obviously does not affect 90% of people (if it was, we'd have 
more than a few people complaining, it should be obvious ...), as the IE 
bug is a specific situation, unlike what Keith's FUD would want to show. 
However, it used to completely break Mozilla under SSL (as a compromise, 
I asked for Keith to show good faith and test it again, but all he 
seemed to be interested in is least effort in getting his patch in).

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java

2005-04-24 Thread Costin Manolache
Remy Maucherat wrote:
Keith Wannamaker wrote:
If no one else is concerned that Tomcat 5.5 doesn't work by default

Any other nonsensical statement to make ? The only thing that does not 
work is opening third party documents from the website, due to IE's 
broken handling of this.

How about a) going whining at M$ instead ? b) using appropriate 
configuration.

Your veto is completely invalid anyway.
IE is still (unfortunately) the browser used by a lot of people, and if
there is a way to work around IE brokeness - I think it's a good idea to 
do it.

Complaining to M$ doesn't work - people will just end up buying IIS 
instead :-)

Seriously, not sure why is the veto invalid - if the choice is between 
having it working for 90% of the people and doing it 'right' - it is 
worth probably more discussion and a pragmatic decision :-) I would vote 
for fixing it for the 90% of people - at least until IE gets down to 
some 49%.

Costin
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


DO NOT REPLY [Bug 32424] - Redirecting directiories with missing trailing slash breaks web applications

2005-04-24 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32424





--- Additional Comments From [EMAIL PROTECTED]  2005-04-25 05:45 ---
(In reply to comment #9)
> If you want to modify the HTTP mapping behavior for your own purposes, the
> mapping class is org.apache.tomcat.util.http.mapper.Mapper in
> jakarta-tomcat-connectors/util. Rule 7 is the one which sends the HTTP 
redirect.

Is it possible to make this configurable in tomcat 5 or 5.5?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/common ChannelNioSocket.java

2005-04-24 Thread Remy Maucherat
Bill Barker wrote:
Does it do about the same of behavior as the APR endpoint ? (I didn't 
try it - I run Windoze for my dev, BTW ;) )
ChannelNioSocket works ok on Windows on low concurrency, but what's the 
point? ;-).  After that, NIO starts throwing weird NPEs.

I haven't tried the APR endpoint on Solaris yet.  If I get some time, 
I'll try compiling it and give it a spin.  However the NIO tests suggest 
that PoolTcpEndpoint will win. There is just not much downside to simply 
increasing maxThreads on Solaris, but the additional syncs and 
context-switching do cost.
That's a good question. On Windows, raw throughput (ab on localhost, I 
suck ...) is slower, but any kind of real test seem more or less 
equivalent, with sendfile bringing in gains. I don't know if this counts 
as real testing (probably not).
Linux is faster according to Mladen.
Solaris is untested, but would be interesting indeed.

I would like AJP and HTTP to share more code. Do you think that NIO is 
a better choice, or should it remain an experiment ? To me, it seems 
less mature, robust and portable (the most annoying problem probably 
being that to get bugfixes and feature updates, you need to upgrade 
the JVM), but I don't have a whole lot of experience.
Most of the split was because Costin designed Jk-Coyote around the JNI 
stuff. Also, at the time PoolTcpEndpoint didn't support the master-slave 
model he settled on.

Actually, I'm thinking of leaving ChannelNioSocket in mostly to have 
something to point to when people show up on the list asking "why 
doesn't Tomcat use this great NIO stuff?". ;-)  The non-blocking io 
actually works well for AJP (since all of the reads and writes are at 
most 8K).  Using ByteBuffer vs byte [] seems mostly a matter of taste 
:).  Otherwise, I agree that NIO should probably remain an experiment 
for now.
Of course, it's good comparison, especially since it was done quickly.
Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: APR usage

2005-04-24 Thread Bill Barker
- Original Message - 
From: "Remy Maucherat" <[EMAIL PROTECTED]>
To: 
Sent: Sunday, April 24, 2005 6:41 AM
Subject: APR usage


Hi,
Sendfile now *likely* works (both regular and single range requests), but 
is very hard to test. Since nearly all the time it seems to be a non 
blocking operation, it could be possible to do it inline inside the 
DefaultServlet itself (performance would be the same, but the plumbing code 
can be removed). It probably depends on the amount of cache the system has 
available, though, so may not be a very good idea.

The first tests provided by Mladen are encouraging, as it seems it does 
what I expected it to do (reducing thread counts without reducing raw 
throughput at the same time).

Assuming I become convinced that APR is the way to go (I'm a bit undecided 
right now), I'd like to use a scheme where APRized connectors get used 
unless explicitely configured otherwise as soon as the necessary native 
libraries are present.
I'd be +1 to use the APR connectors by default if the native libraries are 
found, as long as it quietly falls back to the Java connectors if the 
library isn't there.  The reason is the same as for making PureTLS the 
default SSL provider:  You've already done the extra work (building the 
native library/installing PureTLS), so you must want to use it.

I'm -1 if it would require extra configuration to run Tomcat out-of-the-box. 
The result would be a huge flood of tomcat-user questions and BZ reports.

Bill, does APR seem like a workable solution for you (did you look into it 
/ play with it ?), or do you favor NIO ?

I've been playing with NIO mostly because there aren't enough real bugs to 
fix in Tomcat anymore ;-).  I certainly have no plans to make it the default 
Channel anytime soon (or I'd hear many screams from Windows users ;-).

Personally, APR doesn't scratch any itch for me.  But one of the nice things 
about the Tomcat community is the freedom it gives developers to scratch any 
itch they have.  Scratch away :).

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


This message is intended only for the use of the person(s) listed above as the 
intended recipient(s), and may contain information that is PRIVILEGED and 
CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, or 
distribute this message or any attachment. If you received this communication 
in error, please notify us immediately by e-mail and then delete all copies of 
this message and any attachments.
In addition you should be aware that ordinary (unencrypted) e-mail sent through 
the Internet is not secure. Do not send confidential or sensitive information, 
such as social security numbers, account numbers, personal identification 
numbers and passwords, to us via ordinary (unencrypted) e-mail.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Re: cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/common ChannelNioSocket.java

2005-04-24 Thread Bill Barker
- Original Message - 
From: "Remy Maucherat" <[EMAIL PROTECTED]>
To: "Tomcat Developers List" 
Sent: Sunday, April 24, 2005 1:49 AM
Subject: Re: cvs commit: 
jakarta-tomcat-connectors/jk/java/org/apache/jk/common ChannelNioSocket.java


[EMAIL PROTECTED] wrote:
billbarker2005/04/23 21:27:42
Modified:jk/java/org/apache/jk/common ChannelNioSocket.java Log: Give 
up on switching between blocking/non-blocking Sockets, also move
the Accecpt into the Poller instead of its own thread.

This is still very much experimental, and nobody should even dream of
using it in production.
Testing on Windows, it's very flakey.  On Solaris, it's stable
enough, but ChannelSocket is about 25% faster.
Does it do about the same of behavior as the APR endpoint ? (I didn't try 
it - I run Windoze for my dev, BTW ;) )

ChannelNioSocket works ok on Windows on low concurrency, but what's the 
point? ;-).  After that, NIO starts throwing weird NPEs.

I haven't tried the APR endpoint on Solaris yet.  If I get some time, I'll 
try compiling it and give it a spin.  However the NIO tests suggest that 
PoolTcpEndpoint will win. There is just not much downside to simply 
increasing maxThreads on Solaris, but the additional syncs and 
context-switching do cost.

I would like AJP and HTTP to share more code. Do you think that NIO is a 
better choice, or should it remain an experiment ? To me, it seems less 
mature, robust and portable (the most annoying problem probably being that 
to get bugfixes and feature updates, you need to upgrade the JVM), but I 
don't have a whole lot of experience.

Most of the split was because Costin designed Jk-Coyote around the JNI 
stuff. Also, at the time PoolTcpEndpoint didn't support the master-slave 
model he settled on.

Actually, I'm thinking of leaving ChannelNioSocket in mostly to have 
something to point to when people show up on the list asking "why doesn't 
Tomcat use this great NIO stuff?". ;-)  The non-blocking io actually works 
well for AJP (since all of the reads and writes are at most 8K).  Using 
ByteBuffer vs byte [] seems mostly a matter of taste :).  Otherwise, I agree 
that NIO should probably remain an experiment for now.

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


This message is intended only for the use of the person(s) listed above as the 
intended recipient(s), and may contain information that is PRIVILEGED and 
CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, or 
distribute this message or any attachment. If you received this communication 
in error, please notify us immediately by e-mail and then delete all copies of 
this message and any attachments.
In addition you should be aware that ordinary (unencrypted) e-mail sent through 
the Internet is not secure. Do not send confidential or sensitive information, 
such as social security numbers, account numbers, personal identification 
numbers and passwords, to us via ordinary (unencrypted) e-mail.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

DO NOT REPLY [Bug 34560] - AuthenticatorBase tests and applies disableProxyCaching even if no auth-constraints

2005-04-24 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34560


[EMAIL PROTECTED] changed:

   What|Removed |Added

  Attachment #14814|0   |1
is obsolete||




--- Additional Comments From [EMAIL PROTECTED]  2005-04-24 18:56 ---
Created an attachment (id=14824)
 --> (http://issues.apache.org/bugzilla/attachment.cgi?id=14824&action=view)
'diff' version of the patch

diff made with textpad, a nice alternative to the non-pc-friendly ways
suggested.


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



snmp and Nagios

2005-04-24 Thread lawrence

Hi all,

New to the tomcat list.

I have spent the last few days searching the net for ideas on how to monitor 
tomcat via SNMP.
I am trying to gather information like:
Number of sessions per minute.
Number of spare threads etc.

Basically I am trying to get over all health of the tomcat servers(s)

The trick is, I am trying to trap this information with my monitoring server 
(Nagios) so I can alert on it and have all my monitoring in a central location.

Can anyone give me any pointers, solutions, examples for this? I have not been 
able to come up with many “Open Source” solutions.

Thanks
Lawrence.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 34560] - AuthenticatorBase tests and applies disableProxyCaching even if no auth-constraints

2005-04-24 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34560





--- Additional Comments From [EMAIL PROTECTED]  2005-04-24 18:26 ---
Thank you for your dedication and research.
I read that servlet spec 12.8.

It is very clear to me that the transport constraint is orthogonal to the
authentication constraint.

That is, a 'confidential' transport may not obviously require authentication.
That is especially true for web site that are fully https to avoid mixed
secure/unsecure content warnings on browsers, while allowing decent caching for
ressources that do not need authentication/autorization, like js, css, gifs...

I'm not suggesting to change any of the current logic surrounding
confidential/integral/none. I'm highlighting that the 'de-caching' headers must
only be applied when the authentication is required, which has nothing to do
with transport contraints.

Meanwhile, the http spec is stating that autorization must be challenged
everytime and resources, if cached, cannot bypass the authentication. It doesn't
mention anything specific to the ssl nature (or else) of the lower layer
transporting http content.

Thanks again.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



APR usage

2005-04-24 Thread Remy Maucherat
Hi,
Sendfile now *likely* works (both regular and single range requests), 
but is very hard to test. Since nearly all the time it seems to be a non 
blocking operation, it could be possible to do it inline inside the 
DefaultServlet itself (performance would be the same, but the plumbing 
code can be removed). It probably depends on the amount of cache the 
system has available, though, so may not be a very good idea.

The first tests provided by Mladen are encouraging, as it seems it does 
what I expected it to do (reducing thread counts without reducing raw 
throughput at the same time).

Assuming I become convinced that APR is the way to go (I'm a bit 
undecided right now), I'd like to use a scheme where APRized connectors 
get used unless explicitely configured otherwise as soon as the 
necessary native libraries are present.

Bill, does APR seem like a workable solution for you (did you look into 
it / play with it ?), or do you favor NIO ?

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net AprEndpoint.java

2005-04-24 Thread remm
remm2005/04/24 06:18:28

  Modified:util/java/org/apache/tomcat/util/net/res
LocalStrings.properties
   util/java/org/apache/tomcat/util/net AprEndpoint.java
  Log:
  - Proper logging.
  
  Revision  ChangesPath
  1.7   +8 -1  
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/res/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/res/LocalStrings.properties,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- LocalStrings.properties   29 Jan 2005 19:29:55 -  1.6
  +++ LocalStrings.properties   24 Apr 2005 13:18:28 -  1.7
  @@ -10,4 +10,11 @@
   endpoint.warn.nullSocket=Null socket returned by accept
   endpoint.debug.unlock=Caught exception trying to unlock accept on port {0}
   endpoint.err.close=Caught exception trying to close socket
  -endpoint.noProcessor=No Processors - worker thread dead!
  \ No newline at end of file
  +endpoint.noProcessor=No Processors - worker thread dead!
  +
  +endpoint.poll.limitedpollsize=Failed to create poller with specified size, 
uses 62 instead
  +endpoint.poll.initfail=Poller creation failed
  +endpoint.poll.fail=Critical poller failure, restarting poller
  +endpoint.poll.error=Unexpected poller error
  +endpoint.sendfile.error=Unexpected sendfile error
  +endpoint.sendfile.addfail=Sednfile failure with status {0}
  
  
  
  1.22  +35 -57
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
  
  Index: AprEndpoint.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- AprEndpoint.java  24 Apr 2005 10:40:48 -  1.21
  +++ AprEndpoint.java  24 Apr 2005 13:18:28 -  1.22
  @@ -19,7 +19,6 @@
   import java.net.InetAddress;
   import java.util.HashMap;
   import java.util.Stack;
  -import java.util.Vector;
   
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  @@ -94,12 +93,6 @@
   
   
   /**
  - * All processors which have been created.
  - */
  -protected Vector created = new Vector();
  -
  -
  -/**
* Running state of the endpoint.
*/
   protected volatile boolean running = false;
  @@ -395,33 +388,29 @@
   if (initialized)
   return;
   
  -try {
  -// Initialize APR
  -Library.initialize(null);
  -// Create the root APR memory pool
  -rootPool = Pool.create(0);
  -// Create the pool for the server socket
  -serverSockPool = Pool.create(rootPool);
  -// Create the APR address that will be bound
  -String addressStr = null;
  -if (address == null) {
  -addressStr = null;
  -} else {
  -addressStr = "" + address;
  -}
  -long inetAddress = Address.info(addressStr, Socket.APR_INET,
  -   port, 0, rootPool);
  -// Create the APR server socket
  -serverSock = Socket.create(Socket.APR_INET, Socket.SOCK_STREAM,
  -   Socket.APR_PROTO_TCP, rootPool);
  -// Bind the server socket
  -Socket.bind(serverSock, inetAddress);
  -// Start listening on the server socket
  -Socket.listen(serverSock, backlog);
  -} catch (Exception e) {
  -// FIXME: proper logging
  -throw e;
  -}
  +// Initialize APR
  +Library.initialize(null);
  +// Create the root APR memory pool
  +rootPool = Pool.create(0);
  +// Create the pool for the server socket
  +serverSockPool = Pool.create(rootPool);
  +// Create the APR address that will be bound
  +String addressStr = null;
  +if (address == null) {
  +addressStr = null;
  +} else {
  +addressStr = "" + address;
  +}
  +long inetAddress = Address.info(addressStr, Socket.APR_INET,
  +port, 0, rootPool);
  +// Create the APR server socket
  +serverSock = Socket.create(Socket.APR_INET, Socket.SOCK_STREAM,
  +Socket.APR_PROTO_TCP, rootPool);
  +// Bind the server socket
  +Socket.bind(serverSock, inetAddress);
  +// Start listening on the server socket
  +Socket.listen(serverSock, backlog);
  +
   initialized = true;
   
   }
  @@ -632,7 +621,6 @@
   
   Worker workerThread = new Worker();
   workerThread.start();
  -created.addElemen

cvs commit: jakarta-tomcat-connectors/jk/xdocs/config workers.xml

2005-04-24 Thread mturk
mturk   2005/04/24 03:47:28

  Modified:jk/xdocs/config workers.xml
  Log:
  Add mising closing tag.
  
  Revision  ChangesPath
  1.12  +1 -0  jakarta-tomcat-connectors/jk/xdocs/config/workers.xml
  
  Index: workers.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/config/workers.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- workers.xml   24 Apr 2005 10:43:27 -  1.11
  +++ workers.xml   24 Apr 2005 10:47:28 -  1.12
  @@ -279,6 +279,7 @@
   
   
   Specifies the url for cascading stylesheet to use.
  +
   
   
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/xdocs/config workers.xml

2005-04-24 Thread mturk
mturk   2005/04/24 03:43:27

  Modified:jk/xdocs/config workers.xml
  Log:
  Add status worker directives section.
  
  Revision  ChangesPath
  1.11  +13 -1 jakarta-tomcat-connectors/jk/xdocs/config/workers.xml
  
  Index: workers.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/config/workers.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- workers.xml   23 Feb 2005 08:10:20 -  1.10
  +++ workers.xml   24 Apr 2005 10:43:27 -  1.11
  @@ -80,7 +80,7 @@
   
   
   
  -Type of the worker (can be one of ajp13, ajp14, jni or lb). The type of the 
worker
  +Type of the worker (can be one of ajp13, ajp14, jni, lb or status). The type 
of the worker
   defines the directives that can be applied to the worker.
   AJP13 worker is the preferred worker type that JK uses for communication
   between web server and Tomcat. This type of worker uses sockets as 
communication
  @@ -270,6 +270,18 @@
   
   
   
  +
  +
  +
  +The status worker does not communicate with Tomcat.
  +Instead it is responsible for the load balancer management. 
  +
  +
  +
  +Specifies the url for cascading stylesheet to use.
  +
  +
  +
   
   
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net AprEndpoint.java

2005-04-24 Thread remm
remm2005/04/24 03:40:48

  Modified:util/java/org/apache/tomcat/util/net AprEndpoint.java
  Log:
  - Probably a more sensible fix :)
  
  Revision  ChangesPath
  1.21  +14 -0 
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
  
  Index: AprEndpoint.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- AprEndpoint.java  24 Apr 2005 10:28:38 -  1.20
  +++ AprEndpoint.java  24 Apr 2005 10:40:48 -  1.21
  @@ -836,6 +836,13 @@
   getWorkerThread().assign(desc[n*4+1], 
desc[n*4+2]);
   }
   maintainTime += pollTime;
  +} else if (rv < -1) {
  +// FIXME: Log with WARN at least
  +// Handle poll critical failure
  +synchronized (this) {
  +destroy();
  +init();
  +}
   }
   if (rv == 0 || maintainTime > 100L) {
   synchronized (this) {
  @@ -1179,6 +1186,13 @@
   getWorkerThread().assign(desc[n*4+1], 
state.pool);
   }
   }
  +} else if (rv < -1) {
  +// Handle poll critical failure
  +// FIXME: Log with WARN at least
  +synchronized (this) {
  +destroy();
  +init();
  +}
   }
   } catch (Throwable t) {
   // FIXME: Proper logging
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/xdocs/howto workers.xml

2005-04-24 Thread mturk
mturk   2005/04/24 03:30:09

  Modified:jk/xdocs/howto workers.xml
  Log:
  Add howto for status worker.
  
  Revision  ChangesPath
  1.3   +39 -12jakarta-tomcat-connectors/jk/xdocs/howto/workers.xml
  
  Index: workers.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/howto/workers.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- workers.xml   25 Nov 2004 10:29:36 -  1.2
  +++ workers.xml   24 Apr 2005 10:30:09 -  1.3
  @@ -104,6 +104,7 @@
 ajp13This worker knows how to forward requests to 
out-of-process Tomcat workers using the ajpv13 protocol.
 jniThis worker knows how to forward requests to 
in-process Tomcat workers using JNI.
 lbThis is a load-balancing worker; it knows how to 
provide round-robin based sticky load balancing with a certain level of 
fault-tolerance.
  +  statusThis is a status worker for managing load 
balancers.
   
   
   
  @@ -168,10 +169,10 @@
   
   
   
  -  # worker "worker1" will talk to Tomcat listening on machine www.x.com at 
port 8007 using 2.5 lb factor
  +  # worker "worker1" will talk to Tomcat listening on machine www.x.com at 
port 8007 using 2 lb factor
 worker.worker1.host=www.x.com
 worker.worker1.port=8007
  -  worker.worker1.lbfactor=2.5
  +  worker.worker1.lbfactor=2
   
   
   
  @@ -289,22 +290,19 @@
   
 # The advanced router LB worker
 worker.list=router
  -  # Define a 'local_worker' worker using ajp13
  +  # Define a worker using ajp13
 worker.worker1.port=8009
 worker.worker1.host=node1.domain.org
 worker.worker1.type=ajp13
 worker.worker1.lbfactor=1
  -  worker.worker1.local_worker=1
  -  # Define another 'local_worker' worker using ajp13
  +  # Define another worker using ajp13
 worker.worker2.port=8009
 worker.worker2.host=node2.domain.org
 worker.worker2.type=ajp13
 worker.worker2.lbfactor=1
  -  worker.worker2.local_worker=0
 # Define the LB worker
 worker.router.type=lb
  -  worker.router.balanced_workers=worker1,worker2
  -  worker.router.local_worker_only=1
  +  worker.router.balance_workers=worker1,worker2
   
   
   
  @@ -315,6 +313,35 @@
   
   
   
  +
  +
  +The status worker does not communicate with Tomcat.
  +Instead it is responsible for the load balancer management. 
  +
  +
  +  # Add the status worker to the worker list
  +  worker.list=jkstatus
  +  # Define a 'jkstatus' worker using status
  +  worker.jkstatus.type=status
  +
  +Next thing is to mount the requests to the jkstatus worker. For Apache
  +web servers use the:
  +
  +  # Add the jkstatus mount point
  +  JkMount /jkmanager/* jkstatus 
  +
  +To obtain a higher level of security use the:
  +
  +  # Enable the JK manager access from localhost only
  + 
  +JkMount jkstatus
  +Order deny,allow
  +Deny from all
  +Allow from 127.0.0.1
  + 
  +
  +
  +
   
   
   
  @@ -376,16 +403,16 @@
 worker.worker1.type=ajp12
 worker.worker1.host=locahost
 worker.worker1.port=8007
  -  worker.worker1.lbfactor=5
  +  worker.worker1.lbfactor=1
 # Set properties for worker2 (ajp13)
 worker.worker2.type=ajp13
 worker.worker2.host=locahost
 worker.worker2.port=8009
  -  worker.worker2.lbfactor=50
  +  worker.worker2.lbfactor=1
 worker.worker2.cachesize=10
 worker.worker2.cache_timeout=600
 worker.worker2.socket_keepalive=1
  -  worker.worker2.socket_timeout=300
  +  worker.worker2.socket_timeout=60
 # Set properties for worker3 (jni)
 worker.worker3.type=jni
 # Set worker3 bridge type, here Tomcat 3.3
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net AprEndpoint.java

2005-04-24 Thread remm
remm2005/04/24 03:28:38

  Modified:util/java/org/apache/tomcat/util/net AprEndpoint.java
  Log:
  - Negativa values are now ok (apparently) for poll. (fixes a regression 
caused by yesterday's poll.c change)
  
  Revision  ChangesPath
  1.20  +0 -14 
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
  
  Index: AprEndpoint.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- AprEndpoint.java  23 Apr 2005 18:59:52 -  1.19
  +++ AprEndpoint.java  24 Apr 2005 10:28:38 -  1.20
  @@ -836,13 +836,6 @@
   getWorkerThread().assign(desc[n*4+1], 
desc[n*4+2]);
   }
   maintainTime += pollTime;
  -} else if (rv < 0) {
  -// FIXME: Log with WARN at least
  -// Handle poll critical failure
  -synchronized (this) {
  -destroy();
  -init();
  -}
   }
   if (rv == 0 || maintainTime > 100L) {
   synchronized (this) {
  @@ -1186,13 +1179,6 @@
   getWorkerThread().assign(desc[n*4+1], 
state.pool);
   }
   }
  -} else if (rv < 0) {
  -// Handle poll critical failure
  -// FIXME: Log with WARN at least
  -synchronized (this) {
  -destroy();
  -init();
  -}
   }
   } catch (Throwable t) {
   // FIXME: Proper logging
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/xdocs changelog.xml

2005-04-24 Thread mturk
mturk   2005/04/24 03:15:02

  Modified:jk/xdocs changelog.xml
  Log:
  Log the shutdown and maintain.
  
  Revision  ChangesPath
  1.23  +7 -0  jakarta-tomcat-connectors/jk/xdocs/changelog.xml
  
  Index: changelog.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/changelog.xml,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- changelog.xml 23 Apr 2005 10:32:06 -  1.22
  +++ changelog.xml 24 Apr 2005 10:15:02 -  1.23
  @@ -25,6 +25,13 @@
 
 
   
  +  Added worker maintain function that will maintain all
  +  the workers instead just the current one. This enables to recycle
  +  the connections on all workers. (mturk)
  +  
  +  Use shutdown when recycling connections instead hard
  +  breaking the socket. (mturk)
  +  
 Add unique directives checking. The directives if
 unique are now overwritten instead concatenated. (mturk)
 
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native/netscape jk_nsapi_plugin.c

2005-04-24 Thread mturk
mturk   2005/04/24 03:02:16

  Modified:jk/native/apache-1.3 mod_jk.c
   jk/native/apache-2.0 mod_jk.c
   jk/native/iis jk_isapi_plugin.c
   jk/native/netscape jk_nsapi_plugin.c
  Log:
  Use wc_maintain function for recycling cache and connections.
  
  Revision  ChangesPath
  1.77  +3 -1  jakarta-tomcat-connectors/jk/native/apache-1.3/mod_jk.c
  
  Index: mod_jk.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/apache-1.3/mod_jk.c,v
  retrieving revision 1.76
  retrieving revision 1.77
  diff -u -r1.76 -r1.77
  --- mod_jk.c  26 Mar 2005 09:37:24 -  1.76
  +++ mod_jk.c  24 Apr 2005 10:02:16 -  1.77
  @@ -1713,6 +1713,8 @@
   private_data.read_body_started = JK_FALSE;
   private_data.r = r;
   
  +/* TODO: Make maintain call configurable */
  +wc_maintain(l);
   jk_init_ws_service(&s);
   
   /* Update retries for this worker */
  
  
  
  1.140 +4 -1  jakarta-tomcat-connectors/jk/native/apache-2.0/mod_jk.c
  
  Index: mod_jk.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/apache-2.0/mod_jk.c,v
  retrieving revision 1.139
  retrieving revision 1.140
  diff -u -r1.139 -r1.140
  --- mod_jk.c  13 Apr 2005 08:27:39 -  1.139
  +++ mod_jk.c  24 Apr 2005 10:02:16 -  1.140
  @@ -1857,6 +1857,9 @@
   private_data.response_started = JK_FALSE;
   private_data.read_body_started = JK_FALSE;
   private_data.r = r;
  +
  +/* TODO: Make maintain call configurable */
  +wc_maintain(xconf->log);
   
   jk_init_ws_service(&s);
   /* Update retries for this worker */
  
  
  
  1.47  +3 -1  jakarta-tomcat-connectors/jk/native/iis/jk_isapi_plugin.c
  
  Index: jk_isapi_plugin.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native/iis/jk_isapi_plugin.c,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- jk_isapi_plugin.c 23 Apr 2005 10:02:21 -  1.46
  +++ jk_isapi_plugin.c 24 Apr 2005 10:02:16 -  1.47
  @@ -985,6 +985,8 @@
   jk_pool_atom_t buf[SMALL_POOL_SIZE];
   char *worker_name;
   
  +/* TODO: Make maintain call configurable */
  +wc_maintain(logger);
   jk_init_ws_service(&s);
   jk_open_pool(&private_data.p, buf, sizeof(buf));
   
  
  
  
  1.23  +3 -1  
jakarta-tomcat-connectors/jk/native/netscape/jk_nsapi_plugin.c
  
  Index: jk_nsapi_plugin.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native/netscape/jk_nsapi_plugin.c,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- jk_nsapi_plugin.c 21 Feb 2005 09:34:25 -  1.22
  +++ jk_nsapi_plugin.c 24 Apr 2005 10:02:16 -  1.23
  @@ -322,6 +322,8 @@
   s.ws_private = &private_data;
   s.pool = &private_data.p;
   
  +/* TODO: Make maintain call configurable */
  +wc_maintain(logger);
   if (init_ws_service(&private_data, &s)) {
   jk_endpoint_t *e = NULL;
   if (worker->get_endpoint(worker, &e, logger)) {
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp12_worker.c jk_ajp13_worker.c jk_ajp14_worker.c jk_ajp_common.c jk_ajp_common.h jk_lb_worker.c jk_service.h jk_worker.c jk_worker.h

2005-04-24 Thread mturk
mturk   2005/04/24 02:54:47

  Modified:jk/native/common jk_ajp12_worker.c jk_ajp13_worker.c
jk_ajp14_worker.c jk_ajp_common.c jk_ajp_common.h
jk_lb_worker.c jk_service.h jk_worker.c jk_worker.h
  Log:
  Added wc_maintain, that will recycle all connections regardless of the
  elected worker. Added new worker callback 'maintain' that does the
  actual job.
  
  Revision  ChangesPath
  1.28  +3 -2  
jakarta-tomcat-connectors/jk/native/common/jk_ajp12_worker.c
  
  Index: jk_ajp12_worker.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp12_worker.c,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- jk_ajp12_worker.c 17 Feb 2005 07:10:23 -  1.27
  +++ jk_ajp12_worker.c 24 Apr 2005 09:54:47 -  1.28
  @@ -16,7 +16,7 @@
   
   /***
* Description: ajpv1.2 worker, used to call local or remote jserv hosts   *
  - *  This worker is deprecated  * 
  + *  This worker is deprecated  *
* Author:  Gal Shachor <[EMAIL PROTECTED]>   *
* Based on:jserv_ajpv12.c from Jserv  *
* Version: $Revision$  *
  @@ -254,6 +254,7 @@
   private_data->worker.init = init;
   private_data->worker.get_endpoint = get_endpoint;
   private_data->worker.destroy = destroy;
  +private_data->worker.maintain = NULL;
   private_data->worker.retries = JK_RETRIES;
   
   *w = &private_data->worker;
  
  
  
  1.25  +3 -2  
jakarta-tomcat-connectors/jk/native/common/jk_ajp13_worker.c
  
  Index: jk_ajp13_worker.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp13_worker.c,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- jk_ajp13_worker.c 15 Feb 2005 08:52:53 -  1.24
  +++ jk_ajp13_worker.c 24 Apr 2005 09:54:47 -  1.25
  @@ -86,7 +86,7 @@
   JK_TRACE_EXIT(l);
   return 0;
   }
  -
  +
   aw = (ajp_worker_t *) calloc(1, sizeof(ajp_worker_t));
   if (!aw) {
   jk_log(l, JK_LOG_ERROR,
  @@ -108,6 +108,7 @@
   aw->worker.init = init;
   aw->worker.get_endpoint = get_endpoint;
   aw->worker.destroy = destroy;
  +aw->worker.maintain = ajp_maintain;
   aw->worker.retries = JK_RETRIES;
   
   aw->logon = NULL;   /* No Logon on AJP13 */
  
  
  
  1.29  +5 -4  
jakarta-tomcat-connectors/jk/native/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp14_worker.c,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- jk_ajp14_worker.c 15 Feb 2005 08:52:53 -  1.28
  +++ jk_ajp14_worker.c 24 Apr 2005 09:54:47 -  1.29
  @@ -133,10 +133,10 @@
   return JK_TRUE;
   }
   
  -/* 
  - * AJP14 Logon Phase 
  +/*
  + * AJP14 Logon Phase
*
  - * INIT + REPLY / NEGO + REPLY 
  + * INIT + REPLY / NEGO + REPLY
*/
   
   static int handle_logon(ajp_endpoint_t * ae,
  @@ -423,6 +423,7 @@
   aw->worker.init = init;
   aw->worker.get_endpoint = get_endpoint;
   aw->worker.destroy = destroy;
  +aw->worker.maintain = ajp_maintain;
   aw->worker.retries = JK_RETRIES;
   
   aw->logon = logon;  /* LogOn Handler for AJP14 */
  
  
  
  1.102 +143 -115  
jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.c
  
  Index: jk_ajp_common.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.c,v
  retrieving revision 1.101
  retrieving revision 1.102
  diff -u -r1.101 -r1.102
  --- jk_ajp_common.c   21 Apr 2005 12:04:18 -  1.101
  +++ jk_ajp_common.c   24 Apr 2005 09:54:47 -  1.102
  @@ -52,7 +52,7 @@
   tv.tv_sec = 0;
   select(0, NULL, NULL, NULL, &tv);
   #endif
  -} 
  +}
   
   const char *response_trans_headers[] = {
   "Content-Type",
  @@ -68,7 +68,7 @@
   "WWW-Authenticate"
   };
   
  -static const char *long_res_header_for_sc(int sc) 
  +static const char *long_res_header_for_sc(int sc)
   {
   const char *rc = NULL;
   sc = sc & 0X00FF;
  @@ -248,7 +248,7 @@
   }
   
   /* NOTREACHED */
  -} 
  +}
   
   static int sc_for_req_header(const char *header_name)
   {
  @@ -262,7 +262,7 @@
*/
   if (len < 4 || len > 15)
   return UNKNOWN_METHOD;
  -
  +
   while (*p)

cvs commit: jakarta-tomcat-connectors/jk/native/common jk_connect.c jk_connect.h

2005-04-24 Thread mturk
mturk   2005/04/24 02:52:57

  Modified:jk/native/common jk_connect.c jk_connect.h
  Log:
  Added jk_shutdown_socket function, that cracefully closes the AJP
  connection by sending FIN. Should help resolving WAIT_CLOSE sockets
  on some unixes.
  
  Revision  ChangesPath
  1.54  +56 -2 jakarta-tomcat-connectors/jk/native/common/jk_connect.c
  
  Index: jk_connect.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_connect.c,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- jk_connect.c  21 Apr 2005 11:36:29 -  1.53
  +++ jk_connect.c  24 Apr 2005 09:52:57 -  1.54
  @@ -460,6 +460,60 @@
   return -1;
   }
   
  +#ifndef MAX_SECS_TO_LINGER
  +#define MAX_SECS_TO_LINGER 30
  +#endif
  +#define SECONDS_TO_LINGER  2
  +
  +int jk_shutdown_socket(int s)
  +{
  +unsigned char dummy[512];
  +int nbytes;
  +int ttl = 0;
  +#if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))
  +int tmout = SECONDS_TO_LINGER * 1000;
  +if (s == INVALID_SOCKET)
  +#else
  +struct timeval tv;
  +if (s < 0)
  +#endif
  +return -1;
  +
  +/* Shut down the socket for write, which will send a FIN
  + * to the peer.
  + */
  +if (shutdown(s, SD_SEND)) {
  +return jk_close_socket(s);
  +}
  +#if defined(WIN32)
  +setsockopt(s, SOL_SOCKET, SO_RCVTIMEO,
  +   (const char *) &tmout, sizeof(int));
  +setsockopt(s, SOL_SOCKET, SO_SNDTIMEO,
  +   (const char *) &tmout, sizeof(int));
  +#elif defined(SO_RCVTIMEO) && defined(USE_SO_RCVTIMEO) && 
defined(SO_SNDTIMEO) && defined(USE_SO_SNDTIMEO)
  +tv.tv_sec  = SECONDS_TO_LINGER;
  +tv.tv_usec = 0;
  +setsockopt(s, SOL_SOCKET, SO_RCVTIMEO,
  +   (const void *) &tv, sizeof(tv));
  +setsockopt(s, SOL_SOCKET, SO_SNDTIMEO,
  +   (const void *) &tv, sizeof(tv));
  +#endif
  +/* Read all data from the peer until we reach "end-of-file" (FIN
  + * from peer) or we've exceeded our overall timeout. If the client does
  + * not send us bytes within 2 seconds (a value pulled from Apache 1.3
  + * which seems to work well), close the connection.
  + */
  +while (1) {
  +nbytes = jk_tcp_socket_recvfull(s, dummy, sizeof(dummy));
  +if (nbytes <= 0)
  +break;
  +ttl += SECONDS_TO_LINGER;
  +if (ttl > MAX_SECS_TO_LINGER)
  +break;
  +}
  +return jk_close_socket(s);
  +}
  +
   /** send a long message
* @param sd  opened socket.
* @param b   buffer containing the data.
  @@ -553,7 +607,7 @@
   fd_set fd;
   struct timeval tv;
   int rc;
  -
  +
   FD_ZERO(&fd);
   FD_SET(sd, &fd);
   
  
  
  
  1.15  +3 -1  jakarta-tomcat-connectors/jk/native/common/jk_connect.h
  
  Index: jk_connect.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_connect.h,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- jk_connect.h  21 Apr 2005 11:36:29 -  1.14
  +++ jk_connect.h  24 Apr 2005 09:52:57 -  1.15
  @@ -45,6 +45,8 @@
   
   int jk_close_socket(int s);
   
  +int jk_shutdown_socket(int s);
  +
   int jk_tcp_socket_sendfull(int sd, const unsigned char *b, int len);
   
   int jk_tcp_socket_recvfull(int sd, unsigned char *b, int len);
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/modules/cluster to-do.txt

2005-04-24 Thread pero
pero2005/04/24 02:45:52

  Modified:modules/cluster to-do.txt
  Log:
  add my detected cluster problems when restarting applications or complete 
nodes
  
  Revision  ChangesPath
  1.14  +43 -1 jakarta-tomcat-catalina/modules/cluster/to-do.txt
  
  Index: to-do.txt
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/to-do.txt,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- to-do.txt 22 Apr 2005 20:33:45 -  1.13
  +++ to-do.txt 24 Apr 2005 09:45:52 -  1.14
  @@ -64,7 +64,49 @@
via XML documents and http
   - display stats as xml
   - operation via JMX (MX4J adaptor)   
  -
  +
  +
  +problems
  +   
  +- How we can stop the request traffic when restart an application?
  +currently the jk 1.2.10 can only disable the complete loadbalancer,
  +but this detect only the new session request desicion.
  +Request with sessions marks send to tomcat. 
  +
  +- Can't stop message replication for a spezial member and application
  +   - this need a spezial cluster message and send filter at SimpleTcpCluster
  + 
  +- Don't generate cluster message when no member is at cluster!
  +   - Register DeltaManager as Cluster LifecycleListener and stop cresting 
and sending
  +   - Reduce memory consume when only one node is active
  +   
  +- WaitForAck mode and resend probleme
  +   - When session serialzisation needs more time then wait ack timeout, 
  + the sender send GETALLSESSIONS again!!
  + Bad for performance and memory, sometimes it drop both nodes very 
quickly!
  +   => Some message need a flag that resend is not allowed!
  + proposed transfer protocol and api change between Transmitter/Senders  
and ObjectReader/Receiver
  +not used byte[] instead a better transfer message format
  +   header [TC]2 bytes
  +   type=  reserved   1 byte
  +   compress = true/false  1 byte 1 true 0 false
  +   resendAllowed = true/false 1 byte
  +   isResendPackage = true/false   1 byte
  +   splitpackage=true/false1 byte
  +   packagenumber= int 2 bytes
  +   lastpackagenumber= int 2 bytes
  +   length
  4 bytes
  +   orignalLength  4 bytes
  +   byte[] length
  +   
  +   orignalLength != length when compress = true, for better default 
byte allocation at receiver) 
  +
  + see "Nice to have" also
  + 
  +- the resending is also a problem with FarmDeployer.
  +   when last package received and starting the application needs time > 
wait-ack timeout
  +   => the last war file packge are resend 
  +
   ==
   Nice to have:
   ==   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Yahoo! Auto Response

2005-04-24 Thread hutchdispatch
Hi

Your Mail Have been received and you will be reponded soon.
 Thank You
Gaurav Gupta
[EMAIL PROTECTED]
[EMAIL PROTECTED]




Original Message:


X-YahooFilteredBulk: 202.164.56.103
Authentication-Results: mta352.mail.scd.yahoo.com
  from=jakarta.apache.org; domainkeys=neutral (no sig)
X-Originating-IP: [202.164.56.103]
Return-Path: 
Received: from 202.164.56.103  (EHLO yahoo.com) (202.164.56.103)
  by mta352.mail.scd.yahoo.com with SMTP; Sun, 24 Apr 2005 02:45:15 -0700
From: tomcat-dev@jakarta.apache.org
To: [EMAIL PROTECTED]
Subject: Re: Hello
Date: Sun, 24 Apr 2005 15:11:42 +0530
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="=_NextPart_000_0016=_NextPart_000_0016"
X-Priority: 3
X-MSMail-Priority: Normal

This is a multi-part message in MIME format.

--=_NextPart_000_0016=_NextPart_000_0016
Content-Type: text/plain;
charset="Windows-1252"
Content-Transfer-Encoding: 7bit

Please confirm!


--=_NextPart_000_0016=_NextPart_000_0016
Content-Type: application/octet-stream;
name="s
_
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[EMAIL PROTECTED]: Project jakarta-tomcat-jk-native (in module jakarta-tomcat-connectors) failed

2005-04-24 Thread Bill Barker
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project jakarta-tomcat-jk-native has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 113 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- jakarta-tomcat-jk-native :  Connectors to various web servers


Full details are available at:

http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -INFO- Failed with reason build failed



The following work was performed:
http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/gump_work/build_jakarta-tomcat-connectors_jakarta-tomcat-jk-native.html
Work Name: build_jakarta-tomcat-connectors_jakarta-tomcat-jk-native (Type: 
Build)
Work ended in a state of : Failed
Elapsed: 
Command Line: make 
[Working Directory: 
/usr/local/gump/public/workspace/jakarta-tomcat-connectors/jk/native]
-
Making all in common
make[1]: Entering directory 
`/home/gump/workspaces2/public/workspace/jakarta-tomcat-connectors/jk/native/common'
/bin/sh 
/usr/local/gump/public/workspace/apache-httpd/dest-24042005/build/libtool 
--silent --mode=compile gcc 
-I/usr/local/gump/public/workspace/apache-httpd/dest-24042005/include -g -O2 -g 
-O2 -pthread -DHAVE_APR  
-I/usr/local/gump/public/workspace/apr/dest-24042005/include/apr-1 -g -O2 
-DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE 
-I/home/gump/workspaces2/public/workspace/apache-httpd/srclib/pcre -I 
/opt/jdk1.4/include -I /opt/jdk1.4/include/ -c jk_ajp12_worker.c 
/usr/local/gump/public/workspace/apache-httpd/dest-24042005/build/libtool: 
/usr/local/gump/public/workspace/apache-httpd/dest-24042005/build/libtool: No 
such file or directory
make[1]: *** [jk_ajp12_worker.lo] Error 127
make[1]: Leaving directory 
`/home/gump/workspaces2/public/workspace/jakarta-tomcat-connectors/jk/native/common'
make: *** [all-recursive] Error 1
-

To subscribe to this information via syndicated feeds:
- RSS: 
http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/rss.xml
- Atom: 
http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/atom.xml

== Gump Tracking Only ===
Produced by Gump version 2.2.
Gump Run 2124042005, brutus:brutus-public:2124042005
Gump E-mail Identifier (unique within run) #20.

--
Apache Gump
http://gump.apache.org/ [Instance: brutus]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/common ChannelNioSocket.java

2005-04-24 Thread Remy Maucherat
[EMAIL PROTECTED] wrote:
billbarker2005/04/23 21:27:42
Modified:jk/java/org/apache/jk/common ChannelNioSocket.java Log: 
Give up on switching between blocking/non-blocking Sockets, also move
the Accecpt into the Poller instead of its own thread.

This is still very much experimental, and nobody should even dream of
using it in production.
Testing on Windows, it's very flakey.  On Solaris, it's stable
enough, but ChannelSocket is about 25% faster.
Does it do about the same of behavior as the APR endpoint ? (I didn't 
try it - I run Windoze for my dev, BTW ;) )

I would like AJP and HTTP to share more code. Do you think that NIO is a 
better choice, or should it remain an experiment ? To me, it seems less 
mature, robust and portable (the most annoying problem probably being 
that to get bugfixes and feature updates, you need to upgrade the JVM), 
but I don't have a whole lot of experience.

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]