Re: tomcat7:run with multi maven modules changes

2012-05-08 Thread Olivier Lamy
2012/5/9 Albert Kam :
> After the advices, i took a peek on the the eclipse maven run
> configuration that i use to launch tomcat7:run, and i notice the
> checkbox : "Resolve Workspace Artifacts".
> Ticking that checkbox, and re-run the tomcat7:run works great now,
> which can see the other modules' changes without rebuilding !
>
> Thanks a lot, i feel i can begin my fire dance now !
>
> Anyway, i just want to report something that may not be related with
> this topic in case that'd be useful.
> I have these warnings when starting up tomcat7:run :
>
> [INFO] Scanning for projects...
> [WARNING] The metadata
> C:\Users\albert\.m2\repository\org\apache\tomcat\maven\tomcat7-maven-plugin\2.0-SNAPSHOT\maven-metadata-apa
> che.snapshots.xml is invalid: end tag name  must be the same as
> start tag  from line 56 (position: TEXT seen ...arset
> ="utf-8">\n    Ext.onReady(Sonatype.init);\n  \n... @65:8)
> [WARNING] The metadata
> C:\Users\albert\.m2\repository\org\apache\tomcat\maven\tomcat7-maven-plugin\2.0-SNAPSHOT\maven-metadata-apa
> che.snapshots.xml is invalid: end tag name  must be the same as
> start tag  from line 56 (position: TEXT seen ...arset
> ="utf-8">\n    Ext.onReady(Sonatype.init);\n  \n... @65:8)
> [WARNING] The metadata
> C:\Users\albert\.m2\repository\org\apache\tomcat\maven\tomcat-maven-plugin\2.0-SNAPSHOT\maven-metadata-apac
> he.snapshots.xml is invalid: end tag name  must be the same as
> start tag  from line 56 (position: TEXT seen ...arset=
> "utf-8">\n    Ext.onReady(Sonatype.init);\n  \n... @65:8)
>

It looks you have bad metadata locally.
Maybe a misconfigured repo manager. Delete files from
C:\Users\albert\.m2\repository\org\apache\tomcat\maven\ to download
all again.

>
>
>
> On Wed, May 9, 2012 at 1:45 AM, Jeff MAURY  wrote:
>> You need to write a M2E connector for a Maven MOJO that processes your
>> projects files. I don't think this is the case for the tomcat7:run goal and
>> it should work out of of the box in Eclipse. Just need to add a Maven lunch
>> configuration with the proper goal.
>>
>> Regards
>> Jeff
>>
>>
>> On Tue, May 8, 2012 at 5:34 PM, Olivier Lamy  wrote:
>>
>>> I imagine you use tomcat7:run "inside" eclipse.
>>> Do that work outside eclipse ?
>>>
>>> Perso I don't have any issues as I use only command line and
>>> furthermore I don't use eclipse :-).
>>> I imagine there is some m2e connector to write
>>>
>>> 2012/5/8 Albert Kam :
>>> > I notice that i have to repeat these steps so that tomcat7:run will
>>> > see the newest stuffs from other maven modules :
>>> > - rebuild all of my mvn modules (including my webapp module on which
>>> > my tomcat7:run-ed, and other dependencies module)
>>> > - clean my eclipse java project, rebuilding everything
>>> > - tomcat7:run will then see the newest stuffs
>>> >
>>> > Note that i dont need to rebuild maven and eclipse project if i dont
>>> > modify the webapp maven module, tomcat7 can automatically see the
>>> > newest changes
>>> >
>>> > Ideally i would like to skip rebuilding everything in maven and then
>>> > eclipse to see the newest changes in the other modules outside webapp
>>> > module.
>>> >
>>> > Are there any tips to achieve this ?
>>> >
>>> > Thanks !
>>> >
>>> > --
>>> > Do not pursue the past. Do not lose yourself in the future.
>>> > The past no longer is. The future has not yet come.
>>> > Looking deeply at life as it is in the very here and now,
>>> > the practitioner dwells in stability and freedom.
>>> > (Thich Nhat Hanh)
>>> >
>>> > -
>>> > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>> > For additional commands, e-mail: users-h...@tomcat.apache.org
>>> >
>>>
>>>
>>>
>>> --
>>> Olivier Lamy
>>> Talend: http://coders.talend.com
>>> http://twitter.com/olamy | http://linkedin.com/in/olamy
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>
>>>
>>
>>
>> --
>> Jeff MAURY
>>
>>
>> "Legacy code" often differs from its suggested alternative by actually
>> working and scaling.
>>  - Bjarne Stroustrup
>>
>> http://www.jeffmaury.com
>> http://riadiscuss.jeffmaury.com
>> http://www.twitter.com/jeffmaury
>
>
>
> --
> Do not pursue the past. Do not lose yourself in the future.
> The past no longer is. The future has not yet come.
> Looking deeply at life as it is in the very here and now,
> the practitioner dwells in stability and freedom.
> (Thich Nhat Hanh)
>
> -
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>



-- 
Olivier Lamy
Talend: http://coders.talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

-
To unsubscribe, e-mail: users-unsubscr...

Re: tomcat7:run with multi maven modules changes

2012-05-08 Thread Albert Kam
After the advices, i took a peek on the the eclipse maven run
configuration that i use to launch tomcat7:run, and i notice the
checkbox : "Resolve Workspace Artifacts".
Ticking that checkbox, and re-run the tomcat7:run works great now,
which can see the other modules' changes without rebuilding !

Thanks a lot, i feel i can begin my fire dance now !

Anyway, i just want to report something that may not be related with
this topic in case that'd be useful.
I have these warnings when starting up tomcat7:run :

[INFO] Scanning for projects...
[WARNING] The metadata
C:\Users\albert\.m2\repository\org\apache\tomcat\maven\tomcat7-maven-plugin\2.0-SNAPSHOT\maven-metadata-apa
che.snapshots.xml is invalid: end tag name  must be the same as
start tag  from line 56 (position: TEXT seen ...arset
="utf-8">\nExt.onReady(Sonatype.init);\n  \n... @65:8)
[WARNING] The metadata
C:\Users\albert\.m2\repository\org\apache\tomcat\maven\tomcat7-maven-plugin\2.0-SNAPSHOT\maven-metadata-apa
che.snapshots.xml is invalid: end tag name  must be the same as
start tag  from line 56 (position: TEXT seen ...arset
="utf-8">\nExt.onReady(Sonatype.init);\n  \n... @65:8)
[WARNING] The metadata
C:\Users\albert\.m2\repository\org\apache\tomcat\maven\tomcat-maven-plugin\2.0-SNAPSHOT\maven-metadata-apac
he.snapshots.xml is invalid: end tag name  must be the same as
start tag  from line 56 (position: TEXT seen ...arset=
"utf-8">\nExt.onReady(Sonatype.init);\n  \n... @65:8)




