Rahul Saxena | 1 Apr 06:18
Picon
Favicon

Feedback on my project proposal

I have posted my application on the GSOC site for the project "Convert
tomcat valves to filters" , Can anyone give their comment on the same.......

Thanks

--

-- 
Rahul Saxena
B.Tech Part III
Computer Science and Engineering
I.T. B.H.U. ,Varanasi
Contact No.-09452196645
Mark Thomas | 1 Apr 08:54
Picon
Favicon
Gravatar

Re: I'd like to take part in the "tomcat-1-valves2filters" project of Google Summer Code of 2009

Xie Xiaodong wrote:
> Dear All,
>    I'd like to take part in the "tomcat-1-valves2filters" project of Google
> Summer Code of 2009. Could you provide me some more information? I think we
> already have complete test suits for those valves,

Really? Where did you find those? I'm not aware of any.

> so if I could get the
> chance to participate in this project, I'll replace those valves one by one.
> After finish each valve, I'll test if I break something.

That sounds like a sensible approach. Some valves will be easier than others.

You will need to think about configuration. Valves are configured at Engine,
Host and Context level with Tomcat specific configuration. Filters are
configured at Context level with servlet spec configuration. You'll also need to
consider how they will interact with the new Async support in the Servlet 3.0 spec.

> Could someone
> provide me some more information of this project?

The info on http://wiki.apache.org/general/SummerOfCode2009 is the best source
of information.

I suggest that you familiarise yourself with the Tomcat source code, starting
with building trunk (Tomcat 7 development branch) from
http://svn.apache.org/repos/asf/tomcat/trunk

There aren't really any valve bugs that need fixing so I suggest you take a look
(Continue reading)

anas Ahmed | 1 Apr 09:33
Picon
Favicon

my proposal for "re implement tomcat valves as filters"


I have posted my application on the GSOC site for the project "re-implement
tomcat valves as filters" 
please give your suggestion and  participate with your ideas to make 
this proposal better

Thanks
Anas Ahmed

_________________________________________________________________
Quick access to your favorite MSN content and Windows Live with Internet Explorer 8. 
http://ie8.msn.com/microsoft/internet-explorer-8/en-us/ie8.aspx?ocid=B037MSN55C0701A
Mark Thomas | 1 Apr 13:01
Picon
Favicon
Gravatar

Re: Feedback on my project proposal

Rahul Saxena wrote:
> I have posted my application on the GSOC site for the project "Convert
> tomcat valves to filters" , Can anyone give their comment on the same.......

Feedback provided in the GSOC app and repeated below. Feel free to discuss your
ideas regarding these questions on the dev list.

Mark

Feedback:
Good first draft. There are a couple of areas where I would like to see a little
more information:

   1. There are many more valves than the 6 you listed.
   2. The filter requires a ServletContext at initialisation. How might you
handle this for a filter defined at the Engine/Host level?
   3. Authentication will require access to Tomcat internals. Is a filter the
right solution for these valves? What might a better approach be? What about JSR
196?
Jimmy Phillips | 1 Apr 13:15
Picon
Favicon

tomcat 6 session replication issues

Hi,

I've been having issues with tomcat session replication. I have 20 tomcat servers running in a cluster mode, behind an Apache load balancer. The tomcat version is 6.0.18 on CentOS 5.1. Running the cluster using the DeltaManager seems to be working fine, however when I try to use the BackupManager for session replication, I get the following entries in the logs:

