Re: WebSocket status

2012-03-01 Thread Mark Thomas
On 28/02/2012 21:29, Mark Thomas wrote:
> On 28/02/2012 18:53, Filip Hanik - Dev Lists wrote:
>> On 2/28/2012 11:39 AM, Mark Thomas wrote:
> 
>>> You may also be able to help with some problems I am having getting
>>> non-blocking behaviour between messages with NIO. I'm not 100% clear
>>> what is happening yet, but I think it is something like:
>>> - HTTP GET (with upgrade request arrives
>>> - Upgrade is processed
>>> - no ws frame on the wire (yet) so process of handing back to the
>>> selector starts
>>> - first ws frame arrives
>>> - socket is handed back to the selector
>>> - selector *does not* trigger indicating there is data to process
>>> - some delay of a few seconds
>>> - client sends another ws frame
>>> - selector triggers
>>> - both frames are processed
>>
>> I can take a look at this, I've not seen this behavior before, it's been
>> very accurate.
> 
> Very similar behaviour has been observed in the unit tests for Comet
> with the NIO connector ever since they were introduced.
> 
>> Send it my way, I will take a look

I have done a little more experimentation and if I comment out line 1231
in the NioEndpoint:
unreg(sk, attachment,sk.readyOps());

(part of the NIO Poller) all the problems I see with NIO + Autobahn +
non-blocking reads go away.

This is consistent with the description above.

However, I don't think the solution is as simple as just commenting out
this line as that would result in multiple calls to processSocket(),
most of which would not be required and each call to processSocket()
results in a thread being allocated to process the data. That said, I
think some additional logic in process socket could handle this safely.

What I think is happening is that because we call
SelectionKey.interestOps(0) to prevent the poller triggering multiple
times for the same request there is currently a small window where data
can arrive for the next request that isn't read by a processing thread
and doesn't trigger the poller.

I have been thinking about a solution to this but I haven't written any
code yet. Where I think we'll end up is with a small window where two
poller events may be triggered for the same request which would result
in an extra thread being allocated for a short period of time. I know
more when I actually write the code.

Mark

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



Re: WebSocket status

2012-03-01 Thread Mark Thomas
On 01/03/2012 11:31, Mark Thomas wrote:
> On 28/02/2012 21:29, Mark Thomas wrote:
>> On 28/02/2012 18:53, Filip Hanik - Dev Lists wrote:
>>> On 2/28/2012 11:39 AM, Mark Thomas wrote:
>>
 You may also be able to help with some problems I am having getting
 non-blocking behaviour between messages with NIO. I'm not 100% clear
 what is happening yet, but I think it is something like:
 - HTTP GET (with upgrade request arrives
 - Upgrade is processed
 - no ws frame on the wire (yet) so process of handing back to the
 selector starts
 - first ws frame arrives
 - socket is handed back to the selector
 - selector *does not* trigger indicating there is data to process
 - some delay of a few seconds
 - client sends another ws frame
 - selector triggers
 - both frames are processed
>>>
>>> I can take a look at this, I've not seen this behavior before, it's been
>>> very accurate.
>>
>> Very similar behaviour has been observed in the unit tests for Comet
>> with the NIO connector ever since they were introduced.
>>
>>> Send it my way, I will take a look
> 
> I have done a little more experimentation and if I comment out line 1231
> in the NioEndpoint:
> unreg(sk, attachment,sk.readyOps());
> 
> (part of the NIO Poller) all the problems I see with NIO + Autobahn +
> non-blocking reads go away.
> 
> This is consistent with the description above.
> 
> However, I don't think the solution is as simple as just commenting out
> this line as that would result in multiple calls to processSocket(),
> most of which would not be required and each call to processSocket()
> results in a thread being allocated to process the data. That said, I
> think some additional logic in process socket could handle this safely.
> 
> What I think is happening is that because we call
> SelectionKey.interestOps(0) to prevent the poller triggering multiple
> times for the same request there is currently a small window where data
> can arrive for the next request that isn't read by a processing thread
> and doesn't trigger the poller.
> 
> I have been thinking about a solution to this but I haven't written any
> code yet. Where I think we'll end up is with a small window where two
> poller events may be triggered for the same request which would result
> in an extra thread being allocated for a short period of time. I know
> more when I actually write the code.

I have a draft patch [1] that seems to fix this. A similar change would
be required for the Comet part of Poller.processKey()

Thoughts and/or comments? Not knowing the NIO code very well, there
might be a better way to achieve the same result that I haven't seen.

Mark

[1] http://people.apache.org/~markt/patches/draft/2012-03-01-trunk-nio.patch

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



Re: svn commit: r1295286 - in /tomcat/trunk/java/org/apache/catalina/websocket: LocalStrings.properties WsFrame.java

2012-03-01 Thread Mark Thomas
On 01/03/2012 03:56, Konstantin Kolinko wrote:
> 2012/3/1  :
>> Author: markt
>> Date: Wed Feb 29 21:24:59 2012
>> New Revision: 1295286



>> Modified: tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java
>> URL: 
>> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java?rev=1295286&r1=1295285&r2=1295286&view=diff
>> ==
>> --- tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java (original)
>> +++ tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java Wed Feb 29 
>> 21:24:59 2012
>> @@ -215,8 +215,8 @@ public class WsFrame {
>> } else if (read == 0) {
>> return null;
>> } else {
>> -// TODO message
>> -throw new IOException();
>> +throw new IOException(
>> +sm.getString("frame.readFailed", 
>> Integer.valueOf(read)));
> 
> Maybe java.io.EOFException ?
> I see that read can be -1 here.

Yes, read == -1 should really be handled as a separate case.

Mark

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



svn commit: r1295572 - in /tomcat/trunk/java/org/apache/catalina/websocket: LocalStrings.properties WsFrame.java

2012-03-01 Thread markt
Author: markt
Date: Thu Mar  1 14:10:44 2012
New Revision: 1295572

URL: http://svn.apache.org/viewvc?rev=1295572&view=rev
Log:
Explicit handling for end of stream.
Based on review input from kkolinko

Modified:
tomcat/trunk/java/org/apache/catalina/websocket/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java

Modified: 
tomcat/trunk/java/org/apache/catalina/websocket/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/LocalStrings.properties?rev=1295572&r1=1295571&r2=1295572&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/websocket/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/websocket/LocalStrings.properties Thu 
Mar  1 14:10:44 2012
@@ -16,6 +16,7 @@
 frame.eos=The end of the stream was reached before the expected number of 
payload bytes could be read
 frame.invalidUtf8=A sequence of bytes was received that did not represent 
valid UTF-8
 frame.readFailed=Failed to read the first byte of the next WebSocket frame. 
The return value from the read was [{0}]
+frame.readEos=The end of the stream was reached when trying to read the first 
byte of a new WebSocket frame
 frame.notMasked=The client frame was not masked but all client frames must be 
masked
 
 is.notContinuation=A frame with the OpCode [{0}] was received when a 
continuation frame was expected

Modified: tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java?rev=1295572&r1=1295571&r2=1295572&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java (original)
+++ tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java Thu Mar  1 
14:10:44 2012
@@ -16,6 +16,7 @@
  */
 package org.apache.catalina.websocket;
 
+import java.io.EOFException;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
@@ -214,6 +215,8 @@ public class WsFrame {
 return new WsFrame(first[0], processor);
 } else if (read == 0) {
 return null;
+} else if (read == -1) {
+throw new EOFException(sm.getString("frame.readEos"));
 } else {
 throw new IOException(
 sm.getString("frame.readFailed", Integer.valueOf(read)));



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



Re: WebSocket status

2012-03-01 Thread Filip Hanik - Dev Lists

On 3/1/2012 5:33 AM, Mark Thomas wrote:

On 01/03/2012 11:31, Mark Thomas wrote:

On 28/02/2012 21:29, Mark Thomas wrote:

On 28/02/2012 18:53, Filip Hanik - Dev Lists wrote:

On 2/28/2012 11:39 AM, Mark Thomas wrote:

You may also be able to help with some problems I am having getting
non-blocking behaviour between messages with NIO. I'm not 100% clear
what is happening yet, but I think it is something like:
- HTTP GET (with upgrade request arrives
- Upgrade is processed
- no ws frame on the wire (yet) so process of handing back to the
selector starts
- first ws frame arrives
- socket is handed back to the selector
- selector *does not* trigger indicating there is data to process
- some delay of a few seconds
- client sends another ws frame
- selector triggers
- both frames are processed

I can take a look at this, I've not seen this behavior before, it's been
very accurate.

Very similar behaviour has been observed in the unit tests for Comet
with the NIO connector ever since they were introduced.


Send it my way, I will take a look

I have done a little more experimentation and if I comment out line 1231
in the NioEndpoint:
unreg(sk, attachment,sk.readyOps());

(part of the NIO Poller) all the problems I see with NIO + Autobahn +
non-blocking reads go away.

This is consistent with the description above.

However, I don't think the solution is as simple as just commenting out
this line as that would result in multiple calls to processSocket(),
most of which would not be required and each call to processSocket()
results in a thread being allocated to process the data. That said, I
think some additional logic in process socket could handle this safely.

What I think is happening is that because we call
SelectionKey.interestOps(0) to prevent the poller triggering multiple
times for the same request there is currently a small window where data
can arrive for the next request that isn't read by a processing thread
and doesn't trigger the poller.

I have been thinking about a solution to this but I haven't written any
code yet. Where I think we'll end up is with a small window where two
poller events may be triggered for the same request which would result
in an extra thread being allocated for a short period of time. I know
more when I actually write the code.

I have a draft patch [1] that seems to fix this. A similar change would
be required for the Comet part of Poller.processKey()

Thoughts and/or comments? Not knowing the NIO code very well, there
might be a better way to achieve the same result that I haven't seen.

I am going to take a look at it today. Commenting out a line like that doesn't 
seem right. It's got to fit in with the flow.
The NIO is a fairly sensitive piece of code, and it's easy to break and get 
problems like that.
Filip


Mark

[1] http://people.apache.org/~markt/patches/draft/2012-03-01-trunk-nio.patch

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





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



Re: WebSocket status

2012-03-01 Thread Filip Hanik - Dev Lists



I have a draft patch [1] that seems to fix this. A similar change would
be required for the Comet part of Poller.processKey()

Thoughts and/or comments? Not knowing the NIO code very well, there
might be a better way to achieve the same result that I haven't seen.

Mark

[1] http://people.apache.org/~markt/patches/draft/2012-03-01-trunk-nio.patch


I took a look at the patch. IMHO it's not the right way to go. You're adding in flags to compensate for the state machine in the selector. 
And by doing so, you will have the selector run more than it needs to, cause you have read interest turned on, on sockets that you are 
already processing, wasting CPU cycles.


Filip



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





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



Publishing taglibs mini-site

2012-03-01 Thread Jeremy Boynes
Is there any information lying around on how to update the taglibs site?

Is taglibs-parent/site.xml actually used or is everything in the site module?

What's the process for publishing? Where does it deploy to? Is a vote needed 
before push? Do we want to preview changes online or is a review based on local 
build enough?

Thanks
Jeremy


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



Re: WebSocket status

2012-03-01 Thread Mark Thomas
On 01/03/2012 15:03, Filip Hanik - Dev Lists wrote:
> 
>> I have a draft patch [1] that seems to fix this. A similar change would
>> be required for the Comet part of Poller.processKey()
>>
>> Thoughts and/or comments? Not knowing the NIO code very well, there
>> might be a better way to achieve the same result that I haven't seen.
>>
>> Mark
>>
>> [1]
>> http://people.apache.org/~markt/patches/draft/2012-03-01-trunk-nio.patch
> 
> I took a look at the patch. IMHO it's not the right way to go.

That doesn't surprise me. You know the NIO code better than I do.

> You're adding in flags to compensate for the state machine in the selector.

Yep. On that topic, I couldn't find any decent information on the state
machine in the selector. Do you know of any? There was a fair amount of
guess work involved investigating this issue and a clearer picture of
the state machine would help develop a better patch.

> And by doing so, you will have the selector run more than it needs to
Yep.

> cause you have read interest turned on,
Yep.

> on sockets that you are already processing,
Yep. Agree with you completely up to this point.

> wasting CPU cycles.
This part I wasn't so sure of. There is a problem here that affects
WebSocket badly and Comet intermittently and fixing that problem may
well require the trade off of additional processing. I compared the NIO
blocking figures I have and the NIO non-blocking figures to see if there
was a noticeable performance difference.

The patch does impact performance. Typically it is <3% but for large
numbers of small packets it can be as high as ~15%. On this basis my
patch is clearly far from ideal. I look forward to seeing what insights
you have on how best to solve this for both WebSocket and Comet.

Interestingly, I don't recall anything that suggests that this problem
affects HTTP although it isn't impossible that there is a very slim
window somewhere where HTTP may be affected.

Mark

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



Re: WebSocket status

2012-03-01 Thread Filip Hanik - Dev Lists

Mark, what buffer size are you referring to increase for the web socket tests 
to all pass?

Filip

On 3/1/2012 9:42 AM, Mark Thomas wrote:

On 01/03/2012 15:03, Filip Hanik - Dev Lists wrote:

I have a draft patch [1] that seems to fix this. A similar change would
be required for the Comet part of Poller.processKey()

Thoughts and/or comments? Not knowing the NIO code very well, there
might be a better way to achieve the same result that I haven't seen.

Mark

[1]
http://people.apache.org/~markt/patches/draft/2012-03-01-trunk-nio.patch

I took a look at the patch. IMHO it's not the right way to go.

That doesn't surprise me. You know the NIO code better than I do.


You're adding in flags to compensate for the state machine in the selector.

Yep. On that topic, I couldn't find any decent information on the state
machine in the selector. Do you know of any? There was a fair amount of
guess work involved investigating this issue and a clearer picture of
the state machine would help develop a better patch.


And by doing so, you will have the selector run more than it needs to

Yep.


cause you have read interest turned on,

Yep.


on sockets that you are already processing,

Yep. Agree with you completely up to this point.


wasting CPU cycles.

This part I wasn't so sure of. There is a problem here that affects
WebSocket badly and Comet intermittently and fixing that problem may
well require the trade off of additional processing. I compared the NIO
blocking figures I have and the NIO non-blocking figures to see if there
was a noticeable performance difference.

The patch does impact performance. Typically it is<3% but for large
numbers of small packets it can be as high as ~15%. On this basis my
patch is clearly far from ideal. I look forward to seeing what insights
you have on how best to solve this for both WebSocket and Comet.

Interestingly, I don't recall anything that suggests that this problem
affects HTTP although it isn't impossible that there is a very slim
window somewhere where HTTP may be affected.

Mark

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





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



DO NOT REPLY [Bug 52804] New: Make PoolProperties implement Cloneable.

2012-03-01 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=52804

 Bug #: 52804
   Summary: Make PoolProperties implement Cloneable.
   Product: Tomcat Modules
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: jdbc-pool
AssignedTo: dev@tomcat.apache.org
ReportedBy: colin.mcfarl...@incito.co.uk
Classification: Unclassified


It would be very useful to have the PoolProperties class implement the
java.lang.Cloneable interface. 

We have many databases that share the same schema, username, password,
configuration etc but differ only in their URL. Implementing a routing
datasource based on something like
org.springframework.jdbc.datasource.AbstractDataSource can then just clone a
PoolProperties object and set the one or two properties that differ in the
clone. In a spring project the properties that are common across all the
datasources are only supplied once.

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

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



Re: WebSocket status

2012-03-01 Thread Mark Thomas
On 01/03/2012 17:13, Filip Hanik - Dev Lists wrote:
> Mark, what buffer size are you referring to increase for the web socket
> tests to all pass?

Sorry, should have been clearer about that.

In o.a.c.websocket.MessageInbound

// 2MB - like maxPostSize
private int byteBufferMaxSize = 2097152;
private int charBufferMaxSize = 2097152;

I normally multiple those by 16. The buffers need to be 16M plus a bit
for the headers so I allow a large margin ;)

Mark

> 
> Filip
> 
> On 3/1/2012 9:42 AM, Mark Thomas wrote:
>> On 01/03/2012 15:03, Filip Hanik - Dev Lists wrote:
 I have a draft patch [1] that seems to fix this. A similar change would
 be required for the Comet part of Poller.processKey()

 Thoughts and/or comments? Not knowing the NIO code very well, there
 might be a better way to achieve the same result that I haven't seen.

 Mark

 [1]
 http://people.apache.org/~markt/patches/draft/2012-03-01-trunk-nio.patch

>>> I took a look at the patch. IMHO it's not the right way to go.
>> That doesn't surprise me. You know the NIO code better than I do.
>>
>>> You're adding in flags to compensate for the state machine in the
>>> selector.
>> Yep. On that topic, I couldn't find any decent information on the state
>> machine in the selector. Do you know of any? There was a fair amount of
>> guess work involved investigating this issue and a clearer picture of
>> the state machine would help develop a better patch.
>>
>>> And by doing so, you will have the selector run more than it needs to
>> Yep.
>>
>>> cause you have read interest turned on,
>> Yep.
>>
>>> on sockets that you are already processing,
>> Yep. Agree with you completely up to this point.
>>
>>> wasting CPU cycles.
>> This part I wasn't so sure of. There is a problem here that affects
>> WebSocket badly and Comet intermittently and fixing that problem may
>> well require the trade off of additional processing. I compared the NIO
>> blocking figures I have and the NIO non-blocking figures to see if there
>> was a noticeable performance difference.
>>
>> The patch does impact performance. Typically it is<3% but for large
>> numbers of small packets it can be as high as ~15%. On this basis my
>> patch is clearly far from ideal. I look forward to seeing what insights
>> you have on how best to solve this for both WebSocket and Comet.
>>
>> Interestingly, I don't recall anything that suggests that this problem
>> affects HTTP although it isn't impossible that there is a very slim
>> window somewhere where HTTP may be affected.
>>
>> Mark
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: dev-h...@tomcat.apache.org
>>
>>
> 
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 


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



Re: WebSocket status

2012-03-01 Thread Filip Hanik - Dev Lists

I see, MessageInbound has hard coded receive buffers. Got it

Filip

On 3/1/2012 10:13 AM, Filip Hanik - Dev Lists wrote:

Mark, what buffer size are you referring to increase for the web socket tests 
to all pass?

Filip

On 3/1/2012 9:42 AM, Mark Thomas wrote:

On 01/03/2012 15:03, Filip Hanik - Dev Lists wrote:

I have a draft patch [1] that seems to fix this. A similar change would
be required for the Comet part of Poller.processKey()

Thoughts and/or comments? Not knowing the NIO code very well, there
might be a better way to achieve the same result that I haven't seen.

Mark

[1]
http://people.apache.org/~markt/patches/draft/2012-03-01-trunk-nio.patch

I took a look at the patch. IMHO it's not the right way to go.

That doesn't surprise me. You know the NIO code better than I do.


You're adding in flags to compensate for the state machine in the selector.

Yep. On that topic, I couldn't find any decent information on the state
machine in the selector. Do you know of any? There was a fair amount of
guess work involved investigating this issue and a clearer picture of
the state machine would help develop a better patch.


And by doing so, you will have the selector run more than it needs to

Yep.


cause you have read interest turned on,

Yep.


on sockets that you are already processing,

Yep. Agree with you completely up to this point.


wasting CPU cycles.

This part I wasn't so sure of. There is a problem here that affects
WebSocket badly and Comet intermittently and fixing that problem may
well require the trade off of additional processing. I compared the NIO
blocking figures I have and the NIO non-blocking figures to see if there
was a noticeable performance difference.

The patch does impact performance. Typically it is<3% but for large
numbers of small packets it can be as high as ~15%. On this basis my
patch is clearly far from ideal. I look forward to seeing what insights
you have on how best to solve this for both WebSocket and Comet.

Interestingly, I don't recall anything that suggests that this problem
affects HTTP although it isn't impossible that there is a very slim
window somewhere where HTTP may be affected.

Mark

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





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





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



DO NOT REPLY [Bug 52805] New: Update to ECJ 3.7.2

2012-03-01 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=52805

 Bug #: 52805
   Summary: Update to ECJ 3.7.2
   Product: Tomcat 7
   Version: trunk
  Platform: PC
OS/Version: Windows XP
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Jasper
AssignedTo: dev@tomcat.apache.org
ReportedBy: knst.koli...@gmail.com
Classification: Unclassified


ecj-3.7.2 is available

http://download.eclipse.org/eclipse/downloads/eclipse3x.php
-> Latest Release -> 3.7.2 -> JDT Core Batch Compiler

It gives:
http://download.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/index.php#JDTCORE

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

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



Re: WebSocket status

2012-03-01 Thread Filip Hanik - Dev Lists

On 2/28/2012 11:39 AM, Mark Thomas wrote:

Thanks for the feedback.

You may also be able to help with some problems I am having getting
non-blocking behaviour between messages with NIO. I'm not 100% clear
what is happening yet, but I think it is something like:
- HTTP GET (with upgrade request arrives
- Upgrade is processed
- no ws frame on the wire (yet) so process of handing back to the
selector starts
- first ws frame arrives
- socket is handed back to the selector
- selector*does not*  trigger indicating there is data to process
- some delay of a few seconds
- client sends another ws frame
- selector triggers
- both frames are processed

I can force this behaviour 100% of the time with the debugger and it
looks very similar to the issues we see intermittently with the Comet
unit tests where two messages are processed at once.

I am wondering if we have a race condition somewhere in the NIO code
between:
- determining there is no data to read
- handling the socket back to the selector
- new data arriving
and if it is possible that for a particular sequence of events we can
end up in the state where there is data to be read but the selector
doesn't think so.

I would normally assume my non-blocking code is doing something stupid
(which it may well be anyway) but the similarity to the problem with the
Comet unit test makes me suspect at least one root cause may be elsewhere.

Any thoughts appreciated.

(Note all of my non-blocking changes are currently sitting on my local
hard drive. I can provide them if that would help.)

Mark

Alright, now that I'm all squared away with Autobahn and test cases running. Is 
there a specific unit test you have to produce this behavior?
That would help me for digging through it.
Filip

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



Re: WebSocket status

2012-03-01 Thread Mark Thomas
On 01/03/2012 18:01, Filip Hanik - Dev Lists wrote:
> Alright, now that I'm all squared away with Autobahn and test cases
> running. Is there a specific unit test you have to produce this behavior?
> That would help me for digging through it.

Assuming you are running trunk, then what you'll currently have is NIO
is a purely blocking mode. The tests should all pass and take a minute
or two to run. If you apply the following patch, you'll enable
non-blocking reads for NIO at which point large numbers of tests should
start to fail / take forever / timeout. I usually just run the section 1
tests (i.e. "cases": ["1.*"]) in fuzzing_client_spec.json when
investigating these are they are mostly small payloads easy to trace.

HTH,

Mark

--- a/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java
+++ b/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java
@@ -104,12 +104,10 @@ public class UpgradeNioProcessor extends
UpgradeProcessor {
 @Override
 public int read(boolean block, byte[] bytes, int off, int len)
 throws IOException {
-// TODO Implement non-blocking reads. Should be as simple as
replacing
-// true with block in the two lines below
 if (len > maxRead) {
-return readSocket(true, bytes, off, maxRead);
+return readSocket(block, bytes, off, maxRead);
 } else {
-return readSocket(true, bytes, off, len);
+return readSocket(block, bytes, off, len);
 }
 }

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


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



Re: WebSocket status

2012-03-01 Thread Mark Thomas
On 01/03/2012 18:00, Filip Hanik - Dev Lists wrote:
> I see, MessageInbound has hard coded receive buffers. Got it

They are configurable, they just aren't currently configured. I've been
meaning to apply a patch that would add some commented out configuration
to the examples webapp so it can just be uncommented to run the Autobahn
tests. I'll try and do that shortly.

Mark

> 
> Filip
> 
> On 3/1/2012 10:13 AM, Filip Hanik - Dev Lists wrote:
>> Mark, what buffer size are you referring to increase for the web
>> socket tests to all pass?
>>
>> Filip
>>
>> On 3/1/2012 9:42 AM, Mark Thomas wrote:
>>> On 01/03/2012 15:03, Filip Hanik - Dev Lists wrote:
> I have a draft patch [1] that seems to fix this. A similar change
> would
> be required for the Comet part of Poller.processKey()
>
> Thoughts and/or comments? Not knowing the NIO code very well, there
> might be a better way to achieve the same result that I haven't seen.
>
> Mark
>
> [1]
> http://people.apache.org/~markt/patches/draft/2012-03-01-trunk-nio.patch
>
 I took a look at the patch. IMHO it's not the right way to go.
>>> That doesn't surprise me. You know the NIO code better than I do.
>>>
 You're adding in flags to compensate for the state machine in the
 selector.
>>> Yep. On that topic, I couldn't find any decent information on the state
>>> machine in the selector. Do you know of any? There was a fair amount of
>>> guess work involved investigating this issue and a clearer picture of
>>> the state machine would help develop a better patch.
>>>
 And by doing so, you will have the selector run more than it needs to
>>> Yep.
>>>
 cause you have read interest turned on,
>>> Yep.
>>>
 on sockets that you are already processing,
>>> Yep. Agree with you completely up to this point.
>>>
 wasting CPU cycles.
>>> This part I wasn't so sure of. There is a problem here that affects
>>> WebSocket badly and Comet intermittently and fixing that problem may
>>> well require the trade off of additional processing. I compared the NIO
>>> blocking figures I have and the NIO non-blocking figures to see if there
>>> was a noticeable performance difference.
>>>
>>> The patch does impact performance. Typically it is<3% but for large
>>> numbers of small packets it can be as high as ~15%. On this basis my
>>> patch is clearly far from ideal. I look forward to seeing what insights
>>> you have on how best to solve this for both WebSocket and Comet.
>>>
>>> Interestingly, I don't recall anything that suggests that this problem
>>> affects HTTP although it isn't impossible that there is a very slim
>>> window somewhere where HTTP may be affected.
>>>
>>> Mark
>>>
>>> -
>>> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>>> For additional commands, e-mail: dev-h...@tomcat.apache.org
>>>
>>>
>>
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: dev-h...@tomcat.apache.org
>>
>>
> 
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 


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



Re: WebSocket status

2012-03-01 Thread Costin Manolache
On Thu, Mar 1, 2012 at 9:54 AM, Mark Thomas  wrote:

> On 01/03/2012 17:13, Filip Hanik - Dev Lists wrote:
> > Mark, what buffer size are you referring to increase for the web socket
> > tests to all pass?
>
> Sorry, should have been clearer about that.
>
> In o.a.c.websocket.MessageInbound
>
>// 2MB - like maxPostSize
>private int byteBufferMaxSize = 2097152;
>private int charBufferMaxSize = 2097152;
>
> I normally multiple those by 16. The buffers need to be 16M plus a bit
> for the headers so I allow a large margin ;)
>

I hope neither 2M or 16M will be allocated by default - that's the limit on
growth ?

I'm curious, did you do any load test - and what's the max number of
websocket connections that can be kept alive with APR/NIO ?


Costin


>
> Mark
>
> >
> > Filip
> >
> > On 3/1/2012 9:42 AM, Mark Thomas wrote:
> >> On 01/03/2012 15:03, Filip Hanik - Dev Lists wrote:
>  I have a draft patch [1] that seems to fix this. A similar change
> would
>  be required for the Comet part of Poller.processKey()
> 
>  Thoughts and/or comments? Not knowing the NIO code very well, there
>  might be a better way to achieve the same result that I haven't seen.
> 
>  Mark
> 
>  [1]
> 
> http://people.apache.org/~markt/patches/draft/2012-03-01-trunk-nio.patch
> 
> >>> I took a look at the patch. IMHO it's not the right way to go.
> >> That doesn't surprise me. You know the NIO code better than I do.
> >>
> >>> You're adding in flags to compensate for the state machine in the
> >>> selector.
> >> Yep. On that topic, I couldn't find any decent information on the state
> >> machine in the selector. Do you know of any? There was a fair amount of
> >> guess work involved investigating this issue and a clearer picture of
> >> the state machine would help develop a better patch.
> >>
> >>> And by doing so, you will have the selector run more than it needs to
> >> Yep.
> >>
> >>> cause you have read interest turned on,
> >> Yep.
> >>
> >>> on sockets that you are already processing,
> >> Yep. Agree with you completely up to this point.
> >>
> >>> wasting CPU cycles.
> >> This part I wasn't so sure of. There is a problem here that affects
> >> WebSocket badly and Comet intermittently and fixing that problem may
> >> well require the trade off of additional processing. I compared the NIO
> >> blocking figures I have and the NIO non-blocking figures to see if there
> >> was a noticeable performance difference.
> >>
> >> The patch does impact performance. Typically it is<3% but for large
> >> numbers of small packets it can be as high as ~15%. On this basis my
> >> patch is clearly far from ideal. I look forward to seeing what insights
> >> you have on how best to solve this for both WebSocket and Comet.
> >>
> >> Interestingly, I don't recall anything that suggests that this problem
> >> affects HTTP although it isn't impossible that there is a very slim
> >> window somewhere where HTTP may be affected.
> >>
> >> Mark
> >>
> >> -
> >> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> >> For additional commands, e-mail: dev-h...@tomcat.apache.org
> >>
> >>
> >
> >
> > -
> > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> > For additional commands, e-mail: dev-h...@tomcat.apache.org
> >
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


Re: WebSocket status

2012-03-01 Thread Mark Thomas
On 01/03/2012 18:22, Costin Manolache wrote:
> On Thu, Mar 1, 2012 at 9:54 AM, Mark Thomas  wrote:
> 
>> On 01/03/2012 17:13, Filip Hanik - Dev Lists wrote:
>>> Mark, what buffer size are you referring to increase for the web socket
>>> tests to all pass?
>>
>> Sorry, should have been clearer about that.
>>
>> In o.a.c.websocket.MessageInbound
>>
>>// 2MB - like maxPostSize
>>private int byteBufferMaxSize = 2097152;
>>private int charBufferMaxSize = 2097152;
>>
>> I normally multiple those by 16. The buffers need to be 16M plus a bit
>> for the headers so I allow a large margin ;)
>>
> 
> I hope neither 2M or 16M will be allocated by default - that's the limit on
> growth ?

Yes. Hence the "max" in the name which would be clear if you had looked
at the code.

> I'm curious, did you do any load test - and what's the max number of
> websocket connections that can be kept alive with APR/NIO ?

No, not yet.

Mark

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



svn commit: r1295724 - in /tomcat/trunk/webapps/examples/WEB-INF: classes/websocket/EchoMessage.java web.xml

2012-03-01 Thread fhanik
Author: fhanik
Date: Thu Mar  1 18:27:56 2012
New Revision: 1295724

URL: http://svn.apache.org/viewvc?rev=1295724&view=rev
Log:
Allow the examples to configure the buffer on the fly

Modified:
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java
tomcat/trunk/webapps/examples/WEB-INF/web.xml

Modified: 
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java?rev=1295724&r1=1295723&r2=1295724&view=diff
==
--- tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java 
(original)
+++ tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java 
Thu Mar  1 18:27:56 2012
@@ -20,6 +20,8 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 
+import javax.servlet.ServletException;
+
 import org.apache.catalina.websocket.MessageInbound;
 import org.apache.catalina.websocket.StreamInbound;
 import org.apache.catalina.websocket.WebSocketServlet;
@@ -28,13 +30,40 @@ import org.apache.catalina.websocket.Web
 public class EchoMessage extends WebSocketServlet {
 
 private static final long serialVersionUID = 1L;
+private volatile int byteBufSize;
+private volatile int charBufSize;
+
+@Override
+public void init() throws ServletException {
+super.init();
+byteBufSize = getInitParameterIntValue("byteBufferMaxSize", 2097152);
+charBufSize = getInitParameterIntValue("charBufferMaxSize", 2097152);
+}
+
+public int getInitParameterIntValue(String name, int defaultValue) {
+String val = this.getInitParameter(name);
+int result = defaultValue;
+try {
+result = Integer.parseInt(val);
+}catch (Exception x) {
+}
+return result;
+}
+
+
 
 @Override
 protected StreamInbound createWebSocketInbound(String subProtocol) {
-return new EchoMessageInbound();
+return new EchoMessageInbound(byteBufSize,charBufSize);
 }
 
 private static final class EchoMessageInbound extends MessageInbound {
+
+public EchoMessageInbound(int byteBufferMaxSize, int 
charBufferMaxSize) {
+super();
+setByteBufferMaxSize(byteBufferMaxSize);
+setCharBufferMaxSize(charBufferMaxSize);
+}
 
 @Override
 protected void onBinaryMessage(ByteBuffer message) throws IOException {

Modified: tomcat/trunk/webapps/examples/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/web.xml?rev=1295724&r1=1295723&r2=1295724&view=diff
==
--- tomcat/trunk/webapps/examples/WEB-INF/web.xml (original)
+++ tomcat/trunk/webapps/examples/WEB-INF/web.xml Thu Mar  1 18:27:56 2012
@@ -359,6 +359,8 @@
 
   wsEchoMessage
   websocket.EchoMessage
+  
byteBufferMaxSize20971520
+  
charBufferMaxSize20971520
 
 
   wsEchoMessage



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



Re: svn commit: r1295724 - in /tomcat/trunk/webapps/examples/WEB-INF: classes/websocket/EchoMessage.java web.xml

2012-03-01 Thread Mark Thomas
On 01/03/2012 18:27, fha...@apache.org wrote:
> Author: fhanik
> Date: Thu Mar  1 18:27:56 2012
> New Revision: 1295724
> 
> URL: http://svn.apache.org/viewvc?rev=1295724&view=rev
> Log:
> Allow the examples to configure the buffer on the fly

Guess you beat me to it. The config needs to be commented out by default
though.

Mark

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



svn commit: r1295734 - /tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java

2012-03-01 Thread markt
Author: markt
Date: Thu Mar  1 18:49:38 2012
New Revision: 1295734

URL: http://svn.apache.org/viewvc?rev=1295734&view=rev
Log:
Remove trailing whitespace

Modified:
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java

Modified: 
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java?rev=1295734&r1=1295733&r2=1295734&view=diff
==
--- tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java 
(original)
+++ tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java 
Thu Mar  1 18:49:38 2012
@@ -32,14 +32,14 @@ public class EchoMessage extends WebSock
 private static final long serialVersionUID = 1L;
 private volatile int byteBufSize;
 private volatile int charBufSize;
-
+
 @Override
 public void init() throws ServletException {
 super.init();
 byteBufSize = getInitParameterIntValue("byteBufferMaxSize", 2097152);
 charBufSize = getInitParameterIntValue("charBufferMaxSize", 2097152);
 }
-
+
 public int getInitParameterIntValue(String name, int defaultValue) {
 String val = this.getInitParameter(name);
 int result = defaultValue;
@@ -58,7 +58,7 @@ public class EchoMessage extends WebSock
 }
 
 private static final class EchoMessageInbound extends MessageInbound {
-
+
 public EchoMessageInbound(int byteBufferMaxSize, int 
charBufferMaxSize) {
 super();
 setByteBufferMaxSize(byteBufferMaxSize);



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



svn commit: r1295735 - /tomcat/trunk/webapps/examples/WEB-INF/web.xml

2012-03-01 Thread markt
Author: markt
Date: Thu Mar  1 18:50:13 2012
New Revision: 1295735

URL: http://svn.apache.org/viewvc?rev=1295735&view=rev
Log:
Comment out AutoBahn required buffer increase by default

Modified:
tomcat/trunk/webapps/examples/WEB-INF/web.xml

Modified: tomcat/trunk/webapps/examples/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/web.xml?rev=1295735&r1=1295734&r2=1295735&view=diff
==
--- tomcat/trunk/webapps/examples/WEB-INF/web.xml (original)
+++ tomcat/trunk/webapps/examples/WEB-INF/web.xml Thu Mar  1 18:50:13 2012
@@ -359,8 +359,19 @@
 
   wsEchoMessage
   websocket.EchoMessage
-  
byteBufferMaxSize20971520
-  
charBufferMaxSize20971520
+  
+  
 
 
   wsEchoMessage



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



DO NOT REPLY [Bug 51181] Add support for Web Sockets

2012-03-01 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=51181

--- Comment #46 from Johno Crawford  2012-03-01 19:13:34 UTC 
---
Created attachment 28408
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=28408
Overrides for connection open and close

I am currently working on an example for websockets. Please consider attached
attachment for notifications when connection is opened / closed.

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

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



Re: svn commit: r1295724 - in /tomcat/trunk/webapps/examples/WEB-INF: classes/websocket/EchoMessage.java web.xml

2012-03-01 Thread Filip Hanik - Dev Lists

On 3/1/2012 11:42 AM, Mark Thomas wrote:

On 01/03/2012 18:27, fha...@apache.org wrote:

Author: fhanik
Date: Thu Mar  1 18:27:56 2012
New Revision: 1295724

URL: http://svn.apache.org/viewvc?rev=1295724&view=rev
Log:
Allow the examples to configure the buffer on the fly

Guess you beat me to it. The config needs to be commented out by default
though.

sure thing, I would assume for "examples" app, we'd have the most lenient, not 
the most safe/secure config. :)


Mark

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





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



svn commit: r1295768 - /tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java

2012-03-01 Thread fhanik
Author: fhanik
Date: Thu Mar  1 20:15:24 2012
New Revision: 1295768

URL: http://svn.apache.org/viewvc?rev=1295768&view=rev
Log:
https://issues.apache.org/bugzilla/show_bug.cgi?id=52804
Implement useful interfaces for storing and copying the properties

Modified:

tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java

Modified: 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1295768&r1=1295767&r2=1295768&view=diff
==
--- 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
 Thu Mar  1 20:15:24 2012
@@ -19,6 +19,7 @@ package org.apache.tomcat.jdbc.pool;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
+import java.io.Serializable;
 import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
@@ -33,7 +34,7 @@ import org.apache.juli.logging.LogFactor
  * @author Filip Hanik
  *
  */
-public class PoolProperties implements PoolConfiguration {
+public class PoolProperties implements PoolConfiguration, Cloneable, 
Serializable {
 private static final Log log = LogFactory.getLog(PoolProperties.class);
 
 public static final int DEFAULT_MAX_ACTIVE = 100;



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



svn commit: r1295770 - in /tomcat/tc7.0.x/trunk: modules/ webapps/docs/changelog.xml

2012-03-01 Thread fhanik
Author: fhanik
Date: Thu Mar  1 20:20:21 2012
New Revision: 1295770

URL: http://svn.apache.org/viewvc?rev=1295770&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52804

Modified:
tomcat/tc7.0.x/trunk/modules/   (props changed)
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/modules/
--
--- svn:externals (original)
+++ svn:externals Thu Mar  1 20:20:21 2012
@@ -1 +1 @@
-^/tomcat/trunk/modules/jdbc-pool@1244927 jdbc-pool
+^/tomcat/trunk/modules/jdbc-pool@1295768 jdbc-pool

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1295770&r1=1295769&r2=1295770&view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Mar  1 20:20:21 2012
@@ -85,6 +85,13 @@
   
 
   
+  
+
+  
+52804: Make pool properties serializable and cloneable 
(fhanik)
+  
+
+  
   
 
   



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



DO NOT REPLY [Bug 52804] Make PoolProperties implement Cloneable.

2012-03-01 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=52804

Filip Hanik  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #1 from Filip Hanik  2012-03-01 20:20:38 UTC ---
Fixed in trunk in r1295768
Fixed in 7.0.x in r1295770

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

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



Re: Publishing taglibs mini-site

2012-03-01 Thread Olivier Lamy
euh as there isn't any distributionManagement-> site
this will go no where

Maybe do as I have done for the maven plugin see
http://tomcat.apache.org/maven-plugin.html

so versionned documentation is published.

http://tomcat.apache.org/maven-plugin-${project.version}
Pom content:


  apache.website
  ${distributionSiteUrl}


with 
scp://people.apache.org/www/tomcat.apache.org/maven-plugin-${project.version}

I use a property for testing purpose. Doing something like
-DdistributionSiteUrl=scp://people.apache.org/home/jboynes/public_html/taglib

As it you can see it in live http://people.apache.org/~jboynes/taglib

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

2012/3/1 Jeremy Boynes :
> Is there any information lying around on how to update the taglibs site?
>
> Is taglibs-parent/site.xml actually used or is everything in the site module?
>
> What's the process for publishing? Where does it deploy to? Is a vote needed 
> before push? Do we want to preview changes online or is a review based on 
> local build enough?
>
> Thanks
> Jeremy
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>

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



[Tomcat Wiki] Update of "PageD'Accueil" by Roger Mbiama

2012-03-01 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "PageD'Accueil" page has been changed by Roger Mbiama:
http://wiki.apache.org/tomcat/PageD%27Accueil?action=diff&rev1=1&rev2=2

  ## For more information, please see MoinMaster:MoinPagesEditorGroup.
  ## Merci de n'éditer les pages systèmes et d'aide QUE sur MoinMaster !
  ## Pour plus d'information, consultez MoinMaster:MoinPagesEditorGroup.
- ##master-page:FrontPage
+ ##master-page:Auth: 
[http://localhost:8080/host-manager/html/add?org.apache.catalina.filters.CSRF_NONCE=8E125BADDC7EF6E514C6B06138B895DF]
- ##master-date:2004-12-02 00:47:10
+ ##master-date:2012-03-01 00:47:10
  #format wiki
  #language fr
  #pragma section-numbers off
@@ -31, +31 @@

  Pour en savoir plus sur ce qu'est un [:WikiWikiWebVF: WikiWikiWeb], lisez 
MoinMoin:WhyWikiWorks et MoinMoin:WikiNature. Vous pouvez également consulter 
la MoinMoin:WikiWikiWebFaq.
  
  Ce site utilise le moteur [:MoinMoinVF: MoinMoin].
+ == Managing Tomcat ==
+ For security, access to the manager webapp is restricted. Users are defined 
in:
+ $CATALINA_HOME/conf/tomcat-users
+ In Tomcat 7.0 access to the manager application is split between different 
users.
+ $CATALINA_HOME/RUNNING.text
+ 
http://localhost:8080/manager/status?org.apache.catalina.filters.CSRF_NONCE=7F004F6531785E6DD588EF4B8C70012C
  
  

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



buildbot failure in ASF Buildbot on tomcat-trunk

2012-03-01 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/2800

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1295768
Blamelist: fhanik

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot





Re: WebSocket status

2012-03-01 Thread Filip Hanik - Dev Lists


hi Mark, sorry, I know you posted this earlier, thanks for reposting it to set 
me straight.
Yes, it can make sense that you see the behavior you are. But in "theory" you 
shouldn't.

If you call readSocket(false,bytes,off,maxRead), all the socket does is that it checks in the OS socket buffer to see if there is any data 
available. If not, it immediately returns 0. This is the non blocking part of it. Now, since you call this part of a servlet, the socket is 
set in zero interest mode (meaning, we don't want the socket poller to be reacting if data is coming in, this will cause concurrency issues 
and poor performance)


So, what happens is that

1. You call read(block=false)
2. Your 1) call finishes, returns 0
3. Data arrives, ends up in the OS TCP receive buffer
4. You finish your "servlet request lifecycle" and return the socket to the 
poller, with read interest


In step four, the poller should awake immediately for a read operation if there 
is data in the.

However, what seems to be happening is a misuse of NIO in Http11NioProtocol
@Override
protected void upgradePoll(SocketWrapper socket,
Processor processor) {
connections.put(socket.getSocket(), processor);

SelectionKey key = socket.getSocket().getIOChannel().keyFor(
socket.getSocket().getPoller().getSelector());
key.interestOps(SelectionKey.OP_READ);
((KeyAttachment) socket).interestOps(
SelectionKey.OP_READ);
}

You can't register on a selector using another thread. This is most likely the cause of the problem, is the incorrect registration. You see, 
you shouldn't be touching the poller from anywhere in the code itself. When the SocketProcessor returns, it needs to decide if the socket 
goes back into the poller, for what operation, or if it needs to be cancelled/closed.


If you look at SocketProcessor.run method, the very last thing that is 
happening here is
final SelectionKey fk = key;
final int intops = handshake;
final KeyAttachment ka = (KeyAttachment)fk.attachment();
ka.getPoller().add(socket,intops);

But my guess is that these new if/else clauses are bypassing this.

I'll work on a fix for this, and check it in so that you can see.

On a completely separate note, this WebSocket implementation seems to have caused a lot of duplicate code. I would have assumed the most 
simple way to implement WebSockets would be on top of the existing Comet implementation. This implementation already generates the READ 
event when data arrives, and you have the ability to check available() to see if there is more data to be read. This would too have avoided 
single byte reads from the system buffers, since Comet reads in as much as possible, and then you can single byte read from Java heap memory.


The only thing you would have had to do, had you used Comet, was to turn off the filters that cause chunked-encoding, and you would have had 
access to raw data directly from within. All the Upgrade classes, everything, would have sat directly in the highest level, never touching 
the low level connectors.


Something food for thought :)



On 3/1/2012 11:15 AM, Mark Thomas wrote:

On 01/03/2012 18:01, Filip Hanik - Dev Lists wrote:

Alright, now that I'm all squared away with Autobahn and test cases
running. Is there a specific unit test you have to produce this behavior?
That would help me for digging through it.

Assuming you are running trunk, then what you'll currently have is NIO
is a purely blocking mode. The tests should all pass and take a minute
or two to run. If you apply the following patch, you'll enable
non-blocking reads for NIO at which point large numbers of tests should
start to fail / take forever / timeout. I usually just run the section 1
tests (i.e. "cases": ["1.*"]) in fuzzing_client_spec.json when
investigating these are they are mostly small payloads easy to trace.

HTH,

Mark

--- a/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java
+++ b/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java
@@ -104,12 +104,10 @@ public class UpgradeNioProcessor extends
UpgradeProcessor  {
  @Override
  public int read(boolean block, byte[] bytes, int off, int len)
  throws IOException {
-// TODO Implement non-blocking reads. Should be as simple as
replacing
-// true with block in the two lines below
  if (len>  maxRead) {
-return readSocket(true, bytes, off, maxRead);
+return readSocket(block, bytes, off, maxRead);
  } else {
-return readSocket(true, bytes, off, len);
+return readSocket(block, bytes, off, len);
  }
  }


Filip

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

svn commit: r1295978 - in /tomcat/trunk/java/org/apache/coyote/http11: Http11NioProtocol.java upgrade/UpgradeNioProcessor.java

2012-03-01 Thread fhanik
Author: fhanik
Date: Thu Mar  1 23:05:51 2012
New Revision: 1295978

URL: http://svn.apache.org/viewvc?rev=1295978&view=rev
Log:
Fix WebSocket's non blocking call
http://tomcat.markmail.org/thread/drj7zgq2csfdnvoh#query:+page:1+mid:y4dheqpm2wx5xzba+state:results


Modified:
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1295978&r1=1295977&r2=1295978&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Thu Mar  
1 23:05:51 2012
@@ -296,12 +296,7 @@ public class Http11NioProtocol extends A
 protected void upgradePoll(SocketWrapper socket,
 Processor processor) {
 connections.put(socket.getSocket(), processor);
-
-SelectionKey key = socket.getSocket().getIOChannel().keyFor(
-socket.getSocket().getPoller().getSelector());
-key.interestOps(SelectionKey.OP_READ);
-((KeyAttachment) socket).interestOps(
-SelectionKey.OP_READ);
+socket.getSocket().getPoller().add(socket.getSocket());
 }
 }
 }

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java?rev=1295978&r1=1295977&r2=1295978&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java 
Thu Mar  1 23:05:51 2012
@@ -104,12 +104,10 @@ public class UpgradeNioProcessor extends
 @Override
 public int read(boolean block, byte[] bytes, int off, int len)
 throws IOException {
-// TODO Implement non-blocking reads. Should be as simple as replacing
-// true with block in the two lines below
 if (len > maxRead) {
-return readSocket(true, bytes, off, maxRead);
+return readSocket(block, bytes, off, maxRead);
 } else {
-return readSocket(true, bytes, off, len);
+return readSocket(block, bytes, off, len);
 }
 }
 



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



buildbot success in ASF Buildbot on tomcat-trunk

2012-03-01 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/2801

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1295978
Blamelist: fhanik

Build succeeded!

sincerely,
 -The Buildbot





Re: svn commit: r1295978 - in /tomcat/trunk/java/org/apache/coyote/http11: Http11NioProtocol.java upgrade/UpgradeNioProcessor.java

2012-03-01 Thread Johno Crawford

On 2/03/2012 12:05 AM, fha...@apache.org wrote:

Author: fhanik
Date: Thu Mar  1 23:05:51 2012
New Revision: 1295978

URL: http://svn.apache.org/viewvc?rev=1295978&view=rev
Log:
Fix WebSocket's non blocking call
http://tomcat.markmail.org/thread/drj7zgq2csfdnvoh#query:+page:1+mid:y4dheqpm2wx5xzba+state:results


Looks like the same usage in 
org.apache.coyote.http11.Http11NioProtocol.Http11ConnectionHandler#longPoll 
?



Modified:
 tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
 tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1295978&r1=1295977&r2=1295978&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Thu Mar  
1 23:05:51 2012
@@ -296,12 +296,7 @@ public class Http11NioProtocol extends A
  protected void upgradePoll(SocketWrapper  socket,
  Processor  processor) {
  connections.put(socket.getSocket(), processor);
-
-SelectionKey key = socket.getSocket().getIOChannel().keyFor(
-socket.getSocket().getPoller().getSelector());
-key.interestOps(SelectionKey.OP_READ);
-((KeyAttachment) socket).interestOps(
-SelectionKey.OP_READ);
+socket.getSocket().getPoller().add(socket.getSocket());
  }
  }
  }

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java?rev=1295978&r1=1295977&r2=1295978&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java 
Thu Mar  1 23:05:51 2012
@@ -104,12 +104,10 @@ public class UpgradeNioProcessor extends
  @Override
  public int read(boolean block, byte[] bytes, int off, int len)
  throws IOException {
-// TODO Implement non-blocking reads. Should be as simple as replacing
-// true with block in the two lines below
  if (len>  maxRead) {
-return readSocket(true, bytes, off, maxRead);
+return readSocket(block, bytes, off, maxRead);
  } else {
-return readSocket(true, bytes, off, len);
+return readSocket(block, bytes, off, len);
  }
  }




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



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



Re: svn commit: r1295978 - in /tomcat/trunk/java/org/apache/coyote/http11: Http11NioProtocol.java upgrade/UpgradeNioProcessor.java

2012-03-01 Thread Filip Hanik - Dev Lists

Thanks for that John, I'll fix that too.

Filip

On 3/1/2012 4:42 PM, Johno Crawford wrote:

On 2/03/2012 12:05 AM, fha...@apache.org wrote:

Author: fhanik
Date: Thu Mar  1 23:05:51 2012
New Revision: 1295978

URL: http://svn.apache.org/viewvc?rev=1295978&view=rev
Log:
Fix WebSocket's non blocking call
http://tomcat.markmail.org/thread/drj7zgq2csfdnvoh#query:+page:1+mid:y4dheqpm2wx5xzba+state:results


Looks like the same usage in 
org.apache.coyote.http11.Http11NioProtocol.Http11ConnectionHandler#longPoll ?



Modified:
 tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
 tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1295978&r1=1295977&r2=1295978&view=diff

==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Thu Mar  
1 23:05:51 2012
@@ -296,12 +296,7 @@ public class Http11NioProtocol extends A
  protected void upgradePoll(SocketWrapper  socket,
  Processor  processor) {
  connections.put(socket.getSocket(), processor);
-
-SelectionKey key = socket.getSocket().getIOChannel().keyFor(
-socket.getSocket().getPoller().getSelector());
-key.interestOps(SelectionKey.OP_READ);
-((KeyAttachment) socket).interestOps(
-SelectionKey.OP_READ);
+socket.getSocket().getPoller().add(socket.getSocket());
  }
  }
  }

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java?rev=1295978&r1=1295977&r2=1295978&view=diff

==
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java 
Thu Mar  1 23:05:51 2012
@@ -104,12 +104,10 @@ public class UpgradeNioProcessor extends
  @Override
  public int read(boolean block, byte[] bytes, int off, int len)
  throws IOException {
-// TODO Implement non-blocking reads. Should be as simple as replacing
-// true with block in the two lines below
  if (len>  maxRead) {
-return readSocket(true, bytes, off, maxRead);
+return readSocket(block, bytes, off, maxRead);
  } else {
-return readSocket(true, bytes, off, len);
+return readSocket(block, bytes, off, len);
  }
  }




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



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





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



svn commit: r1295998 - /tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java

2012-03-01 Thread fhanik
Author: fhanik
Date: Thu Mar  1 23:46:09 2012
New Revision: 1295998

URL: http://svn.apache.org/viewvc?rev=1295998&view=rev
Log:
Fix access to poller registration

Modified:
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1295998&r1=1295997&r2=1295998&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Thu Mar  
1 23:46:09 2012
@@ -253,11 +253,7 @@ public class Http11NioProtocol extends A
 //  - this is comet request
 //  - the request line/headers have not been completely
 //read
-SelectionKey key = socket.getSocket().getIOChannel().keyFor(
-socket.getSocket().getPoller().getSelector());
-key.interestOps(SelectionKey.OP_READ);
-((KeyAttachment) socket).interestOps(
-SelectionKey.OP_READ);
+socket.getSocket().getPoller().add(socket.getSocket());
 }
 }
 



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



buildbot failure in ASF Buildbot on tomcat-trunk

2012-03-01 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/2802

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1295998
Blamelist: fhanik

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot





DO NOT REPLY [Bug 51181] Add support for Web Sockets

2012-03-01 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=51181

--- Comment #47 from Johno Crawford  2012-03-02 01:57:32 UTC 
---
(In reply to comment #46)
> Created attachment 28408 [details]
> Overrides for connection open and close
> 
> I am currently working on an example for websockets. Please consider attached
> attachment for notifications when connection is opened / closed.

onOpen is not quite in the right place as write can be called before the
sockets / streams have been set (callback happens in setUpgradeOutbound..). Can
we modify the UpgradeInbound interface to include onUpgradeComplete?

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

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



[GUMP@vmgump]: Project tomcat-trunk-validate (in module tomcat-trunk) failed

2012-03-01 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 gene...@gump.apache.org.

Project tomcat-trunk-validate has an issue affecting its community integration.
This issue affects 1 projects,
 and has been outstanding for 16 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-trunk-validate :  Tomcat 8.x, a web server implementing Java 
Servlet 3.1,
...


Full details are available at:

http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on checkstyle exists, no need to add for property 
checkstyle.jar.
 -INFO- Failed with reason build failed



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/gump_work/build_tomcat-trunk_tomcat-trunk-validate.html
Work Name: build_tomcat-trunk_tomcat-trunk-validate (Type: Build)
Work ended in a state of : Failed
Elapsed: 32 secs
Command Line: /usr/lib/jvm/java-6-openjdk/bin/java -Djava.awt.headless=true 
-Dbuild.sysclasspath=only org.apache.tools.ant.Main 
-Dgump.merge=/srv/gump/public/gump/work/merge.xml 
-Dcheckstyle.jar=/srv/gump/public/workspace/checkstyle/target/checkstyle-5.6-SNAPSHOT.jar
 -Dexecute.validate=true validate 
[Working Directory: /srv/gump/public/workspace/tomcat-trunk]
CLASSPATH: 
/usr/lib/jvm/java-6-openjdk/lib/tools.jar:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/checkstyle/target/checkstyle-5.6-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/beanutils/dist/commons-beanutils-02032012.jar:/srv/gump/public/workspace/apache-commons/cli/target/commons-cli-1.3-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/exec/target/commons-exec-1.1.1-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/validator/dist/commons-validator-02032012.jar:/srv/gump/public/workspace/junit/dist/junit-02032012.jar:/srv/gump
 
/public/workspace/junit/dist/junit-dep-02032012.jar:/srv/gump/public/workspace/google-guava/build/dist/guava-02032012/guava-02032012.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-02032012.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-02032012.jar:/srv/gump/public/workspace/commons-collections-3.x/target/commons-collections-3.3-SNAPSHOT.jar:/srv/gump/packages/antlr/antlr-3.1.3.jar:/srv/gump/public/workspace/jdom/build/jdom.jar:/srv/gump/public/workspace/velocity-engine/bin/velocity-02032012.jar:/srv/gump/public/workspace/velocity-engine/bin/velocity-02032012-dep.jar:/srv/gump/packages/javamail-1.4/mail.jar:/srv/gump/packages/javamail-1.4/lib/mailapi.jar:/srv/gump/packages/jaf-1.1ea/activation.jar
-
Buildfile: /srv/gump/public/workspace/tomcat-trunk/build.xml

download-validate:

proxyflags:

setproxy:

testexist:
 [echo] Testing  for 
/srv/gump/public/workspace/checkstyle/target/checkstyle-5.6-SNAPSHOT.jar

downloadzip:

validate:
[mkdir] Created dir: 
/srv/gump/public/workspace/tomcat-trunk/output/res/checkstyle
[checkstyle] Running Checkstyle 5.6-SNAPSHOT on 2225 files
[checkstyle] 
/srv/gump/public/workspace/tomcat-trunk/java/org/apache/coyote/http11/Http11NioProtocol.java:20:8:
 Unused import - java.nio.channels.SelectionKey.
[checkstyle] 
/srv/gump/public/workspace/tomcat-trunk/java/org/apache/coyote/http11/Http11NioProtocol.java:34:8:
 Unused import - org.apache.tomcat.util.net.NioEndpoint.KeyAttachment.

BUILD FAILED
/srv/gump/public/workspace/tomcat-trunk/build.xml:444: Got 2 errors and 0 
warnings.

Total time: 32 seconds
-

To subscribe to this information via syndicated feeds:
- RSS: 
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/rss.xml
- Atom: 
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/atom.xml

== Gump Tracking Only ===
Produced by Apache Gump(TM) version 2.3.
Gump Run 1202032012, vmgump.apache.org:vmgump:1202032012
Gump E-mail Identifier (unique within run) #19.

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

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For addit

[GUMP@vmgump]: Project tomcat-taglibs-standard (in module tomcat-taglibs) failed

2012-03-01 Thread Gump
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 gene...@gump.apache.org.

Project tomcat-taglibs-standard has an issue affecting its community 
integration.
This issue affects 2 projects,
 and has been outstanding for 10 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-taglibs-standard :  Standard Taglib
- tomcat-taglibs-standard-install :  JSP Taglibs


Full details are available at:

http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -INFO- Optional dependency taglibs-standard-spec failed with reason build 
failed
 -INFO- Optional dependency httpunit failed with reason build failed
 -DEBUG- (Apache Gump generated) Apache Maven Settings in: 
/srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml
 -INFO- Failed with reason build failed
 -DEBUG- Maven POM in: 
/srv/gump/public/workspace/tomcat-taglibs/standard/pom.xml
 -INFO- Failed to extract fallback artifacts from Gump Repository



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/gump_work/build_tomcat-taglibs_tomcat-taglibs-standard.html
Work Name: build_tomcat-taglibs_tomcat-taglibs-standard (Type: Build)
Work ended in a state of : Failed
Elapsed: 1 sec
Command Line: /opt/maven2/bin/mvn --batch-mode -DskipTests=true --settings 
/srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml 
install 
[Working Directory: /srv/gump/public/workspace/tomcat-taglibs/standard]
M2_HOME: /opt/maven2
-
at 
org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find 
parent: org.apache.taglibs:taglibs-parent for project: 
null:taglibs-standard:pom:1.2-SNAPSHOT for project 
null:taglibs-standard:pom:1.2-SNAPSHOT
at 
org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1396)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:823)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:508)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391)
... 12 more
Caused by: org.apache.maven.project.ProjectBuildingException: POM 
'org.apache.taglibs:taglibs-parent' not found in repository: Unable to download 
the artifact from any repository

  org.apache.taglibs:taglibs-parent:pom:1-SNAPSHOT

from the specified remote repositories:
  gump-central (http://localhost:8192/maven2)

 for project org.apache.taglibs:taglibs-parent
at 
org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:605)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1392)
... 18 more
Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable 
to download the artifact from any repository

  org.apache.taglibs:taglibs-parent:pom:1-SNAPSHOT

from the specified remote repositories:
  gump-central (http://localhost:8192/maven2)


at 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:228)
at 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:90)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:558)
... 19 more
Caused by: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to 
download the artifact from any repository
at 
org.apache