On Wed, May 9, 2012 at 1:45 AM, Jeff MAURY  wrote:
> You need to write a M2E connector for a Maven MOJO that processes your
> projects files. I don't think this is the case for the tomcat7:run goal and
> it should work out of of the box in Eclipse. Just need to add a Maven lunch
> configuration with the proper goal.
>
> Regards
> Jeff
>
>
> On Tue, May 8, 2012 at 5:34 PM, Olivier Lamy  wrote:
>
>> I imagine you use tomcat7:run "inside" eclipse.
>> Do that work outside eclipse ?
>>
>> Perso I don't have any issues as I use only command line and
>> furthermore I don't use eclipse :-).
>> I imagine there is some m2e connector to write
>>
>> 2012/5/8 Albert Kam :
>> > I notice that i have to repeat these steps so that tomcat7:run will
>> > see the newest stuffs from other maven modules :
>> > - rebuild all of my mvn modules (including my webapp module on which
>> > my tomcat7:run-ed, and other dependencies module)
>> > - clean my eclipse java project, rebuilding everything
>> > - tomcat7:run will then see the newest stuffs
>> >
>> > Note that i dont need to rebuild maven and eclipse project if i dont
>> > modify the webapp maven module, tomcat7 can automatically see the
>> > newest changes
>> >
>> > Ideally i would like to skip rebuilding everything in maven and then
>> > eclipse to see the newest changes in the other modules outside webapp
>> > module.
>> >
>> > Are there any tips to achieve this ?
>> >
>> > Thanks !
>> >
>> > --
>> > Do not pursue the past. Do not lose yourself in the future.
>> > The past no longer is. The future has not yet come.
>> > Looking deeply at life as it is in the very here and now,
>> > the practitioner dwells in stability and freedom.
>> > (Thich Nhat Hanh)
>> >
>> > -
>> > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> > For additional commands, e-mail: users-h...@tomcat.apache.org
>> >
>>
>>
>>
>> --
>> Olivier Lamy
>> Talend: http://coders.talend.com
>> http://twitter.com/olamy | http://linkedin.com/in/olamy
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
>>
>
>
> --
> Jeff MAURY
>
>
> "Legacy code" often differs from its suggested alternative by actually
> working and scaling.
>  - Bjarne Stroustrup
>
> http://www.jeffmaury.com
> http://riadiscuss.jeffmaury.com
> http://www.twitter.com/jeffmaury



-- 
Do not pursue the past. Do not lose yourself in the future.
The past no longer is. The future has not yet come.
Looking deeply at life as it is in the very here and now,
the practitioner dwells in stability and freedom.
(Thich Nhat Hanh)

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



Re: maxParameterCount not applied to multipart requests

2012-05-08 Thread Kanatoko

Mark Thomas wrote:

Yep, a one line fix was required. Fixed in trunk and 7.0.x and will be
in 7.0.28 omwards.

Mark
  

I have confirmed that this issue is fixed in tomcat 7 trunk.
Thank you Mark.

--
Kanatoko
http://www.jumperz.net/

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



Re: Slow downloads through mod_jk on Windows XP

2012-05-08 Thread Andy Wang


He did that previously, and the result seemed to be that Tomcat alone 
was comparable to httpd alone, and both were better than httpd/mod_jk 
+ Tomcat; which is indeed physically to be expected : more tubing, 
less throughput (excepting quantum tunelling effects of course).

The question is more : how much of a degradation ?
15.0/19.3 = 0.77 = 23% less throughput.  I don't know if this is "a 
good chunk" or the "to be expected" kind of degradation.


According to the (looking seriously outdated) AJP protocol 
documentation at 
http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html, it would 
seem that the maximum data size "chunk" which AJP can send back from 
Tomcat to the front-end httpd is 8K at a time.  So AJP might not be 
very well suited, when it comes to send back big blobs of data.


Rainer would need to confirm if that is still the case now.

One earlier message seemed to indicate that this "httpd/mod_jk+tomcat 
deficit" only happened under Windows though, and not under Linux.  If 
that is confirmed, maybe there is some subtle difference in how the 
TCP/IP stack is being used under the one vs the other ?

Thanks for that summary,
That's about what I'm seeing.  I just created a directory containing 
Apache configured to serve up the iso file directly as well as through 
three tomcats (tomcat5.5, tomcat6, and tomcat7) to see if the behavior 
is related to tomcat that I can easily copy between different Windows 
systems.  Initial benchmarks seem to show that the behavior between 
tomcats is not an issue.Tomcat7 is using JDK 1.7 and this is 
interesting.  The benchmarks with tomcat7+jdk1.7 vary widely across the 
board (both through ajp and direct http to tomcat) from 30s-40sMB/s.  
Java 1.6 seems alot more consistent.  Not sure why yet.


I've also moved off the crappy Windows XP VM I was provided to a more 
recent Windows 2008 VM as well as a fresh Windows XP SP3 VM.  In past 
experience it seems windows XP and windows 2003 were the worst of the 
bunch with the ajp downloads dropping as low as 4-5MB/s over time.


I'm going to run a barrage of tests and provide the numbers.  Do you 
think ab -n 5 and allowing ab to average the values of 5 hits for the 
~440MB iso is a sound average?


I'll compare Windows XP performance and Windows 2008 performance and 
after that I'll do the same on a Linux VM to get a better comparison.


I also did bump up the ajpPacket size to 64K with no noticeable change 
to the benchmark numbers.  So while 8k seems crappy it doesn't seem to 
be an issue.  Given that apache and tomcat are both local I wouldn't 
expect that to be a big problem with 8k chunks given the near 
non-existent latency of local connections.