Apr 1, 2009 3:28:42 AM org.apache.catalina.tribes.transport.nio.NioReceiver socketTimeouts
WARNING: Channel key is registered, but has had no interest ops for the last 3000 ms. (cancelled:false):sun.nio.ch.SelectionKeyImpl <at> 62af9d74 last access:2009-04 -01 03:28:35.969
Apr 1, 2009 3:28:42 AM org.apache.catalina.tribes.transport.nio.NioReceiver socketTimeouts
WARNING: Channel key is registered, but has had no interest ops for the last 3000 ms. (cancelled:false):sun.nio.ch.SelectionKeyImpl <at> 4c4947d3 last access:2009-04-01 03:28:35.969
Apr 1, 2009 3:29:04 AM org.apache.catalina.tribes.group.interceptors.TcpFailureDetector memberDisappeared
INFO: Received memberDisappeared[org.apache.catalina.tribes.membership.MemberImpl[tcp://{10, 99, 86, 47}:4000,{10, 99, 86, 47},4000, alive=1380182,id={-121 25 -2 -7 81 -1 76 3 -92 -20 122 69 67 102 -31 -15 }, payload={}, command={}, domain={}, ]] message. Will verify.
Apr 1, 2009 3:29:04 AM org.apache.catalina.tribes.group.interceptors.TcpFailureDetector memberDisappeared
INFO: Verification complete. Member still alive[org.apache.catalina.tribes.membership.MemberImpl[tcp://{10, 99, 86, 47}:4000,{10, 99, 86, 47},4000, alive=1380182,id={-121 25 -2 -7 81 -1 76 3 -92 -20 122 69 67 102 -31 -15 }, payload={}, command={}, domain={}, ]]
Apr 1, 2009 3:29:04 AM org.apache.catalina.tribes.tipis.AbstractReplicatedMap heartbeat
SEVERE: Unable to send AbstractReplicatedMap.ping message
org.apache.catalina.tribes.ChannelException: Operation has timed out(60000 ms.).; Faulty members:tcp://{10, 99, 86, 47}:4000;
        at org.apache.catalina.tribes.transport.nio.ParallelNioSender.sendMessage(ParallelNioSender.java:97)
        at org.apache.catalina.tribes.transport.nio.PooledParallelSender.sendMessage(PooledParallelSender.java:53)
        at org.apache.catalina.tribes.transport.ReplicationTransmitter.sendMessage(ReplicationTransmitter.java:80)
        at org.apache.catalina.tribes.group.ChannelCoordinator.sendMessage(ChannelCoordinator.java:78)
&n bsp;       at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)
        at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.sendMessage(ThroughputInterceptor.java:61)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)
        at org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.sendMessage(MessageDispatchInterceptor.java:73)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)
        at org.apache.catalina.tr ibes.group.interceptors.TcpFailureDetector.sendMessage(TcpFailureDetector.java:87)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)
        at org.apache.catalina.tribes.group.GroupChannel.send(GroupChannel.java:216)
        at org.apache.catalina.tribes.group.GroupChannel.send(GroupChannel.java:175)
        at org.apache.catalina.tribes.group.RpcChannel.send(RpcChannel.java:89)
        at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.ping(AbstractReplicatedMap.java:253)
        at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.heartbeat(AbstractReplicatedMap.java:793)
        at org.apache.catalina.tribes.group.GroupChannel.heartbeat(GroupChannel.java:153)
        at org.apache.catalina.tribes.group.GroupChannel$HeartbeatThread.run(GroupChannel.java:661)

Of course the above entry is just one of many, for the different hosts. Searching the mailing lists, I found this post http://markmail.org/message/jv4dykh7fdhr4mvp which looks like the same problem I am having. The outcome of that thread states that the problem is fixed by a patch in revision 618823, so I compiled a version of the current 6.x trunk (rev 759722) and deployed it to all the servers. However, the problem is still appearing. I've attached a copy of the current server.xml ( it is common to all tomcat instances ).

I've done a thread dump on one of the servers when these errors started appear ing, and the output is attached, thread_dump.txt (removed threads that were running by our application).

This problem is reproducable each time I restart the servers. At this stage, I'm clueless on what to try next, so I'm looking forward to your replies.


Regards,
Jim.

Attached: server.xml, thread_dump.txt

..
Apr 1, 2009 3:12:46 AM org.apache.catalina.tribes.transport.nio.NioReceiver socketTimeouts
WARNING: Channel key is registered, but has had no interest ops for the last 3000 ms.
(cancelled:false):sun.nio.ch.SelectionKeyImpl <at> 54671f95 last access:2009-04-01 03:12:37.999
2009-04-01 03:12:50
Full thread dump Java HotSpot(TM) 64-Bit Server VM (11.0-b16 mixed mode):


"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" daemon prio=10
tid=0x00002aaae3f95400 nid=0x610d in Object.wait() [0x0000000041850000..0x0000000041850c10]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabd793eb0> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabd793eb0> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" daemon prio=10
tid=0x0000000042af7000 nid=0x610c in Object.wait() [0x000000004174f000..0x000000004174fc90]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabd793eb0> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabd793eb0> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" daemon prio=10
tid=0x0000000042af8c00 nid=0x610b in Object.wait() [0x000000004164e000..0x000000004164eb10]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabd793eb0> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabd793eb0> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"Timer-0" daemon prio=10 tid=0x00002aaae4e8e000 nid=0x610a in Object.wait() [0x000000004154d000..0x000000004154db90]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabd798bd8> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00002aaabd798bd8> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"ajp-8009-Acceptor-0" daemon prio=10 tid=0x0000000042a4c800 nid=0x6109 runnable [0x000000004144c000..0x000000004144ca10]
   java.lang.Thread.State: RUNNABLE
        at org.apache.tomcat.jni.Socket.accept(Native Method)
        at org.apache.tomcat.util.net.AprEndpoint$Acceptor.run(AprEndpoint.java:1128)
        at java.lang.Thread.run(Thread.java:619)

"ajp-8009-CometPoller-0" daemon prio=10 tid=0x0000000042f0ec00 nid=0x6108 in Object.wait() [0x000000004134b000..0x000000004134ba90]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabd572cf8> (a org.apache.tomcat.util.net.AprEndpoint$Poller)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.tomcat.util.net.AprEndpoint$Poller.run(AprEndpoint.java:1285)
        - locked <0x00002aaabd572cf8> (a org.apache.tomcat.util.net.AprEndpoint$Poller)
        at java.lang.Thread.run(Thread.java:619)

"ajp-8009-Poller-0" daemon prio=10 tid=0x0000000042771000 nid=0x6107 in Object.wait() [0x00000000411f2000..0x00000000411f2d10]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabd572718> (a org.apache.tomcat.util.net.AprEndpoint$Poller)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.tomcat.util.net.AprEndpoint$Poller.run(AprEndpoint.java:1285)
        - locked <0x00002aaabd572718> (a org.apache.tomcat.util.net.AprEndpoint$Poller)
        at java.lang.Thread.run(Thread.java:619)

"http-8080-Acceptor-0" daemon prio=10 tid=0x000000004258f400 nid=0x6106 runnable [0x00000000410f1000..0x00000000410f1d90]
   java.lang.Thread.State: RUNNABLE
        at org.apache.tomcat.jni.Socket.accept(Native Method)
        at org.apache.tomcat.util.net.AprEndpoint$Acceptor.run(AprEndpoint.java:1128)
        at java.lang.Thread.run(Thread.java:619)

"http-8080-Sendfile-0" daemon prio=10 tid=0x00000000425b5c00 nid=0x6105 in Object.wait() [0x0000000040ff0000..0x0000000040ff0c10]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabd505600> (a org.apache.tomcat.util.net.AprEndpoint$Sendfile)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.tomcat.util.net.AprEndpoint$Sendfile.run(AprEndpoint.java:1743)
        - locked <0x00002aaabd505600> (a org.apache.tomcat.util.net.AprEndpoint$Sendfile)
        at java.lang.Thread.run(Thread.java:619)

"http-8080-CometPoller-0" daemon prio=10 tid=0x0000000042d4e000 nid=0x6104 in Object.wait() [0x0000000040eef000..0x0000000040eefc90]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabd5056f0> (a org.apache.tomcat.util.net.AprEndpoint$Poller)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.tomcat.util.net.AprEndpoint$Poller.run(AprEndpoint.java:1285)
        - locked <0x00002aaabd5056f0> (a org.apache.tomcat.util.net.AprEndpoint$Poller)
        at java.lang.Thread.run(Thread.java:619)