I plan on doing both local ab requests as well as remote.  The problem 
with remote is that our network is busy, so it may account for some 
variations but I don't think I can get our IT to segment me anything for 
this purpose :(.


I'm not so concerned about a 25% hit.  I'm really more concerned with 
the drop to 4-5MB/s over time that seems to happen.


Thanks,
Andy

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



Re: Slow downloads through mod_jk on Windows XP

2012-05-08 Thread André Warnier

Caldarale, Charles R wrote:
From: Andy Wang [mailto:aw...@ptc.com] 
Subject: Re: Slow downloads through mod_jk on Windows XP



Downloading a large file through mod_jk to tomcat looks like this:
2012-05-08 16:01:22 (15.0 MB/s) - "sol-11--text-x86.iso.8" saved 
[450799616/450799616]



Downloading the same large file directly through apache looks like:
2012-05-08 16:01:58 (19.3 MB/s) - "sol-11--text-x86.iso.11" saved 
[450799616/450799616]



So apache still beats tomcat by a good chunk


No, httpd (not Apache, which is an open source software organization) beats 
httpd+Tomcat - any other result would be violating several laws of physics.  
Might be interesting to measure just Tomcat in your environment.



He did that previously, and the result seemed to be that Tomcat alone was comparable to 
httpd alone, and both were better than httpd/mod_jk + Tomcat; which is indeed physically 
to be expected : more tubing, less throughput (excepting quantum tunelling effects of 
course).

The question is more : how much of a degradation ?
15.0/19.3 = 0.77 = 23% less throughput.  I don't know if this is "a good chunk" or the "to 
be expected" kind of degradation.


According to the (looking seriously outdated) AJP protocol documentation at 
http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html, it would seem that the maximum 
data size "chunk" which AJP can send back from Tomcat to the front-end httpd is 8K at a 
time.  So AJP might not be very well suited, when it comes to send back big blobs of data.


Rainer would need to confirm if that is still the case now.

One earlier message seemed to indicate that this "httpd/mod_jk+tomcat deficit" only 
happened under Windows though, and not under Linux.  If that is confirmed, maybe there is 
some subtle difference in how the TCP/IP stack is being used under the one vs the other ?



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



RE: Slow downloads through mod_jk on Windows XP

2012-05-08 Thread Caldarale, Charles R
> From: Andy Wang [mailto:aw...@ptc.com] 
> Subject: Re: Slow downloads through mod_jk on Windows XP

> Downloading a large file through mod_jk to tomcat looks like this:
> 2012-05-08 16:01:22 (15.0 MB/s) - "sol-11--text-x86.iso.8" saved 
> [450799616/450799616]

> Downloading the same large file directly through apache looks like:
> 2012-05-08 16:01:58 (19.3 MB/s) - "sol-11--text-x86.iso.11" saved 
> [450799616/450799616]

> So apache still beats tomcat by a good chunk

No, httpd (not Apache, which is an open source software organization) beats 
httpd+Tomcat - any other result would be violating several laws of physics.  
Might be interesting to measure just Tomcat in your environment.

 - 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: Slow downloads through mod_jk on Windows XP

2012-05-08 Thread Andy Wang

After playing with this a bit more (testing this time against tomcat 7.0.27)
the ajpPacketSize has zero effect on the speed.

Downloading a large file through mod_jk to tomcat looks like this:
2012-05-08 16:01:22 (15.0 MB/s) - “sol-11--text-x86.iso.8” saved 
[450799616/450799616]


Downloading the same large file directly through apache looks like:
2012-05-08 16:01:58 (19.3 MB/s) - “sol-11--text-x86.iso.11” saved 
[450799616/450799616]



the numbers are pretty consistent. So apache still beats tomcat by a 
good chunk but it's much much better than with tomcat 5.0 where the 
through tomcat numbers were about half that.


I'm still wondering if there's something that can be tweaked in the MS 
TCP/IP stack to bring the two together closer.


Andy

On 05/08/2012 02:06 PM, Andy Wang wrote:

On 05/07/2012 06:50 PM, Andy Wang wrote:

On 05/07/2012 06:06 PM, André Warnier wrote:


Considering your setup, it should not be too hard to set up a 
download of the same file file directly from Tomcat (through its 
HTTP Connector), to compare that with your two previous ways. This 
way, you could make sure if it is Tomcat, or the mod_jk/AJP link 
which is the issue.


Also, still considering your setup, it should be possible to 
configure things so that these file downloads are handled directly 
by Apache httpd, since that seems to satisfy your expectations. 
mod_jk "JkMount/JkUnMount" rules (*) should make that possible, no ?
Have to be a bit careful not to introduce security holes, and I am 
assuming that the files are static (which may be wrong here).


(*) or the  + "setHandler jakarta-servlet" 
configuration variation


Thanks for the http connector idea. I forgot about that. The primary 
reason why i'm using tomcat to download a static file is really for 
testing purposes to confirm performance between mod_jk and direct 
apache. we have servlets that stream content files that see the same 
massive performance hit so in our actual use case it's not static 
files :(. I'm thinking this would be a valid test to help at least 
tweak mod_jk to it's potential.


We've checked and double checked the buffering code of the servlets 
and it all looks fine AND the performance is fine on Linux and the 
speed characteristics are identical to serving static files through 
tomcat + mod_jk so I'm hoping that it's an apples to apples comparison.


Andy



Through the HTTP connector the performance is similar to apache 
direct. 30mb/s


So there's something interesting going on specifically ajp.

Andy

-
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: maxParameterCount not applied to multipart requests

2012-05-08 Thread Mark Thomas
On 08/05/2012 10:56, Mark Thomas wrote:
> On 08/05/2012 10:28, André Warnier wrote:
>> Christopher Schultz wrote:
>>> -BEGIN PGP SIGNED MESSAGE-
>>> Hash: SHA1
>>>
>>> Mark,
>>>
>>> On 5/7/12 5:21 PM, Mark Thomas wrote:
> Christopher Schultz wrote:
 Tomcat only processes these requests for Servlet 3.0 file upload
 and there are already sufficient limits in place for that case to
 prevent a DoS.
>>>
>>> Aah, right: multipart is only supported if the servlet has been marked
>>> as such, and therefore the developer knows to expect large mounts of
>>> data (and can configure such limits).
>>>
>>> The wildcard is the "casual multipart parsing" which allows any
>>> multipart request to be parsed without regard for such limits. Any
>>> limits (data size) imposed on the connector will be used in those
>>> cases, but "maximum number of parameters" is not one of them. I should
>>> probably update the documentation for that feature to make a note of
>>> this caveat.
>>>
>>
>> From the documentation of Commons/fileUpload, it would seem rather
>> simple - for a Java guru - to implement a counter while processing the
>> POSTed parameters, and ignore what is above maxParameterCount :
>>
>> Sample code from http://commons.apache.org/fileupload/using.html :
>>
>> // Process the uploaded items
>> Iterator iter = items.iterator();
>> while (iter.hasNext()) {
>> FileItem item = (FileItem) iter.next();
>>
>> if (item.isFormField()) {
>> processFormField(item);
>> } else {
>> processUploadedFile(item);
>> }
>> }
>>
>> (Maybe the "items" object above already has a "size" or "length" method,
>> avoiding the counter logic altogether)
>>
>> Of course by then, the POST has already been parsed, so I don't know if
>> this would help a lot to avoid a DOS attack.
>> But the maximum acceptable total size of the POST can be specified in
>> advance, to avoid this.  After all, if someone wants to allow POSTs with
>> 10,000 small parameters, then why not ?
>>
>> I do not understand on the other hand the OP's later reference to a
>> "hash collision". That sounds like a JVM issue, rather than a
>> specifically Tomcat one, no ?
> 
> It is a JVM issue (in my view and many others) but one Oracle has chosen
> not to fix.
> 
> maxParameterCount was put in place as a mitigation for this issue. It
> looks like the OP may have a valid point regarding multi-part requests -
> at least as far as the Servlet 3.0 upload code is concerned. I need to
> do review the code to see exactly what is going on.

Yep, a one line fix was required. Fixed in trunk and 7.0.x and will be
in 7.0.28 omwards.

Mark

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



Re: Slow downloads through mod_jk on Windows XP

2012-05-08 Thread Andy Wang

Which connector are you using? If you have APR available, AJP should use
the APR connector by default. Do you know if you are using APR/native?
If not, consider trying it, and use sendFile="true". I'm not sure if it
will improve anything because the real problem might be the actual
buffering between Tomcat and httpd.
Unfortunately, we found some odd problems with APR/native a long time 
ago and haven't ever gone back to it.  I don't have it available for the 
systems I need this working on to try

Wireshark should allow you to sniff traffic on localhost.


http://wiki.wireshark.org/CaptureSetup/Loopback
It doesn't work on Windows.  I've tried the loopback adapter piece, but 
it's quite obnoxious.

What am I saying, Windows is quite obnoxious :)

Andy


Re: Slow downloads through mod_jk on Windows XP

2012-05-08 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Andy,

On 5/7/12 6:38 PM, Andy Wang wrote:
> This is Apache 2.2.22 and mod_jk 1.2.32 with tomcat 5.0.30 (yeah,
> I know this is ancient.  I'll try with something newer tomorrow).

Which connector are you using? If you have APR available, AJP should use
the APR connector by default. Do you know if you are using APR/native?
If not, consider trying it, and use sendFile="true". I'm not sure if it
will improve anything because the real problem might be the actual
buffering between Tomcat and httpd.

> Unfortunately, this is windows, and both apache and tomcat are
> local on the server so I can't sniff the packets between the two
> systems with wireshark.

Wireshark should allow you to sniff traffic on localhost.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk+pcmIACgkQ9CaO5/Lv0PCS1gCeI7k+2Mvg9O2uFUEfxgxhbtrU
vH8An2js/6x0MubgspXUlTASJNRjiWpS
=DOGG
-END PGP SIGNATURE-

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



Re: Slow downloads through mod_jk on Windows XP

2012-05-08 Thread Andy Wang

On 05/07/2012 06:50 PM, Andy Wang wrote:

On 05/07/2012 06:06 PM, André Warnier wrote:


Considering your setup, it should not be too hard to set up a 
download of the same file file directly from Tomcat (through its HTTP 
Connector), to compare that with your two previous ways.  This way, 
you could make sure if it is Tomcat, or the mod_jk/AJP link which is 
the issue.


Also, still considering your setup, it should be possible to 
configure things so that these file downloads are handled directly by 
Apache httpd, since that seems to satisfy your expectations.  mod_jk 
"JkMount/JkUnMount" rules (*) should make that possible, no ?
Have to be a bit careful not to introduce security holes, and I am 
assuming that the files are static (which may be wrong here).


(*) or the  + "setHandler jakarta-servlet" configuration 
variation


Thanks for the http connector idea.  I forgot about that.  The primary 
reason why i'm using tomcat to download a static file is really for 
testing purposes to confirm performance between mod_jk and direct 
apache.  we have servlets that stream content files that see the same 
massive performance hit so in our actual use case it's not static 
files :(.  I'm thinking this would be a valid test to help at least 
tweak mod_jk to it's potential.


We've checked and double checked the buffering code of the servlets 
and it all looks fine AND the performance is fine on Linux and the 
speed characteristics are identical to serving static files through 
tomcat + mod_jk so I'm hoping that it's an apples to apples comparison.


Andy



Through the HTTP connector the performance is similar to apache direct.  
30mb/s


So there's something interesting going on specifically ajp.

Andy

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



Re: tomcat7:run with multi maven modules changes

2012-05-08 Thread Jeff MAURY
You need to write a M2E connector for a Maven MOJO that processes your
projects files. I don't think this is the case for the tomcat7:run goal and
it should work out of of the box in Eclipse. Just need to add a Maven lunch
configuration with the proper goal.

Regards
Jeff


On Tue, May 8, 2012 at 5:34 PM, Olivier Lamy  wrote:

> I imagine you use tomcat7:run "inside" eclipse.
> Do that work outside eclipse ?
>
> Perso I don't have any issues as I use only command line and
> furthermore I don't use eclipse :-).
> I imagine there is some m2e connector to write
>
> 2012/5/8 Albert Kam :
> > I notice that i have to repeat these steps so that tomcat7:run will
> > see the newest stuffs from other maven modules :
> > - rebuild all of my mvn modules (including my webapp module on which
> > my tomcat7:run-ed, and other dependencies module)
> > - clean my eclipse java project, rebuilding everything
> > - tomcat7:run will then see the newest stuffs
> >
> > Note that i dont need to rebuild maven and eclipse project if i dont
> > modify the webapp maven module, tomcat7 can automatically see the
> > newest changes
> >
> > Ideally i would like to skip rebuilding everything in maven and then
> > eclipse to see the newest changes in the other modules outside webapp
> > module.
> >
> > Are there any tips to achieve this ?
> >
> > Thanks !
> >
> > --
> > Do not pursue the past. Do not lose yourself in the future.
> > The past no longer is. The future has not yet come.
> > Looking deeply at life as it is in the very here and now,
> > the practitioner dwells in stability and freedom.
> > (Thich Nhat Hanh)
> >
> > -
> > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> > For additional commands, e-mail: users-h...@tomcat.apache.org
> >
>
>
>
> --
> Olivier Lamy
> Talend: http://coders.talend.com
> http://twitter.com/olamy | http://linkedin.com/in/olamy
>
> -
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>


-- 
Jeff MAURY


"Legacy code" often differs from its suggested alternative by actually
working and scaling.
 - Bjarne Stroustrup

http://www.jeffmaury.com
http://riadiscuss.jeffmaury.com
http://www.twitter.com/jeffmaury


Re: Adding the manager app to a Standalone tomcat install

2012-05-08 Thread Todd Seidenberg
On Mon, May 7, 2012 at 2:57 PM, André Warnier  wrote:

> Ognjen Blagojevic wrote:
>
>> Todd,
>>
>> On 4.5.2012 22:01, Todd Seidenberg wrote:
>>
>>> xx.x.32.16 - - [04/May/2012:13:59:05 -0600] "GET /manager/html HTTP/1.1"
>>> 404 991 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML,
>>> like Gecko) Ubuntu/12.04 Chromium/18.0.1025.151 Chrome/18.0.1025.151
>>> Safari/535.19"
>>> xx.x.32.16 - - [04/May/2012:13:59:34 -0600] "GET /manager/html HTTP/1.1"
>>> 404 991 "http://cascade:8090/"; "Mozilla/5.0 (X11; Linux x86_64)
>>> AppleWebKit/535.19 (KHTML, like Gecko) Ubuntu/12.04
>>> Chromium/18.0.1025.151
>>> Chrome/18.0.1025.151 Safari/535.19"
>>>
>>
>> Brainstorming...
>>
>> Did you check access permissions for webapps/manager directory and its
>> contents? User running Tomcat must be able to read it.
>>
>>
> And one more thing to try :
> - Stop Tomcat
> - delete all the Tomcat logfiles (before that, save a copy somewhere, for
> later reference)
> - delete the directory /usr/local/confluence-4/conf/**Standalone/ and all
> its content (Tomcat will regenerate it)
> - start Tomcat and try again to access the manager app
> - stop Tomcat
> - paste the full content here, of the logfile which shows Tomcat being
> started and the applications being deployed, up to the end showing Tomcat
> being stopped
>
> Note: the directory /usr/local/confluence-4/conf/**Standalone/ is named
> so, instead of the more classic /usr/local/confluence-4/conf/**Catalina/,
> because in your server.xml, the  tag has been modified, compared to
> the standard Tomcat 6 server.xml.
> (the "name" attribute value was changed from "Catalina" to "Standalone").
> (And maybe this has something to do with the issue here; it may in any
> case change the way things are being logged)
>
>
Folks,

I've solved this problem.

I wound up completely removing the Confluence/tomcat directories, and
restoring them from a tar'd backup. Once I did that, i took the following
steps:

- set autodeploy to 'true' in the server.xml file
- modified the tomcat-users.xml file and server.xml file to reflect the use
of a tomcat-users.xml file
- copied the manager directory (from the apache-tomcat-6.0.32/webapps
directory from a fresh untarring of the tomcat package) tot he webapps
directory
- started tomcat.


This is all I needed to do. The manager deployed correctly, and created a
manager.xml file in the appropriate place. Not sure how things had gotten
corrupted before, but they did - so I punted. It appears to have worked.

Thanks for everyone's help.

- Todd



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


Re: tomcat7:run with multi maven modules changes

2012-05-08 Thread Olivier Lamy
I imagine you use tomcat7:run "inside" eclipse.
Do that work outside eclipse ?

Perso I don't have any issues as I use only command line and
furthermore I don't use eclipse :-).
I imagine there is some m2e connector to write

2012/5/8 Albert Kam :
> I notice that i have to repeat these steps so that tomcat7:run will
> see the newest stuffs from other maven modules :
> - rebuild all of my mvn modules (including my webapp module on which
> my tomcat7:run-ed, and other dependencies module)
> - clean my eclipse java project, rebuilding everything
> - tomcat7:run will then see the newest stuffs
>
> Note that i dont need to rebuild maven and eclipse project if i dont
> modify the webapp maven module, tomcat7 can automatically see the
> newest changes
>
> Ideally i would like to skip rebuilding everything in maven and then
> eclipse to see the newest changes in the other modules outside webapp
> module.
>
> Are there any tips to achieve this ?
>
> Thanks !
>
> --
> Do not pursue the past. Do not lose yourself in the future.
> The past no longer is. The future has not yet come.
> Looking deeply at life as it is in the very here and now,
> the practitioner dwells in stability and freedom.
> (Thich Nhat Hanh)
>
> -
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>



-- 
Olivier Lamy
Talend: http://coders.talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

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



Re: Start Tomcat6 service with StartMode as java

2012-05-08 Thread Konstantin Kolinko
2012/5/8 Venkata R Madugundu :
> Hi,
>
> We have been trying to run Tomcat6 windows service to spawn java.exe
> instead of loading having JVM loaded in process.
> I have tried to follow through all the documentation of Tomcat6 and procrun
> to use StartMode as 'java'.

You have to go to Apache Commons Daemon project and read their docs
(and sources)

>
> But no matter how I tweak the arguments, the StartMode with 'java' does not
> seem to work. Do you know if there is a deterministic way to make it work.
> We are using Tomcat 6.0.20
>

Old...  The commons-daemon bundled there is also old.


> Here is the relevant content of the service install script.
>
> ---
> set INSTALL_DIR=%~dp0
>
> rem Tomcat 'catalina home' and 'catalina base' paths
> cd ..
> set CATALINA_HOME=%cd%
> set CATALINA_BASE=%CATALINA_HOME%
> cd .\bin
>
> rem Java path relative to ASBNode
> set ASBNODE_DIR=%INSTALL_DIR:\Clients\MetaBrokersAndBridges\web\bin\=%
> set ASBNODE_DIR=%ASBNODE_DIR%\ASBNode
> set
> JVM_OPTIONS="-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf
> \logging.properties"
>
> set SERVICE_NAME=MBB
> set SERVICE_EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe
>
> set OPTIONS=--DisplayName "IBM InfoSphere Metadata Integration Bridges"
> set OPTIONS=%OPTIONS% --Description "IBM InfoSphere Metadata Integration
> Bridges"
> set OPTIONS=%OPTIONS% --Install %SERVICE_EXECUTABLE%
> set OPTIONS=%OPTIONS% --LogPath %CATALINA_BASE%\logs
> set OPTIONS=%OPTIONS% --Classpath %CATALINA_HOME%\bin
> \bootstrap.jar;%CATALINA_HOME%\bin\tomcat-juli.jar
> set OPTIONS=%OPTIONS% --StartMode Java
> set OPTIONS=%OPTIONS% --StopMode Java
> set OPTIONS=%OPTIONS% --JavaHome %ASBNODE_DIR%\apps\jre
> set OPTIONS=%OPTIONS% --StartClass org.apache.catalina.startup.Bootstrap
> set OPTIONS=%OPTIONS% --StartParams start
> set OPTIONS=%OPTIONS% --StopClass org.apache.catalina.startup.Bootstrap
> set OPTIONS=%OPTIONS% --StopParams stop
> set OPTIONS=%OPTIONS% --JvmOptions %JVM_OPTIONS%
> set OPTIONS=%OPTIONS% --StdOutput auto
> set OPTIONS=%OPTIONS% --StdError auto
> set OPTIONS=%OPTIONS% --JvmMs 128
> set OPTIONS=%OPTIONS% --JvmMx 1024
> set OPTIONS=%OPTIONS% --LogLevel Debug
>
> "%SERVICE_EXECUTABLE%" //IS//%SERVICE_NAME% %OPTIONS%
> if not errorlevel 1 goto end
> echo Failed installing '%SERVICE_NAME%' service
> goto end
>
> echo The service '%SERVICE_NAME%' has been installed.
> :end
> cd %INSTALL_DIR%
>

I'd first configure everything via GUI.  I think I am not mistaken
that all the parameters that you are passing above are settable
through prunmgr GUI.

That is if "java" mode actually does work on Windows
(I have never tried it, and that would be a Commons Daemon question).

Why do you want "java.exe"? Why cannot you start Tomcat with a *.bat file?

Also IIRC it was mentioned several times that in Vista and later
services cannot interact with Desktop. You have not mentioned what
your OS is.

Best regards,
Konstantin Kolinko

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



RE: Start Tomcat6 service with StartMode as java

2012-05-08 Thread Filip Hanik (mailing lists)
The Java Service Wrapper does this for you, if you want to try an
alternative
http://wrapper.tanukisoftware.com/doc/english/download.jsp


> -Original Message-
> From: Venkata R Madugundu [mailto:venkataraman...@in.ibm.com]
> Sent: Tuesday, May 08, 2012 8:07 AM
> To: Venkata R Madugundu
> Cc: users@tomcat.apache.org
> Subject: Re: Start Tomcat6 service with StartMode as java
> 
> Hi,
> 
> We have been trying to run Tomcat6 windows service to spawn java.exe
> instead of loading having JVM loaded in process.
> I have tried to follow through all the documentation of Tomcat6 and
> procrun
> to use StartMode as 'java'.
> 
> But no matter how I tweak the arguments, the StartMode with 'java' does
> not
> seem to work. Do you know if there is a deterministic way to make it
> work.
> We are using Tomcat 6.0.20
> 
> Here is the relevant content of the service install script.
> 
> 
> 
> ---
> set INSTALL_DIR=%~dp0
> 
> rem Tomcat 'catalina home' and 'catalina base' paths
> cd ..
> set CATALINA_HOME=%cd%
> set CATALINA_BASE=%CATALINA_HOME%
> cd .\bin
> 
> rem Java path relative to ASBNode
> set ASBNODE_DIR=%INSTALL_DIR:\Clients\MetaBrokersAndBridges\web\bin\=%
> set ASBNODE_DIR=%ASBNODE_DIR%\ASBNode
> set
> JVM_OPTIONS="-Dcatalina.base=%CATALINA_BASE%;-
> Dcatalina.home=%CATALINA_HOME%;-
> Djava.endorsed.dirs=%CATALINA_HOME%\endorsed;-
> Djava.io.tmpdir=%CATALINA_BASE%\temp;-
> Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-
> Djava.util.logging.config.file=%CATALINA_BASE%\conf
> \logging.properties"
> 
> set SERVICE_NAME=MBB
> set SERVICE_EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe
> 
> set OPTIONS=--DisplayName "IBM InfoSphere Metadata Integration Bridges"
> set OPTIONS=%OPTIONS% --Description "IBM InfoSphere Metadata Integration
> Bridges"
> set OPTIONS=%OPTIONS% --Install %SERVICE_EXECUTABLE%
> set OPTIONS=%OPTIONS% --LogPath %CATALINA_BASE%\logs
> set OPTIONS=%OPTIONS% --Classpath %CATALINA_HOME%\bin
> \bootstrap.jar;%CATALINA_HOME%\bin\tomcat-juli.jar
> set OPTIONS=%OPTIONS% --StartMode Java
> set OPTIONS=%OPTIONS% --StopMode Java
> set OPTIONS=%OPTIONS% --JavaHome %ASBNODE_DIR%\apps\jre
> set OPTIONS=%OPTIONS% --StartClass org.apache.catalina.startup.Bootstrap
> set OPTIONS=%OPTIONS% --StartParams start
> set OPTIONS=%OPTIONS% --StopClass org.apache.catalina.startup.Bootstrap
> set OPTIONS=%OPTIONS% --StopParams stop
> set OPTIONS=%OPTIONS% --JvmOptions %JVM_OPTIONS%
> set OPTIONS=%OPTIONS% --StdOutput auto
> set OPTIONS=%OPTIONS% --StdError auto
> set OPTIONS=%OPTIONS% --JvmMs 128
> set OPTIONS=%OPTIONS% --JvmMx 1024
> set OPTIONS=%OPTIONS% --LogLevel Debug
> 
> "%SERVICE_EXECUTABLE%" //IS//%SERVICE_NAME% %OPTIONS%
> if not errorlevel 1 goto end
> echo Failed installing '%SERVICE_NAME%' service
> goto end
> 
> echo The service '%SERVICE_NAME%' has been installed.
> :end
> cd %INSTALL_DIR%
> 
> 
> ---
> 
> Thanks
> Venkat
> 
> 
> -
> 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: Start Tomcat6 service with StartMode as java

2012-05-08 Thread Venkata R Madugundu
Hi,

We have been trying to run Tomcat6 windows service to spawn java.exe
instead of loading having JVM loaded in process.
I have tried to follow through all the documentation of Tomcat6 and procrun
to use StartMode as 'java'.

But no matter how I tweak the arguments, the StartMode with 'java' does not
seem to work. Do you know if there is a deterministic way to make it work.
We are using Tomcat 6.0.20

Here is the relevant content of the service install script.

---
set INSTALL_DIR=%~dp0

rem Tomcat 'catalina home' and 'catalina base' paths
cd ..
set CATALINA_HOME=%cd%
set CATALINA_BASE=%CATALINA_HOME%
cd .\bin

rem Java path relative to ASBNode
set ASBNODE_DIR=%INSTALL_DIR:\Clients\MetaBrokersAndBridges\web\bin\=%
set ASBNODE_DIR=%ASBNODE_DIR%\ASBNode
set
JVM_OPTIONS="-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf
\logging.properties"

set SERVICE_NAME=MBB
set SERVICE_EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe

set OPTIONS=--DisplayName "IBM InfoSphere Metadata Integration Bridges"
set OPTIONS=%OPTIONS% --Description "IBM InfoSphere Metadata Integration
Bridges"
set OPTIONS=%OPTIONS% --Install %SERVICE_EXECUTABLE%
set OPTIONS=%OPTIONS% --LogPath %CATALINA_BASE%\logs
set OPTIONS=%OPTIONS% --Classpath %CATALINA_HOME%\bin
\bootstrap.jar;%CATALINA_HOME%\bin\tomcat-juli.jar
set OPTIONS=%OPTIONS% --StartMode Java
set OPTIONS=%OPTIONS% --StopMode Java
set OPTIONS=%OPTIONS% --JavaHome %ASBNODE_DIR%\apps\jre
set OPTIONS=%OPTIONS% --StartClass org.apache.catalina.startup.Bootstrap
set OPTIONS=%OPTIONS% --StartParams start
set OPTIONS=%OPTIONS% --StopClass org.apache.catalina.startup.Bootstrap
set OPTIONS=%OPTIONS% --StopParams stop
set OPTIONS=%OPTIONS% --JvmOptions %JVM_OPTIONS%
set OPTIONS=%OPTIONS% --StdOutput auto
set OPTIONS=%OPTIONS% --StdError auto
set OPTIONS=%OPTIONS% --JvmMs 128
set OPTIONS=%OPTIONS% --JvmMx 1024
set OPTIONS=%OPTIONS% --LogLevel Debug

"%SERVICE_EXECUTABLE%" //IS//%SERVICE_NAME% %OPTIONS%
if not errorlevel 1 goto end
echo Failed installing '%SERVICE_NAME%' service
goto end

echo The service '%SERVICE_NAME%' has been installed.
:end
cd %INSTALL_DIR%
---

Thanks
Venkat


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



Re: distinct HTTPS sites at distinct ports within same IP?

2012-05-08 Thread Mark Thomas
On 08/05/2012 13:17, Paul Singleton wrote:
> Is it feasible, under any Tomcat version, to offer two or more apps via
> HTTPS (with own domains & certificates) on different port numbers at a
> single IPv4 address?

Yes, under all currently supported versions.
> 
> I envisage name-based-virtual-server HTTP apps at port 80 which
> 302-redirect non-SSL requests to the corresponding port-specific HTTPS
> app, on the optimistic assumption that no-one these days actually types
> e.g.
> 
>   https://my-secure-app.megacorp.com

I do...

> just
> 
>   my-secure-app.megacorp.com
> 
> Is this a really cheesy idea? have I missed something obvious?

The port will appear in the URL and may or may not confuse some users.

I'd use httpd with SNI as a reverse proxy as a nicer solution.

Mark

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



tomcat7:run with multi maven modules changes

2012-05-08 Thread Albert Kam
I notice that i have to repeat these steps so that tomcat7:run will
see the newest stuffs from other maven modules :
- rebuild all of my mvn modules (including my webapp module on which
my tomcat7:run-ed, and other dependencies module)
- clean my eclipse java project, rebuilding everything
- tomcat7:run will then see the newest stuffs

Note that i dont need to rebuild maven and eclipse project if i dont
modify the webapp maven module, tomcat7 can automatically see the
newest changes

Ideally i would like to skip rebuilding everything in maven and then
eclipse to see the newest changes in the other modules outside webapp
module.

Are there any tips to achieve this ?

Thanks !

-- 
Do not pursue the past. Do not lose yourself in the future.
The past no longer is. The future has not yet come.
Looking deeply at life as it is in the very here and now,
the practitioner dwells in stability and freedom.
(Thich Nhat Hanh)

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



distinct HTTPS sites at distinct ports within same IP?

2012-05-08 Thread Paul Singleton
Is it feasible, under any Tomcat version, to offer two or more apps 
via HTTPS (with own domains & certificates) on different port numbers 
at a single IPv4 address?


I envisage name-based-virtual-server HTTP apps at port 80 which 
302-redirect non-SSL requests to the corresponding port-specific HTTPS 
app, on the optimistic assumption that no-one these days actually 
types e.g.


  https://my-secure-app.megacorp.com

just

  my-secure-app.megacorp.com

Is this a really cheesy idea? have I missed something obvious?

Paul Singleton


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



Re: maxParameterCount not applied to multipart requests

2012-05-08 Thread Mark Thomas
On 08/05/2012 10:28, André Warnier wrote:
> Christopher Schultz wrote:
>> -BEGIN PGP SIGNED MESSAGE-
>> Hash: SHA1
>>
>> Mark,
>>
>> On 5/7/12 5:21 PM, Mark Thomas wrote:
 Christopher Schultz wrote:
>>> Tomcat only processes these requests for Servlet 3.0 file upload
>>> and there are already sufficient limits in place for that case to
>>> prevent a DoS.
>>
>> Aah, right: multipart is only supported if the servlet has been marked
>> as such, and therefore the developer knows to expect large mounts of
>> data (and can configure such limits).
>>
>> The wildcard is the "casual multipart parsing" which allows any
>> multipart request to be parsed without regard for such limits. Any
>> limits (data size) imposed on the connector will be used in those
>> cases, but "maximum number of parameters" is not one of them. I should
>> probably update the documentation for that feature to make a note of
>> this caveat.
>>
> 
> From the documentation of Commons/fileUpload, it would seem rather
> simple - for a Java guru - to implement a counter while processing the
> POSTed parameters, and ignore what is above maxParameterCount :
> 
> Sample code from http://commons.apache.org/fileupload/using.html :
> 
> // Process the uploaded items
> Iterator iter = items.iterator();
> while (iter.hasNext()) {
> FileItem item = (FileItem) iter.next();
> 
> if (item.isFormField()) {
> processFormField(item);
> } else {
> processUploadedFile(item);
> }
> }
> 
> (Maybe the "items" object above already has a "size" or "length" method,
> avoiding the counter logic altogether)
> 
> Of course by then, the POST has already been parsed, so I don't know if
> this would help a lot to avoid a DOS attack.
> But the maximum acceptable total size of the POST can be specified in
> advance, to avoid this.  After all, if someone wants to allow POSTs with
> 10,000 small parameters, then why not ?
> 
> I do not understand on the other hand the OP's later reference to a
> "hash collision". That sounds like a JVM issue, rather than a
> specifically Tomcat one, no ?

It is a JVM issue (in my view and many others) but one Oracle has chosen
not to fix.

maxParameterCount was put in place as a mitigation for this issue. It
looks like the OP may have a valid point regarding multi-part requests -
at least as far as the Servlet 3.0 upload code is concerned. I need to
do review the code to see exactly what is going on. Outside of Servlet
3.0 file upload, I don't believe it is a Tomcat concern.

Mark

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



Re: maxParameterCount not applied to multipart requests

2012-05-08 Thread André Warnier

Christopher Schultz wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Mark,

On 5/7/12 5:21 PM, Mark Thomas wrote:

Christopher Schultz wrote:

Tomcat only processes these requests for Servlet 3.0 file upload
and there are already sufficient limits in place for that case to
prevent a DoS.


Aah, right: multipart is only supported if the servlet has been marked
as such, and therefore the developer knows to expect large mounts of
data (and can configure such limits).

The wildcard is the "casual multipart parsing" which allows any
multipart request to be parsed without regard for such limits. Any
limits (data size) imposed on the connector will be used in those
cases, but "maximum number of parameters" is not one of them. I should
probably update the documentation for that feature to make a note of
this caveat.



From the documentation of Commons/fileUpload, it would seem rather simple - for a Java 
guru - to implement a counter while processing the POSTed parameters, and ignore what is 
above maxParameterCount :


Sample code from http://commons.apache.org/fileupload/using.html :

// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();

if (item.isFormField()) {
processFormField(item);
} else {
processUploadedFile(item);
}
}

(Maybe the "items" object above already has a "size" or "length" method, avoiding the 
counter logic altogether)


Of course by then, the POST has already been parsed, so I don't know if this would help a 
lot to avoid a DOS attack.
But the maximum acceptable total size of the POST can be specified in advance, to avoid 
this.  After all, if someone wants to allow POSTs with 10,000 small parameters, then why not ?


I do not understand on the other hand the OP's later reference to a "hash collision". 
That sounds like a JVM issue, rather than a specifically Tomcat one, no ?


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



Re: munin tomcat and mysql

2012-05-08 Thread André Warnier

Christopher Schultz wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Miguel,

On 5/7/12 12:16 PM, Miguel González Castaños wrote:

Since it's a virtual machine, is munin going to take many
resources of my system or is it a light tool?


Maybe ask on the Munin list?

Does anyone know of any nice tutorial of installing in CentOS and 
Tomcat? I find many articles about installing in CentOS and Apache,

but not Tomcat


It appears that Munin is written in Perl, which isn't the best
environment for deploying into Tomcat. Tomcat does support CGI (you'll
have to enable it: there is fairly clear documentation on how to set
it up) but it's probably more appropriate to use Apache httpd or one
of the lighter HTTP servers out there (lighttpd, nginx, etc.).



From the munin website :
"Munin uses the excellent RRDTool (written by Tobi Oetiker) and the framework is written 
in Perl, while plugins may be written in any language. Munin has a master/node 
architecture in which the master connects to all the nodes at regular intervals and asks 
them for data. It then stores the data in RRD files, and (if needed) updates the graphs. 
One of the main goals has been ease of creating new plugins (graphs)."


In other words, "munin" functionally consists of 2 parts :

1) a series of "agent plugins" which run on the machine being monitored.  They 
periodically collect information about the machine and store it (essentially as numbers) 
in some local file(s).
These processes are generally lightweight, and they can be written in any language.  So a 
munin agent monitoring Tomcat could be written in Java, and it could be a standalone 
module or a webapp.


2) the "server", or "display" part of munin.  That is written in Perl, and usually runs on 
a separate machine.  It periodically contacts the agents in (1), retreives the information 
they have collected, and processes it into graphics which can be accessed via a web 
interface.  This part is quite heavy, because it has to process a lot of data into graphics.


So, I would say that as long as your "munin server" is running on a separate host, 
monitoring your tomact via munin plugins should not have a heavy impact on performance.



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



Re: maxParameterCount not applied to multipart requests

2012-05-08 Thread Kanatoko

I had some tests on a servlet with @MultipartConfig and getParts()
and find that the hash collision attack was still in place.

Parameters like below cause the problem.
*
--abc
Content-Disposition: form-data; name="EyEyEyEyEyEyEyEyEyEyEyEyEyEyEy"

1
--abc
Content-Disposition: form-data; name="EyEyEyEyEyEyEyEyEyEyEyEyEyEyFZ"

1
--abc
Content-Disposition: form-data; name="EyEyEyEyEyEyEyEyEyEyEyEyEyFZEy"

1
--abc
Content-Disposition: form-data; name="EyEyEyEyEyEyEyEyEyEyEyEyEyFZFZ"

1
--abc
Content-Disposition: form-data; name="EyEyEyEyEyEyEyEyEyEyEyEyFZEyEy"

1
--abc
Content-Disposition: form-data; name="EyEyEyEyEyEyEyEyEyEyEyEyFZEyFZ"

1
(repeat)
*

As I wrote, the number of parameters is not limited to 1.

Thanks.

--
Kanatoko
http://www.jumperz.net/




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