"http-8080-Poller-0" daemon prio=10 tid=0x00000000426dd000 nid=0x6103 in Object.wait() [0x0000000040be1000..0x0000000040be1b10]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabd5057e0> (a org.apache.tomcat.util.net.AprEndpoint$Poller)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.tomcat.util.net.AprEndpoint$Poller.run(AprEndpoint.java:1285)
        - locked <0x00002aaabd5057e0> (a org.apache.tomcat.util.net.AprEndpoint$Poller)
        at java.lang.Thread.run(Thread.java:619)

"ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon prio=10
tid=0x0000000043305800 nid=0x6102 waiting on condition [0x00000000407ca000..0x00000000407cab90]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1579)
        at java.lang.Thread.run(Thread.java:619)

"pool-1-thread-2" prio=10 tid=0x0000000042c92000 nid=0x6100 waiting on condition [0x0000000043809000..0x0000000043809a90]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00002aaabcde3a88> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

"pool-1-thread-1" prio=10 tid=0x00000000428a3800 nid=0x60ff waiting on condition [0x0000000041ae5000..0x0000000041ae5d10]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00002aaabcde3a88> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

"GroupChannel-Heartbeat-1" daemon prio=10 tid=0x0000000042a1a400 nid=0x60fe runnable [0x0000000043707000..0x0000000043708d90]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:215)
        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
        - locked <0x00002aaabcf510b8> (a sun.nio.ch.Util$1)
        - locked <0x00002aaabcf510a0> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00002aaabcf47c00> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
        at org.apache.catalina.tribes.transport.nio.ParallelNioSender.doLoop(ParallelNioSender.java:116)
        at org.apache.catalina.tribes.transport.nio.ParallelNioSender.sendMessage(ParallelNioSender.java:78)
        - locked <0x00002aaabcf4ce18> (a org.apache.catalina.tribes.transport.nio.ParallelNioSender)
        at org.apache.catalina.tribes.transport.nio.PooledParallelSender.sendMessage(PooledParallelSender.java:53)
        at org.apache.catalina.tribes.transport.ReplicationTransmitter.sendMessage(ReplicationTransmitter.java:80)
        at org.apache.catalina.tribes.group.ChannelCoordinator.sendMessage(ChannelCoordinator.java:78)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)
        at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.sendMessage(ThroughputInterceptor.java:61)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)
        at org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.sendMessage(MessageDispatchInterceptor.java:73)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)
        at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.sendMessage(TcpFailureDetector.java:87)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)
        at org.apache.catalina.tribes.group.GroupChannel.send(GroupChannel.java:216)
        at org.apache.catalina.tribes.group.GroupChannel.send(GroupChannel.java:175)
        at org.apache.catalina.tribes.group.RpcChannel.send(RpcChannel.java:89)
        - locked <0x00002aaaae7c9460> (a org.apache.catalina.tribes.group.RpcChannel$RpcCollector)
        at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.ping(AbstractReplicatedMap.java:253)
        at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.heartbeat(AbstractReplicatedMap.java:793)
        at org.apache.catalina.tribes.group.GroupChannel.heartbeat(GroupChannel.java:158)
        at org.apache.catalina.tribes.group.GroupChannel$HeartbeatThread.run(GroupChannel.java:661)

"pool-2-thread-6" prio=10 tid=0x0000000042c11000 nid=0x60fb waiting for monitor entry [0x0000000043607000..0x0000000043607b10]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.apache.catalina.tribes.group.RpcChannel.messageReceived(RpcChannel.java:111)
        - waiting to lock <0x00002aaaae7c9460> (a org.apache.catalina.tribes.group.RpcChannel$RpcCollector)
        at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:269)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:86)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241)
        at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91)
        - locked <0x00002aaabce4cec0> (a org.apache.catalina.tribes.transport.nio.NioReplicationTask)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

"pool-2-thread-5" prio=10 tid=0x0000000042c0fc00 nid=0x60fa waiting for monitor entry [0x0000000043506000..0x0000000043506b90]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.apache.catalina.tribes.group.RpcChannel.messageReceived(RpcChannel.java:111)
        - waiting to lock <0x00002aaaae7c9460> (a org.apache.catalina.tribes.group.RpcChannel$RpcCollector)
        at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:269)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:86)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241)
        at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91)
        - locked <0x00002aaabce50078> (a org.apache.catalina.tribes.transport.nio.NioReplicationTask)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

"pool-2-thread-4" prio=10 tid=0x0000000042a1c000 nid=0x60f9 waiting for monitor entry [0x0000000043405000..0x0000000043405a10]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.apache.catalina.tribes.group.RpcChannel.messageReceived(RpcChannel.java:111)
        - waiting to lock <0x00002aaaae7c9460> (a org.apache.catalina.tribes.group.RpcChannel$RpcCollector)
        at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:269)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:86)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241)
        at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91)
        - locked <0x00002aaabce486e8> (a org.apache.catalina.tribes.transport.nio.NioReplicationTask)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

"pool-2-thread-3" prio=10 tid=0x0000000042bb8c00 nid=0x60f8 waiting for monitor entry [0x0000000042307000..0x0000000042307a90]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.apache.catalina.tribes.group.RpcChannel.messageReceived(RpcChannel.java:111)
        - waiting to lock <0x00002aaaae7c9460> (a org.apache.catalina.tribes.group.RpcChannel$RpcCollector)
        at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:269)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:86)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241)
        at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91)
        - locked <0x00002aaabce500e8> (a org.apache.catalina.tribes.transport.nio.NioReplicationTask)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

"pool-2-thread-2" prio=10 tid=0x0000000042b58c00 nid=0x60f7 waiting for monitor entry [0x0000000040dee000..0x0000000040deed10]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.apache.catalina.tribes.group.RpcChannel.messageReceived(RpcChannel.java:111)
        - waiting to lock <0x00002aaaae7c9460> (a org.apache.catalina.tribes.group.RpcChannel$RpcCollector)
        at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:269)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:86)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241)
        at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91)
        - locked <0x00002aaabce71f70> (a org.apache.catalina.tribes.transport.nio.NioReplicationTask)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

"pool-2-thread-1" prio=10 tid=0x0000000042b58400 nid=0x60f6 waiting for monitor entry [0x0000000041e04000..0x0000000041e04d90]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.apache.catalina.tribes.group.RpcChannel.messageReceived(RpcChannel.java:111)
        - waiting to lock <0x00002aaaae7c9460> (a org.apache.catalina.tribes.group.RpcChannel$RpcCollector)
        at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:269)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:86)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241)
        at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91)
        - locked <0x00002aaabce52988> (a org.apache.catalina.tribes.transport.nio.NioReplicationTask)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

"Tribes-MembershipSender" daemon prio=10 tid=0x0000000042fa0000 nid=0x60f5 waiting on condition [0x0000000041d03000..0x0000000041d03c10]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.apache.catalina.tribes.membership.McastServiceImpl$SenderThread.run(McastServiceImpl.java:455)

"Tribes-MembershipReceiver" daemon prio=10 tid=0x0000000042abdc00 nid=0x60e5 runnable [0x0000000040ced000..0x0000000040cedc10]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainDatagramSocketImpl.receive0(Native Method)
        - locked <0x00002aaabce68278> (a java.net.PlainDatagramSocketImpl)
        at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
        - locked <0x00002aaabce68278> (a java.net.PlainDatagramSocketImpl)
        at java.net.DatagramSocket.receive(DatagramSocket.java:712)
        - locked <0x00002aaabce682d0> (a java.net.DatagramPacket)
        - locked <0x00002aaabce68300> (a java.net.MulticastSocket)
        at org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:314)
        at org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:414)

"NioReceiver" daemon prio=10 tid=0x00000000431d2000 nid=0x60e4 in Object.wait() [0x00000000402f1000..0x00000000402f1c90]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabce756c0> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.catalina.tribes.transport.RxTaskPool.getRxTask(RxTaskPool.java:90)
        - locked <0x00002aaabce756c0> (a java.lang.Object)
        at org.apache.catalina.tribes.transport.nio.NioReceiver.readDataFromSocket(NioReceiver.java:370)
        at org.apache.catalina.tribes.transport.nio.NioReceiver.listen(NioReceiver.java:283)
        at org.apache.catalina.tribes.transport.nio.NioReceiver.run(NioReceiver.java:353)
        at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=10 tid=0x0000000042421400 nid=0x60e2 runnable [0x0000000000000000..0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread1" daemon prio=10 tid=0x000000004241f400 nid=0x60e1 waiting on condition [0x0000000000000000..0x00000000408dd210]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x000000004241b400 nid=0x60e0 waiting on condition [0x0000000000000000..0x000000004060f2d0]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x0000000042419800 nid=0x60df runnable [0x0000000000000000..0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x00000000423f5c00 nid=0x60de in Object.wait() [0x0000000042206000..0x0000000042206d90]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabcc2f2a8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x00002aaabcc2f2a8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x00000000423f4400 nid=0x60dd in Object.wait() [0x0000000042105000..0x0000000042105c10]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00002aaabcc2f388> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x00002aaabcc2f388> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x0000000042391800 nid=0x60db runnable [0x0000000041c01000..0x0000000041c02ed0]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        - locked <0x00002aaabd66d638> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:453)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at org.apache.catalina.core.StandardServer.await(StandardServer.java:389)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:647)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:607)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

"VM Thread" prio=10 tid=0x00000000423ee800 nid=0x60dc runnable

"VM Periodic Task Thread" prio=10 tid=0x0000000042423c00 nid=0x60e3 waiting on condition

JNI global references: 826

Heap
 def new generation   total 12800K, used 12555K [0x00002aaaae200000, 0x00002aaaaefe0000, 0x00002aaabcc00000)
  eden space 11392K,  98% used [0x00002aaaae200000, 0x00002aaaaecf55e8, 0x00002aaaaed20000)
  from space 1408K,  94% used [0x00002aaaaed20000, 0x00002aaaaee6d9e0, 0x00002aaaaee80000)
  to   space 1408K,   0% used [0x00002aaaaee80000, 0x00002aaaaee80000, 0x00002aaaaefe0000)
 tenured generation   total 28248K, used 26873K [0x00002aaabcc00000, 0x00002aaabe796000, 0x00002aaada000000)
   the space 28248K,  95% used [0x00002aaabcc00000, 0x00002aaabe63e5b0, 0x00002aaabe63e600, 0x00002aaabe796000)
 compacting perm gen  total 28224K, used 28208K [0x00002aaada000000, 0x00002aaadbb90000, 0x00002aaadf400000)
   the space 28224K,  99% used [0x00002aaada000000, 0x00002aaadbb8c058, 0x00002aaadbb8c200, 0x00002aaadbb90000)
No shared spaces configured.
Attachment (server.xml): text/xml, 8 KiB

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe <at> tomcat.apache.org
For additional commands, e-mail: dev-help <at> tomcat.apache.org
Mark Thomas | 1 Apr 13:39
Picon
Favicon
Gravatar

Re: my proposal for "re implement tomcat valves as filters"

anas Ahmed wrote:
> I have posted my application on the GSOC site for the project "re-implement
> tomcat valves as filters" 
> please give your suggestion and  participate with your ideas to make 
> this proposal better

Feedback provided in the GSOC app and repeated below. Feel free to discuss your
ideas regarding these questions on the dev list.

Mark

Feedback:
Good first draft. There are a coupe of areas I would like to see more detail on:

   1. Impact of Servlet 3 and async processing.
   2. The filter requires a ServletContext at initialisation. How might you
      handle this for a filter defined at the Engine/Host level?
   3. Authentication will require access to Tomcat internals. Is a filter the
      right solution for these valves? What might a better approach be? What
      about JSR 196?

I would also suggest you spend a little time to build Tomcat from source
(http://svn.apache.org/repos/asf/tomcat/trunk). Once you have Tomcat building,
I'd suggest looking at the AccessLogValve and how that might be converted to a
Filter to give you a better ide of the issues involved and how long things might
take.
bugzilla | 1 Apr 15:33
Picon
Favicon

DO NOT REPLY [Bug 46950] New: SSL renegotiation does not occur when resource with CLIENT-CERT auth is requested

https://issues.apache.org/bugzilla/show_bug.cgi?id=46950

           Summary: SSL renegotiation does not occur when resource with
                    CLIENT-CERT auth is requested
           Product: Tomcat 6
           Version: 6.0.18
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Servlet & JSP API
        AssignedTo: dev <at> tomcat.apache.org
        ReportedBy: andre <at> cabine.org

When a part of a webapp requires an SSL connection with a client certificate
there should be an SSL renegotiation to request a client certificate from the
browser.

This is the configuration I added to an webapp that already uses an SSL
connector:

<login-config id="LoginConfig_1">
                <auth-method>CLIENT-CERT</auth-method>
                <realm-name>WPS</realm-name>
</login-config>

<security-constraint id="SecurityConstraint_1">
                <web-resource-collection id="WebResourceCollection_1">
                        <web-resource-name/>   
                        <url-pattern>/LoginWithCert.do</url-pattern>
                        <http-method>DELETE</http-method>
                        <http-method>GET</http-method>
                        <http-method>POST</http-method>
                        <http-method>PUT</http-method>
                        <http-method>HEAD</http-method>
                </web-resource-collection>
                <user-data-constraint id="UserDataConstraint_4">
                        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
                </user-data-constraint>
</security-constraint>

Requests to /LoginWithCert.do require an SSL connection, if there isn't one,
but no client certificate is requested.

--

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
Mladen Turk | 1 Apr 16:30
Picon
Favicon
Gravatar

10th anniversary

Hi,

Seems this  year Tomcat has 10 year anniversary since
being part of ASF. I plan to create some artwork and
edit the heritage.html page, probably add few more.

It would be nice to list all the initial committers
on that page and get some more info on the history
from the early days.

If anyone has some nice story to share, I'd love
to publish that as well, so she/he can just mail me
or whatever.

Regards
--

-- 
^(TM)
Rainer Jung | 1 Apr 17:15
Picon
Favicon

Re: 10th anniversary

On 01.04.2009 16:30, Mladen Turk wrote:
> Hi,
>
> Seems this year Tomcat has 10 year anniversary since
> being part of ASF. I plan to create some artwork and
> edit the heritage.html page, probably add few more.
>
> It would be nice to list all the initial committers
> on that page and get some more info on the history
> from the early days.
>
> If anyone has some nice story to share, I'd love
> to publish that as well, so she/he can just mail me
> or whatever.

Great initiative, ++1
(though I can't contribute anything about the relevant time).

Rainer
Henri Gomez | 1 Apr 17:25
Picon
Gravatar

Re: 10th anniversary

You should also mention Jserv team :)

2009/4/1 Rainer Jung <rainer.jung <at> kippdata.de>:
> On 01.04.2009 16:30, Mladen Turk wrote:
>>
>> Hi,
>>
>> Seems this year Tomcat has 10 year anniversary since
>> being part of ASF. I plan to create some artwork and
>> edit the heritage.html page, probably add few more.
>>
>> It would be nice to list all the initial committers
>> on that page and get some more info on the history
>> from the early days.
>>
>> If anyone has some nice story to share, I'd love
>> to publish that as well, so she/he can just mail me
>> or whatever.
>
> Great initiative, ++1
> (though I can't contribute anything about the relevant time).
>
> Rainer
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe <at> tomcat.apache.org
> For additional commands, e-mail: dev-help <at> tomcat.apache.org
>
>

Gmane