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

2015-10-20 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-test-apr has an issue affecting its community integration.
This issue affects 1 projects,
 and has been outstanding for 29 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-test-apr :  Tomcat 9.x, a web server implementing the Java 
Servlet 4.0,
...


Full details are available at:

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

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on commons-daemon exists, no need to add for property 
commons-daemon.native.src.tgz.
 -DEBUG- Dependency on commons-daemon exists, no need to add for property 
tomcat-native.tar.gz.
 -INFO- Failed with reason build failed
 -INFO- Project Reports in: 
/srv/gump/public/workspace/tomcat-trunk/output/logs-APR
 -INFO- Project Reports in: 
/srv/gump/public/workspace/tomcat-trunk/output/test-tmp-APR/logs
 -WARNING- No directory 
[/srv/gump/public/workspace/tomcat-trunk/output/test-tmp-APR/logs]



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-apr/gump_work/build_tomcat-trunk_tomcat-trunk-test-apr.html
Work Name: build_tomcat-trunk_tomcat-trunk-test-apr (Type: Build)
Work ended in a state of : Failed
Elapsed: 45 mins 36 secs
Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true 
-Dbuild.sysclasspath=only org.apache.tools.ant.Main 
-Dgump.merge=/srv/gump/public/gump/work/merge.xml 
-Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar 
-Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.3-SNAPSHOT.jar
 -Dtest.reports=output/logs-APR 
-Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20151020-native-src.tar.gz
 -Dexamples.sources.skip=true 
-Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.5-201506032000/ecj-4.5.jar 
-Dtest.apr.loc=/srv/gump/public/workspace/tomcat-native-trunk/dest-20151020/lib 
-Dtest.relaxTiming=true 
-Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20151020.jar
 
-Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20151020-native-src.tar.gz
 -Dtest.temp=output/test-tmp-APR -Dtest.accesslog=true -
 Dexecute.test.nio=false 
-Dtest.openssl.path=/srv/gump/public/workspace/openssl-master/dest-20151020/bin/openssl
 -Dexecute.test.apr=true -Dtest.excludePerformance=true 
-Dexecute.test.nio2=false 
-Deasymock.jar=/srv/gump/public/workspace/easymock/core/target/easymock-3.5-SNAPSHOT.jar
 -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar 
-Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test 
[Working Directory: /srv/gump/public/workspace/tomcat-trunk]
CLASSPATH: 
/usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/output/testclasses:/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-junit4.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/tomcat-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servlet-api.ja
 
r:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jaspic-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/g

Re: [GUMP@vmgump]: Project tomcat-trunk-test-apr (in module tomcat-trunk) failed

2015-10-20 Thread Mark Thomas
On 20/10/2015 07:47, Bill Barker wrote:
> 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-test-apr has an issue affecting its community 
> integration.

Well, the bad news is that this is still failing.

> Work ended in a state of : Failed

The good news is that it didn't hang.

> Elapsed: 45 mins 36 secs

And these tests have had intermittent failures for a while and are on
the TODO list to look at.

>[concat] Testsuites with failed tests:
>[concat] TEST-org.apache.tomcat.websocket.TestWebSocketFrameClient.APR.txt
>[concat] 
> TEST-org.apache.tomcat.websocket.TestWebSocketFrameClientSSL.APR.txt

Mark


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



svn commit: r1709541 - in /tomcat/trunk/java/org/apache/coyote: AbstractProcessor.java AbstractProcessorLight.java http11/upgrade/UpgradeProcessorBase.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 08:59:26 2015
New Revision: 1709541

URL: http://svn.apache.org/viewvc?rev=1709541&view=rev
Log:
Insert a new abstract class into the Processor hierarchy.

Added:
tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java   (with 
props)
Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1709541&r1=1709540&r2=1709541&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Tue Oct 20 
08:59:26 2015
@@ -35,7 +35,7 @@ import org.apache.tomcat.util.res.String
  * Provides functionality and attributes common to all supported protocols
  * (currently HTTP and AJP).
  */
-public abstract class AbstractProcessor implements ActionHook, Processor {
+public abstract class AbstractProcessor extends AbstractProcessorLight 
implements ActionHook {
 
 protected static final StringManager sm = 
StringManager.getManager(Constants.Package);
 

Added: tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java?rev=1709541&view=auto
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java (added)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java Tue Oct 20 
08:59:26 2015
@@ -0,0 +1,26 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.coyote;
+
+/**
+ * This is a light-weight abstract processor implementation that is intended as
+ * a basis for all Processor implementations from the light-weight upgrade
+ * processors to the HTTP/AJP processors.
+ */
+public abstract class AbstractProcessorLight implements Processor {
+
+}

Propchange: tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
--
svn:eol-style = native

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java?rev=1709541&r1=1709540&r2=1709541&view=diff
==
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java 
(original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java 
Tue Oct 20 08:59:26 2015
@@ -23,12 +23,12 @@ import java.util.concurrent.Executor;
 import javax.servlet.http.HttpUpgradeHandler;
 import javax.servlet.http.WebConnection;
 
-import org.apache.coyote.Processor;
+import org.apache.coyote.AbstractProcessorLight;
 import org.apache.coyote.Request;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 
-public abstract class UpgradeProcessorBase implements Processor, WebConnection 
{
+public abstract class UpgradeProcessorBase extends AbstractProcessorLight 
implements WebConnection {
 
 protected static final int INFINITE_TIMEOUT = -1;
 



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



svn commit: r1709543 - in /tomcat/trunk/java/org/apache: coyote/ coyote/ajp/ coyote/http11/ coyote/http11/upgrade/ coyote/http2/ tomcat/util/net/

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 09:00:08 2015
New Revision: 1709543

URL: http://svn.apache.org/viewvc?rev=1709543&view=rev
Log:
Move the additional dispatches required from the SocketWrapper to the
Processor

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
tomcat/trunk/java/org/apache/coyote/Processor.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java?rev=1709543&r1=1709542&r2=1709543&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java Tue Oct 20 
09:00:08 2015
@@ -16,6 +16,12 @@
  */
 package org.apache.coyote;
 
+import java.util.Iterator;
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
+
+import org.apache.tomcat.util.net.DispatchType;
+
 /**
  * This is a light-weight abstract processor implementation that is intended as
  * a basis for all Processor implementations from the light-weight upgrade
@@ -23,4 +29,40 @@ package org.apache.coyote;
  */
 public abstract class AbstractProcessorLight implements Processor {
 
+private Set dispatches = new CopyOnWriteArraySet<>();
+
+
+@Override
+public void addDispatch(DispatchType dispatchType) {
+synchronized (dispatches) {
+dispatches.add(dispatchType);
+}
+}
+
+
+@Override
+public Iterator getIteratorAndClearDispatches() {
+// Note: Logic in AbstractProtocol depends on this method only 
returning
+// a non-null value if the iterator is non-empty. i.e. it should never
+// return an empty iterator.
+Iterator result;
+synchronized (dispatches) {
+// Synchronized as the generation of the iterator and the clearing
+// of dispatches needs to be an atomic operation.
+result = dispatches.iterator();
+if (result.hasNext()) {
+dispatches.clear();
+} else {
+result = null;
+}
+}
+return result;
+}
+
+
+protected void clearDispatches() {
+synchronized (dispatches) {
+dispatches.clear();
+}
+}
 }

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1709543&r1=1709542&r2=1709543&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Tue Oct 20 
09:00:08 2015
@@ -758,7 +758,7 @@ public abstract class AbstractProtocolhttp://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Processor.java?rev=1709543&r1=1709542&r2=1709543&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Tue Oct 20 09:00:08 2015
@@ -18,11 +18,13 @@ package org.apache.coyote;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
+import java.util.Iterator;
 import java.util.concurrent.Executor;
 
 import javax.servlet.http.HttpUpgradeHandler;
 
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
+import org.apache.tomcat.util.net.DispatchType;
 import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;
@@ -96,4 +98,8 @@ public interface Processor {
  * an existing multiplexed connection.
  */
 void pause();
+
+void addDispatch(DispatchType dispatchType);
+
+Iterator getIteratorAndClearDispatches();
 }

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1709543&r1=1709542&r2=1709543&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java

svn commit: r1709544 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AbstractEndpoint.java SocketWrapperBase.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 09:00:24 2015
New Revision: 1709544

URL: http://svn.apache.org/viewvc?rev=1709544&view=rev
Log:
Pull-up code. No need for this to go all the way to the Endpoint.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1709544&r1=1709543&r2=1709544&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Tue Oct 
20 09:00:24 2015
@@ -22,7 +22,6 @@ import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -811,34 +810,6 @@ public abstract class AbstractEndpoint 
socketWrapper,
-Iterator dispatches) {
-/*
- * This method is called when non-blocking IO is initiated by defining
- * a read and/or write listener in a non-container thread. It is called
- * once the non-container thread completes so that the first calls to
- * onWritePossible() and/or onDataAvailable() as appropriate are made 
by
- * the container.
- *
- * Processing the dispatches requires (for APR/native at least)
- * that the socket has been added to the waitingRequests queue. This 
may
- * not have occurred by the time that the non-container thread 
completes
- * triggering the call to this method. Therefore, the coded syncs on 
the
- * SocketWrapper as the container thread that initiated this
- * non-container thread holds a lock on the SocketWrapper. The 
container
- * thread will add the socket to the waitingRequests queue before
- * releasing the lock on the socketWrapper. Therefore, by obtaining the
- * lock on socketWrapper before processing the dispatches, we can be
- * sure that the socket has been added to the waitingRequests queue.
- */
-synchronized (socketWrapper) {
-while (dispatches != null && dispatches.hasNext()) {
-DispatchType dispatchType = dispatches.next();
-processSocket(socketWrapper, dispatchType.getSocketStatus(), 
false);
-}
-}
-}
-
 // --- Lifecycle 
methods
 
 /*

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1709544&r1=1709543&r2=1709544&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Tue Oct 
20 09:00:24 2015
@@ -555,8 +555,29 @@ public abstract class SocketWrapperBase<
 }
 
 
-public void executeNonBlockingDispatches(Iterator 
dispatches) {
-endpoint.executeNonBlockingDispatches(this, dispatches);
+public synchronized void 
executeNonBlockingDispatches(Iterator dispatches) {
+/*
+ * This method is called when non-blocking IO is initiated by defining
+ * a read and/or write listener in a non-container thread. It is called
+ * once the non-container thread completes so that the first calls to
+ * onWritePossible() and/or onDataAvailable() as appropriate are made 
by
+ * the container.
+ *
+ * Processing the dispatches requires (for APR/native at least)
+ * that the socket has been added to the waitingRequests queue. This 
may
+ * not have occurred by the time that the non-container thread 
completes
+ * triggering the call to this method. Therefore, the coded syncs on 
the
+ * SocketWrapper as the container thread that initiated this
+ * non-container thread holds a lock on the SocketWrapper. The 
container
+ * thread will add the socket to the waitingRequests queue before
+ * releasing the lock on the socketWrapper. Therefore, by obtaining the
+ * lock on socketWrapper before processing the dispatches, we can be
+ * sure that the socket has been added to the waitingRequests queue.
+ */
+while (dispatches != null && dispatches.hasNext()) {
+DispatchType dispatchType = dispatches.next();
+processSocket(dispatchType.getSocketStatus(), false);
+}
 }
 
 



-
To unsubscribe, e-mail

svn commit: r1709549 - in /tomcat/trunk/java/org/apache/coyote: ./ http11/upgrade/

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 09:02:11 2015
New Revision: 1709549

URL: http://svn.apache.org/viewvc?rev=1709549&view=rev
Log:
Push down some more Processor methods

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
tomcat/trunk/java/org/apache/coyote/Processor.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1709549&r1=1709548&r2=1709549&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Tue Oct 20 
09:02:11 2015
@@ -168,8 +168,7 @@ public abstract class AbstractProcessor
 /**
  * Obtain the Executor used by the underlying endpoint.
  */
-@Override
-public Executor getExecutor() {
+protected Executor getExecutor() {
 return endpoint.getExecutor();
 }
 

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java?rev=1709549&r1=1709548&r2=1709549&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java Tue Oct 20 
09:02:11 2015
@@ -97,7 +97,6 @@ public abstract class AbstractProcessorL
 }
 
 
-@Override
 public void addDispatch(DispatchType dispatchType) {
 synchronized (dispatches) {
 dispatches.add(dispatchType);
@@ -105,7 +104,6 @@ public abstract class AbstractProcessorL
 }
 
 
-@Override
 public Iterator getIteratorAndClearDispatches() {
 // Note: Logic in AbstractProtocol depends on this method only 
returning
 // a non-null value if the iterator is non-empty. i.e. it should never
@@ -159,5 +157,7 @@ public abstract class AbstractProcessorL
 
 protected abstract SocketState asyncPostProcess();
 
+protected abstract void errorDispatch();
+
 protected abstract Log getLog();
 }

Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1709549&r1=1709548&r2=1709549&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java [UTF-8] 
(original)
+++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java [UTF-8] Tue Oct 
20 09:02:11 2015
@@ -157,10 +157,10 @@ public class AsyncStateMachine {
 private volatile AsyncState state = AsyncState.DISPATCHED;
 // Need this to fire listener on complete
 private AsyncContextCallback asyncCtxt = null;
-private final Processor processor;
+private final AbstractProcessor processor;
 
 
-public AsyncStateMachine(Processor processor) {
+public AsyncStateMachine(AbstractProcessor processor) {
 this.processor = processor;
 }
 

Modified: tomcat/trunk/java/org/apache/coyote/Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Processor.java?rev=1709549&r1=1709548&r2=1709549&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Tue Oct 20 09:02:11 2015
@@ -18,25 +18,18 @@ package org.apache.coyote;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
-import java.util.Iterator;
-import java.util.concurrent.Executor;
-
 import javax.servlet.http.HttpUpgradeHandler;
 
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
-import org.apache.tomcat.util.net.DispatchType;
 import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 
-
 /**
  * Common interface for processors of all protocols.
  */
 public interface Processor {
 
-Executor getExecutor();
-
 /**
  * Process a connection. This is called whenever an event occurs (e.g. more
  * data arrives) that allows processing to continue for a connection that 
is
@@ -56,8 +49,6 @@ public interface Processor {
 
 HttpUpgradeHandler getHttpUpgradeHandler();
 
-void errorDispatch();
-
 boolean isAsync();
 boolean isUpgrade();
 
@@ -84,8 +75,4 @@ public interface Processo

svn commit: r1709547 - in /tomcat/trunk/java/org/apache/coyote: AbstractProcessorLight.java Processor.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 09:01:34 2015
New Revision: 1709547

URL: http://svn.apache.org/viewvc?rev=1709547&view=rev
Log:
Push methods down where they are not required in the Processor interface

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
tomcat/trunk/java/org/apache/coyote/Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java?rev=1709547&r1=1709546&r2=1709547&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java Tue Oct 20 
09:01:34 2015
@@ -131,6 +131,33 @@ public abstract class AbstractProcessorL
 }
 }
 
+/**
+ * Service a 'standard' HTTP request. This method is called for both new
+ * requests and for requests that have partially read the HTTP request line
+ * or HTTP headers. Once the headers have been fully read this method is 
not
+ * called again until there is a new HTTP request to process. Note that the
+ * request type may change during processing which may result in one or 
more
+ * calls to {@link #dispatch(SocketStatus)}.
+ *
+ * @param socketWrapper The connection to process
+ *
+ * @return The state the caller should put the socket in when this method
+ * returns
+ *
+ * @throws IOException If an I/O error occurs during the processing of the
+ * request
+ */
+protected abstract SocketState service(SocketWrapperBase socketWrapper) 
throws IOException;
+
+/**
+ * Process an in-progress request that is not longer in standard HTTP mode.
+ * Uses currently include Servlet 3.0 Async and HTTP upgrade connections.
+ * Further uses may be added in the future. These will typically start as
+ * HTTP requests.
+ */
+protected abstract SocketState dispatch(SocketStatus status);
+
+protected abstract SocketState asyncPostProcess();
 
 protected abstract Log getLog();
 }

Modified: tomcat/trunk/java/org/apache/coyote/Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Processor.java?rev=1709547&r1=1709546&r2=1709547&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Tue Oct 20 09:01:34 2015
@@ -54,34 +54,6 @@ public interface Processor {
  */
 SocketState process(SocketWrapperBase socketWrapper, SocketStatus 
status) throws IOException;
 
-/**
- * Service a 'standard' HTTP request. This method is called for both new
- * requests and for requests that have partially read the HTTP request line
- * or HTTP headers. Once the headers have been fully read this method is 
not
- * called again until there is a new HTTP request to process. Note that the
- * request type may change during processing which may result in one or 
more
- * calls to {@link #dispatch(SocketStatus)}.
- *
- * @param socketWrapper The connection to process
- *
- * @return The state the caller should put the socket in when this method
- * returns
- *
- * @throws IOException If an I/O error occurs during the processing of the
- * request
- */
-SocketState service(SocketWrapperBase socketWrapper) throws IOException;
-
-/**
- * Process an in-progress request that is not longer in standard HTTP mode.
- * Uses currently include Servlet 3.0 Async and HTTP upgrade connections.
- * Further uses may be added in the future. These will typically start as
- * HTTP requests.
- */
-SocketState dispatch(SocketStatus status);
-
-SocketState asyncPostProcess();
-
 HttpUpgradeHandler getHttpUpgradeHandler();
 
 void errorDispatch();



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



svn commit: r1709550 - in /tomcat/trunk/java/org/apache/coyote: AbstractProcessor.java AsyncStateMachine.java Constants.java Request.java Response.java http11/Constants.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 09:02:28 2015
New Revision: 1709550

URL: http://svn.apache.org/viewvc?rev=1709550&view=rev
Log:
Clean-up

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
tomcat/trunk/java/org/apache/coyote/Constants.java
tomcat/trunk/java/org/apache/coyote/Request.java
tomcat/trunk/java/org/apache/coyote/Response.java
tomcat/trunk/java/org/apache/coyote/http11/Constants.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1709550&r1=1709549&r2=1709550&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Tue Oct 20 
09:02:28 2015
@@ -36,7 +36,7 @@ import org.apache.tomcat.util.res.String
  */
 public abstract class AbstractProcessor extends AbstractProcessorLight 
implements ActionHook {
 
-protected static final StringManager sm = 
StringManager.getManager(Constants.Package);
+private static final StringManager sm = 
StringManager.getManager(AbstractProcessor.class);
 
 protected Adapter adapter;
 protected final AsyncStateMachine asyncStateMachine;

Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1709550&r1=1709549&r2=1709550&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java [UTF-8] 
(original)
+++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java [UTF-8] Tue Oct 
20 09:02:28 2015
@@ -102,8 +102,7 @@ public class AsyncStateMachine {
 /**
  * The string manager for this package.
  */
-private static final StringManager sm =
-StringManager.getManager(Constants.Package);
+private static final StringManager sm = 
StringManager.getManager(AsyncStateMachine.class);
 
 private static enum AsyncState {
 DISPATCHED   (false, false, false, false, false),

Modified: tomcat/trunk/java/org/apache/coyote/Constants.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Constants.java?rev=1709550&r1=1709549&r2=1709550&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Constants.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Constants.java Tue Oct 20 09:02:28 2015
@@ -16,7 +16,6 @@
  */
 package org.apache.coyote;
 
-
 /**
  * Constants.
  *
@@ -24,11 +23,6 @@ package org.apache.coyote;
  */
 public final class Constants {
 
-
-// -- Constants
-
-public static final String Package = "org.apache.coyote";
-
 public static final String DEFAULT_CHARACTER_ENCODING="ISO-8859-1";
 
 public static final int MAX_NOTES = 32;
@@ -51,16 +45,14 @@ public final class Constants {
 /**
  * Has security been turned on?
  */
-public static final boolean IS_SECURITY_ENABLED =
-(System.getSecurityManager() != null);
+public static final boolean IS_SECURITY_ENABLED = 
(System.getSecurityManager() != null);
 
 
 /**
  * The request attribute that is set to the value of {@code Boolean.TRUE}
  * if connector processing this request supports use of sendfile.
  */
-public static final String SENDFILE_SUPPORTED_ATTR =
-"org.apache.tomcat.sendfile.support";
+public static final String SENDFILE_SUPPORTED_ATTR = 
"org.apache.tomcat.sendfile.support";
 
 
 /**
@@ -69,8 +61,7 @@ public final class Constants {
  * by sendfile. The value should be {@code java.lang.String}
  * that is {@code File.getCanonicalPath()} of the file to be served.
  */
-public static final String SENDFILE_FILENAME_ATTR =
-"org.apache.tomcat.sendfile.filename";
+public static final String SENDFILE_FILENAME_ATTR = 
"org.apache.tomcat.sendfile.filename";
 
 
 /**
@@ -80,8 +71,7 @@ public final class Constants {
  * {@code java.lang.Long}. To serve complete file
  * the value should be {@code Long.valueOf(0)}.
  */
-public static final String SENDFILE_FILE_START_ATTR =
-"org.apache.tomcat.sendfile.start";
+public static final String SENDFILE_FILE_START_ATTR = 
"org.apache.tomcat.sendfile.start";
 
 
 /**
@@ -91,8 +81,7 @@ public final class Constants {
  * {@code java.lang.Long}. To serve complete file
  * the value should be equal to the length of the file.
  */
-public static final String SENDFILE_FILE_END_ATTR =
-"org.apache.tomcat.sendfile.end";
+public static final String SENDFILE_FILE_END_ATTR = 
"org.apache.tomcat.sendfile.end";
 
 
 /**
@@ -102,6 +91,5

svn commit: r1709551 - in /tomcat/trunk/java/org/apache/coyote: AbstractProcessor.java ajp/AjpProcessor.java http11/Http11Processor.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 09:02:42 2015
New Revision: 1709551

URL: http://svn.apache.org/viewvc?rev=1709551&view=rev
Log:
Refactoring

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1709551&r1=1709550&r2=1709551&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Tue Oct 20 
09:02:42 2015
@@ -101,11 +101,6 @@ public abstract class AbstractProcessor
 }
 
 
-protected void resetErrorState() {
-errorState = ErrorState.NONE;
-}
-
-
 protected ErrorState getErrorState() {
 return errorState;
 }
@@ -246,6 +241,14 @@ public abstract class AbstractProcessor
 asyncStateMachine.asyncOperation();
 }
 
+
+@Override
+public void recycle() {
+errorState = ErrorState.NONE;
+asyncStateMachine.recycle();
+}
+
+
 /**
  * Flush any pending writes. Used during non-blocking writes to flush any
  * remaining data from a previous incomplete write.

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1709551&r1=1709550&r2=1709551&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Tue Oct 20 
09:02:42 2015
@@ -822,7 +822,7 @@ public class AjpProcessor extends Abstra
 @Override
 public void recycle() {
 getAdapter().checkRecycled(request, response);
-asyncStateMachine.recycle();
+super.recycle();
 request.recycle();
 response.recycle();
 first = true;
@@ -834,7 +834,6 @@ public class AjpProcessor extends Abstra
 certificates.recycle();
 swallowResponse = false;
 bytesWritten = 0;
-resetErrorState();
 }
 
 

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1709551&r1=1709550&r2=1709551&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Tue Oct 20 
09:02:42 2015
@@ -1794,13 +1794,12 @@ public class Http11Processor extends Abs
 @Override
 public final void recycle() {
 getAdapter().checkRecycled(request, response);
-asyncStateMachine.recycle();
+super.recycle();
 inputBuffer.recycle();
 outputBuffer.recycle();
 httpUpgradeHandler = null;
 socketWrapper = null;
 sendfileData = null;
-resetErrorState();
 }
 
 
@@ -1814,5 +1813,4 @@ public class Http11Processor extends Abs
 public void pause() {
 // NOOP for HTTP
 }
-
 }



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



svn commit: r1709546 - in /tomcat/trunk/java/org/apache/coyote: ./ http11/upgrade/ http2/

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 09:01:20 2015
New Revision: 1709546

URL: http://svn.apache.org/viewvc?rev=1709546&view=rev
Log:
Pull up comment processing code

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
tomcat/trunk/java/org/apache/coyote/Processor.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1709546&r1=1709545&r2=1709546&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Tue Oct 20 
09:01:20 2015
@@ -22,7 +22,6 @@ import java.util.concurrent.Executor;
 
 import javax.servlet.RequestDispatcher;
 
-import org.apache.juli.logging.Log;
 import org.apache.tomcat.util.ExceptionUtils;
 import org.apache.tomcat.util.net.AbstractEndpoint;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
@@ -280,6 +279,4 @@ public abstract class AbstractProcessor
  * current request has completed
  */
 protected abstract SocketState dispatchEndRequest();
-
-protected abstract Log getLog();
 }

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java?rev=1709546&r1=1709545&r2=1709546&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java Tue Oct 20 
09:01:20 2015
@@ -22,7 +22,9 @@ import java.util.Set;
 import java.util.concurrent.CopyOnWriteArraySet;
 
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
+import org.apache.juli.logging.Log;
 import org.apache.tomcat.util.net.DispatchType;
+import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
@@ -36,9 +38,62 @@ public abstract class AbstractProcessorL
 
 
 @Override
-public SocketState process(SocketWrapperBase socketWrapper) throws 
IOException {
-// TODO Auto-generated method stub
-return null;
+public SocketState process(SocketWrapperBase socketWrapper, 
SocketStatus status)
+throws IOException {
+
+SocketState state = SocketState.CLOSED;
+Iterator dispatches = null;
+do {
+if (status == SocketStatus.CLOSE_NOW) {
+errorDispatch();
+state = SocketState.CLOSED;
+} else if (dispatches != null) {
+DispatchType nextDispatch = dispatches.next();
+state = dispatch(nextDispatch.getSocketStatus());
+} else if (status == SocketStatus.DISCONNECT) {
+// Do nothing here, just wait for it to get recycled
+} else if (isAsync() || isUpgrade()) {
+state = dispatch(status);
+} else if (state == SocketState.ASYNC_END) {
+state = dispatch(status);
+// TODO: In case this request takes a long time to process
+//   remove the TBD (socket/processor/something else) from
+//   the waiting requests now else the async timeout will
+//   fire
+if (state == SocketState.OPEN) {
+// There may be pipe-lined data to read. If the data
+// isn't processed now, execution will exit this
+// loop and call release() which will recycle the
+// processor (and input buffer) deleting any
+// pipe-lined data. To avoid this, process it now.
+state = service(socketWrapper);
+}
+} else if (status == SocketStatus.OPEN_WRITE) {
+// Extra write event likely after async, ignore
+state = SocketState.LONG;
+} else {
+state = service(socketWrapper);
+}
+
+if (state != SocketState.CLOSED && isAsync()) {
+state = asyncPostProcess();
+}
+
+if (getLog().isDebugEnabled()) {
+getLog().debug("Socket: [" + socketWrapper +
+"], Status in: [" + status +
+"], State out: [" + state + "]");
+}
+
+

svn commit: r1709545 - in /tomcat/trunk/java/org/apache/coyote: ./ ajp/ http11/ http11/upgrade/ http2/

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 09:00:45 2015
New Revision: 1709545

URL: http://svn.apache.org/viewvc?rev=1709545&view=rev
Log:
Rename process() -> service()
Create a new process() method to hold code pulled up from
StreamProcessor and AbstractConnectionHandler

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
tomcat/trunk/java/org/apache/coyote/Processor.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1709545&r1=1709544&r2=1709545&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Tue Oct 20 
09:00:45 2015
@@ -204,12 +204,6 @@ public abstract class AbstractProcessor
 }
 
 
-/**
- * Process an in-progress request that is not longer in standard HTTP mode.
- * Uses currently include Servlet 3.0 Async and HTTP upgrade connections.
- * Further uses may be added in the future. These will typically start as
- * HTTP requests.
- */
 @Override
 public final SocketState dispatch(SocketStatus status) {
 

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java?rev=1709545&r1=1709544&r2=1709545&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java Tue Oct 20 
09:00:45 2015
@@ -16,11 +16,14 @@
  */
 package org.apache.coyote;
 
+import java.io.IOException;
 import java.util.Iterator;
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArraySet;
 
+import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.DispatchType;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * This is a light-weight abstract processor implementation that is intended as
@@ -33,6 +36,13 @@ public abstract class AbstractProcessorL
 
 
 @Override
+public SocketState process(SocketWrapperBase socketWrapper) throws 
IOException {
+// TODO Auto-generated method stub
+return null;
+}
+
+
+@Override
 public void addDispatch(DispatchType dispatchType) {
 synchronized (dispatches) {
 dispatches.add(dispatchType);

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1709545&r1=1709544&r2=1709545&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Tue Oct 20 
09:00:45 2015
@@ -714,13 +714,13 @@ public abstract class AbstractProtocolhttp://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Processor.java?rev=1709545&r1=1709544&r2=1709545&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Tue Oct 20 09:00:45 2015
@@ -34,11 +34,13 @@ import org.apache.tomcat.util.net.Socket
  * Common interface for processors of all protocols.
  */
 public interface Processor {
+
 Executor getExecutor();
 
 /**
- * Process HTTP requests. All requests are treated as HTTP requests to 
start
- * with although they may change type during processing.
+ * Process a connection. This is called whenever an event occurs (e.g. more
+ * data arrives) that allows processing to continue for a connection that 
is
+ * not currently being processed.
  *
  * @param socketWrapper The connection to process
  *
@@ -50,6 +52,30 @@ public interface Processor {
  */
 SocketState process(SocketWrapperBase socketWrapper) throws IOException;
 
+/**
+ * Service a 'standard' HTTP request. This method is called for both new
+ * requests and for requests that have partially read the HTTP request line
+ * or HTTP headers. Once the headers have been fully read this method is 
not
+ * called again until there is a new HTTP request to process. Note that the
+ * request type may change during processing which may result 

svn commit: r1709548 - in /tomcat/trunk/java/org/apache/coyote: AbstractProcessor.java Processor.java ajp/AjpProcessor.java http11/AbstractHttp11Protocol.java http11/upgrade/UpgradeProcessorBase.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 09:01:52 2015
New Revision: 1709548

URL: http://svn.apache.org/viewvc?rev=1709548&view=rev
Log:
clientCertProvider is only used by AJP

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
tomcat/trunk/java/org/apache/coyote/Processor.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1709548&r1=1709547&r2=1709548&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Tue Oct 20 
09:01:52 2015
@@ -45,7 +45,6 @@ public abstract class AbstractProcessor
 protected final Response response;
 protected volatile SocketWrapperBase socketWrapper = null;
 protected volatile SSLSupport sslSupport;
-private String clientCertProvider = null;
 
 /**
  * Error state for the request/response currently being processed.
@@ -141,17 +140,6 @@ public abstract class AbstractProcessor
 }
 
 
-@Override
-public String getClientCertProvider() {
-return clientCertProvider;
-}
-
-
-public void setClientCertProvider(String s) {
-this.clientCertProvider = s;
-}
-
-
 /**
  * Set the socket wrapper being used.
  */

Modified: tomcat/trunk/java/org/apache/coyote/Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Processor.java?rev=1709548&r1=1709547&r2=1709548&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Tue Oct 20 09:01:52 2015
@@ -69,20 +69,6 @@ public interface Processor {
  */
 void recycle();
 
-/**
- * When client certificate information is presented in a form other than
- * instances of {@link java.security.cert.X509Certificate} it needs to be
- * converted before it can be used and this property controls which JSSE
- * provider is used to perform the conversion. For example it is used with
- * the AJP connectors, the HTTP APR connector and with the
- * {@link org.apache.catalina.valves.SSLValve}. If not specified, the
- * default provider will be used.
- *
- * @return The name of the JSSE provider to use for certificate
- * transformation if required
- */
-String getClientCertProvider();
-
 void setSslSupport(SSLSupport sslSupport);
 
 /**

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1709548&r1=1709547&r2=1709548&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Tue Oct 20 
09:01:52 2015
@@ -243,6 +243,8 @@ public class AjpProcessor extends Abstra
 private long bytesWritten = 0;
 
 
+
+
 //  Constructor
 
 public AjpProcessor(int packetSize, AbstractEndpoint endpoint) {
@@ -318,6 +320,19 @@ public class AjpProcessor extends Abstra
 }
 
 
+/**
+ * When client certificate information is presented in a form other than
+ * instances of {@link java.security.cert.X509Certificate} it needs to be
+ * converted before it can be used and this property controls which JSSE
+ * provider is used to perform the conversion.
+ */
+private String clientCertProvider = null;
+public String getClientCertProvider() { return clientCertProvider; }
+public void setClientCertProvider(String clientCertProvider) {
+this.clientCertProvider = clientCertProvider;
+}
+
+
 // - Public Methods
 
 

Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java?rev=1709548&r1=1709547&r2=1709548&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java Tue 
Oct 20 09:01:52 2015
@@ -627,7 +627,6 @@ public abstract class AbstractHttp11Prot
 processor.setRestrictedUserAgents(getRestrictedUserAgents());
 p

Tomcat Wiki, please add me to the ContributorsGroup

2015-10-20 Thread Hartmut Becker
Hi,

I want to add some notes to the HowTo pages: how to run Tomcat on
OpenVMS. The change to the main HowTo page is small, just a reference to
a new page - similar to what is done for other OS specific notes: OS X,
Solaris, ...

Then I want to upload a new page which describes installing and running
Tomcat on OpenVMS. This page includes the OS specific scripts.

This is just a single contribution, nothing else is planned. If there is
another way to get these notes into the HowTo without adding me (Wiki
login name HartmutBecker), please let me know.

Also, I'm aware that running Tomcat on OpenVMS may not be interesting
for many users or readers of the HowTo, especially as Java 7 and 8 are
not yet supported for OpenVMS. So if it is decided not to add my notes,
I will accept it. Please let me know.

Thanks,
Hartmut


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



[Bug 58508] role_name in tomcat-users.xml : invalid character

2015-10-20 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58508

Fred 33  changed:

   What|Removed |Added

 OS||All
 CC||frederic.dancla@u-bordeaux.
   ||fr

-- 
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



[Bug 58508] New: role_name in tomcat-users.xml : invalid character

2015-10-20 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58508

Bug ID: 58508
   Summary: role_name in tomcat-users.xml : invalid character
   Product: Tomcat 7
   Version: unspecified
  Hardware: PC
Status: NEW
  Severity: major
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: frederic.dan...@u-bordeaux.fr

Bonjour, 

My tomcat server send exception about invalid characters with a role name
"ubx:5485" ;

My first question is : why ? ;o)

and I would like find specifications about valid characters for a role name.

do you have some solution , because I used Ldap connection, and all my groups
are this format "xx:yyy:zzz" .

Thanks a lot , 
Frederic (de Bordeaux : soleil et froid )

-- 
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



[Tomcat Wiki] Update of "ContributorsGroup" by KonstantinKolinko

2015-10-20 Thread Apache Wiki
Dear Wiki user,

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

The "ContributorsGroup" page has been changed by KonstantinKolinko:
https://wiki.apache.org/tomcat/ContributorsGroup?action=diff&rev1=27&rev2=28

Comment:
Add HartmutBecker, as asked on dev@ list

   * GaryBriggs
   * GFUCyrusAG
   * GlenIhrig
+  * HartmutBecker
   * jboynes
   * JonLucas
   * [[Krzysztof Gil]]

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



Re: Tomcat Wiki, please add me to the ContributorsGroup

2015-10-20 Thread Konstantin Kolinko
2015-10-20 12:16 GMT+03:00 Hartmut Becker :
> Hi,
>
> I want to add some notes to the HowTo pages: how to run Tomcat on
> OpenVMS. The change to the main HowTo page is small, just a reference to
> a new page - similar to what is done for other OS specific notes: OS X,
> Solaris, ...
>
> Then I want to upload a new page which describes installing and running
> Tomcat on OpenVMS. This page includes the OS specific scripts.
>
> This is just a single contribution, nothing else is planned. If there is
> another way to get these notes into the HowTo without adding me (Wiki
> login name HartmutBecker), please let me know.
>
> Also, I'm aware that running Tomcat on OpenVMS may not be interesting
> for many users or readers of the HowTo, especially as Java 7 and 8 are
> not yet supported for OpenVMS. So if it is decided not to add my notes,
> I will accept it. Please let me know.

Added user to the group.

The Other Operating Systems page already mentions OpenVMS
https://wiki.apache.org/tomcat/FAQ/Other_Operating_Systems

Best regards,
Konstantin Kolinko

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



svn commit: r1709577 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AbstractEndpoint.java NioChannel.java SocketWrapperBase.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 12:10:29 2015
New Revision: 1709577

URL: http://svn.apache.org/viewvc?rev=1709577&view=rev
Log:
Simplify

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/NioChannel.java
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1709577&r1=1709576&r2=1709577&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Tue Oct 
20 12:10:29 2015
@@ -49,8 +49,7 @@ public abstract class AbstractEndpoint {
 

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioChannel.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioChannel.java?rev=1709577&r1=1709576&r2=1709577&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioChannel.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioChannel.java Tue Oct 20 
12:10:29 2015
@@ -27,7 +27,6 @@ import org.apache.tomcat.util.net.NioEnd
 import org.apache.tomcat.util.res.StringManager;
 
 /**
- *
  * Base class for a SocketChannel wrapper used by the endpoint.
  * This way, logic for a SSL socket channel remains the same as for
  * a non SSL, making sure we don't need to code for any exception cases.
@@ -36,8 +35,7 @@ import org.apache.tomcat.util.res.String
  */
 public class NioChannel implements ByteChannel {
 
-protected static final StringManager sm = StringManager.getManager(
-NioChannel.class.getPackage().getName());
+protected static final StringManager sm = 
StringManager.getManager(NioChannel.class);
 
 protected static ByteBuffer emptyBuf = ByteBuffer.allocate(0);
 

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1709577&r1=1709576&r2=1709577&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Tue Oct 
20 12:10:29 2015
@@ -31,8 +31,7 @@ import org.apache.tomcat.util.res.String
 
 public abstract class SocketWrapperBase {
 
-protected static final StringManager sm = StringManager.getManager(
-SocketWrapperBase.class.getPackage().getName());
+protected static final StringManager sm = 
StringManager.getManager(SocketWrapperBase.class);
 
 private volatile E socket;
 private final AbstractEndpoint endpoint;



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



svn commit: r1709579 - in /tomcat/trunk/java/org/apache/coyote: ajp/AjpProcessor.java http11/Http11Processor.java http2/StreamProcessor.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 12:11:46 2015
New Revision: 1709579

URL: http://svn.apache.org/viewvc?rev=1709579&view=rev
Log:
Implement async timeout for HTTP/2
Align ASYNC_SETTIMOUT implementations across processors

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1709579&r1=1709578&r2=1709579&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Tue Oct 20 
12:11:46 2015
@@ -515,8 +515,10 @@ public class AjpProcessor extends Abstra
 break;
 }
 case ASYNC_SETTIMEOUT: {
-if (param == null) return;
-long timeout = ((Long)param).longValue();
+if (param == null) {
+return;
+}
+long timeout = ((Long) param).longValue();
 setAsyncTimeout(timeout);
 break;
 }

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1709579&r1=1709578&r2=1709579&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Tue Oct 20 
12:11:46 2015
@@ -738,7 +738,7 @@ public class Http11Processor extends Abs
 break;
 }
 case ASYNC_SETTIMEOUT: {
-if (param == null || socketWrapper == null) {
+if (param == null) {
 return;
 }
 long timeout = ((Long) param).longValue();

Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1709579&r1=1709578&r2=1709579&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Tue Oct 20 
12:11:46 2015
@@ -305,7 +305,11 @@ public class StreamProcessor extends Abs
 break;
 }
 case ASYNC_SETTIMEOUT: {
-// TODO
+if (param == null) {
+return;
+}
+long timeout = ((Long) param).longValue();
+setAsyncTimeout(timeout);
 break;
 }
 case ASYNC_TIMEOUT: {



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



svn commit: r1709578 - in /tomcat/trunk/java/org/apache: coyote/ coyote/ajp/ coyote/http11/ coyote/http11/upgrade/ tomcat/util/net/

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 12:11:18 2015
New Revision: 1709578

URL: http://svn.apache.org/viewvc?rev=1709578&view=rev
Log:
Refactor async timeouts
Move async timeout thread to Protocol
Move tracking of timeout setting to Processor
Move tracking of last asycn start to AsyncStateMachine

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
tomcat/trunk/java/org/apache/coyote/Processor.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1709578&r1=1709577&r2=1709578&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Tue Oct 20 
12:11:18 2015
@@ -40,6 +40,7 @@ public abstract class AbstractProcessor
 
 protected Adapter adapter;
 protected final AsyncStateMachine asyncStateMachine;
+private volatile long asyncTimeout = -1;
 protected final AbstractEndpoint endpoint;
 protected final Request request;
 protected final Response response;
@@ -242,6 +243,39 @@ public abstract class AbstractProcessor
 }
 
 
+@Override
+public void timeoutAsync(long now) {
+if (now < 0) {
+doTimeoutAsync();
+} else {
+long asyncTimeout = getAsyncTimeout();
+if (asyncTimeout > 0) {
+long asyncStart = asyncStateMachine.getLastAsyncStart();
+if ((now - asyncStart) > asyncTimeout) {
+doTimeoutAsync();
+}
+}
+}
+}
+
+
+private void doTimeoutAsync() {
+// Avoid multiple timeouts
+setAsyncTimeout(-1);
+socketWrapper.processSocket(SocketStatus.TIMEOUT, true);
+}
+
+
+public void setAsyncTimeout(long timeout) {
+asyncTimeout = timeout;
+}
+
+
+public long getAsyncTimeout() {
+return asyncTimeout;
+}
+
+
 @Override
 public void recycle() {
 errorState = ErrorState.NONE;

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1709578&r1=1709577&r2=1709578&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Tue Oct 20 
12:11:18 2015
@@ -19,6 +19,8 @@ package org.apache.coyote;
 import java.io.IOException;
 import java.net.InetAddress;
 import java.nio.ByteBuffer;
+import java.util.Collections;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -86,9 +88,20 @@ public abstract class AbstractProtocol endpoint;
 
+
 private Handler handler;
 
 
+private final Set waitingProcessors =
+Collections.newSetFromMap(new ConcurrentHashMap());
+
+
+/**
+ * The async timeout thread.
+ */
+private AsyncTimeout asyncTimeout = null;
+
+
 public AbstractProtocol(AbstractEndpoint endpoint) {
 this.endpoint = endpoint;
 setSoLinger(Constants.DEFAULT_CONNECTION_LINGER);
@@ -182,6 +195,11 @@ public abstract class AbstractProtocol getEndpoint() {
@@ -514,6 +542,14 @@ public abstract class AbstractProtocol socket, Processor 
processor) {
-if (processor.isAsync()) {
-// Async
-socket.setAsync(true);
-} else {
-// This branch is currently only used with HTTP
+if (!processor.isAsync()) {
+// This is currently only used with HTTP
 // Either:
 //  - this is an upgraded connection
 //  - the request line/headers have not been completely
@@ -964,4 +1004,53 @@ public abstract class AbstractProtocolhttp://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1709578&r1=1709577&r2=1709578&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AsyncSt

Re: Plan for 9.0.0.RC1

2015-10-20 Thread Mark Thomas
On 19/10/2015 12:10, Mark Thomas wrote:
> On 16/10/2015 11:26, Mark Thomas wrote:
>> Hi,
>>
>> As you may have noticed I have been busy with the Servlet 4.0 updates in
>> the last week or so, taking advantage of all the previous work on
>> connector refactoring and the HTTP/2 implementation.
>>
>> 9.0.x is now aligned with Servlet 4.0.b01 plus a couple of minor API
>> tweaks made post that release.
>>
>> I think now is the time to give users a chance to use 9.0.x so we can
>> start gathering feedback on what works and what doesn't.
>>
>> Therefore, I plan to tag 9.0.0.RC1 early next week and call a release
>> vote. Before I tag, there are a few things I want to finish off. They are:
>> - update server.xml to use new TLS configuration style
>> - start the 9.0.x migration guide
> 
> I've done these.
> 
>> If anyone can think of anything they feel must be done before a
>> 9.0.0.RC1 release then please speak up now.
> 
> A few things occurred to me over the weekend.
> 
> There is a TODO for Async timeouts and HTTP/2. I'm planning on leaving
> that as a known TODO for the first RC. I think this will be easier to
> implement after I have completed some more refactoring and I'm not sure
> how long that refactoring will take.

This was easier that I thought it would be so this has been completed.

> The other thing I want to look at before RC1 is the current
> Gump/BuildBot failures.

I'm going to start looking at these now. I also won't be surprised if
the refactoring triggers a couple of additional failures. The tc-native
1.2.0 release is going to take a little while so that should give me the
time to look at the failures before tagging 9.0.0-RC1.

Mark




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



Re: Tomcat Wiki, please add me to the ContributorsGroup

2015-10-20 Thread Hartmut Becker
On 10/20/2015 01:02 PM, Konstantin Kolinko wrote:
> Added user to the group.
> 
> The Other Operating Systems page already mentions OpenVMS
> https://wiki.apache.org/tomcat/FAQ/Other_Operating_Systems

Thanks for adding me to the group.

The FAQ/Other_Operating_Systems mentions a "bug report" and file
contributions. From what I can see (in svn and the binary kits) only
5.0.30 contains one of these file contributions:
jakarta-tomcat-5.0.30/bin/contrib/openVMS-alpha/TOMCAT_Setup_Java.com. I
can't see this in 5.5.12, 6.0.0 or any later version (but I have to
admit I didn't check them all and didn't check svn for any comment on this).

I don't suggest to add my scripts to the contribution. However, anybody
should feel free to do so - without asking me :-) My approach differs
slightly from the one in the FAQ/"bug report" by providing the usual
scripts like catalina[.com], startup[.com], shutdown[.com] and
version[.com]. There is one additional script to setup/configure Java on
OpenVMS, maybe similar/comparable to the previous TOMCAT_Setup_Java.com.
Having the scripts in the HowTo makes them "unsupported" so that they
don't need to be checked in or need to be maintained, other than by the
interested user(s).

On the other hand, it looks like the FAQ/Other_Operating_Systems needs
some update as well. A pointer to the updated HowTo looks good enough to me.

Anyway, I just wanted to give something back.
Best regards,
Hartmut

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



[Tomcat Wiki] Update of "HowTo" by HartmutBecker

2015-10-20 Thread Apache Wiki
Dear Wiki user,

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

The "HowTo" page has been changed by HartmutBecker:
https://wiki.apache.org/tomcat/HowTo?action=diff&rev1=142&rev2=143

  
  == How do I set up and run Tomcat on Solaris 10? ==
  See TomcatOnSolaris10
+ 
+ == How do I set up and run Tomcat on OpenVMS? ==
+ See [[TomcatOnOpenVMS]]
  
  == How do I set up another tomcat service on Windows, sharing the same Tomcat 
Home ? ==
  This script sets up a a tomcat base directory and calls tomcat5.exe to create 
a windows service which will use the tomcat home given for the binaries and 
tomcat base you create See TomcatCreateWindowsService

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



[Tomcat Wiki] Update of "TomcatOnOpenVMS" by HartmutBecker

2015-10-20 Thread Apache Wiki
Dear Wiki user,

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

The "TomcatOnOpenVMS" page has been changed by HartmutBecker:
https://wiki.apache.org/tomcat/TomcatOnOpenVMS

New page:
== Running Tomcat on OpenVMS ==

HP offers an Apache based web server named "Secure Web Server" (SWS). It 
includes an Apache module CSWS_JAVA (Tomcat). The current version of this 
module is CSWS_JAVA Version 7.0-29 for OpenVMS Integrity Server (based on 
Apache Tomcat 7.0.29).

At the time of writing, it is unknown to me whether HP plans to create newer 
versions of Tomcat for SWS.

These notes show how to install and run Tomcat on OpenVMS, independent of HP's 
Secure Web Server.

I hope these notes are of use to someone out there.

 THE ENVIRONMENT 

OpenVMS for Integrity Servers Version 8.3 is the minimum version for which this 
should work. Newer versions are recommended, as there are 8.3-1H1 or 8.4 from 
HP or 8.4-1H1 from VSI.

Java 6 (at the time of writing there is no newer Java version available from HP 
or VSI), the HP kit is named J2SEâ„¢ Development Kit (JDK) 6.0-4, which is based 
on Java SE 6 Update 37.

Patches, aka ECOs, for OpenVMS as listed in 
http://h18012.www1.hp.com/java/download/ivms/1.6.0/jdk6.0_patches.html.

Some disk space (~20MB is the minimum for the installation) on an ODS5 disk.

A recent archive tool for zip archives or compressed tar files.

Scripts, aka VMS DCL command procedures, as shown below.

=== THE INSTALLATION ===

Ensure that Java 6 is installed on OpenVMS and that at least all the ECOs as 
described above are installed. It is recommended to have the operating system 
patched to the current level. At least the C-run-time environment should have 
the current patch level.

'''Step 1: Download Tomcat'''

Download Tomcat from the Tomcat home page, and get the binary version, either 
the zip or tar.gz file. I downloaded {{{apache-tomcat-7.0.64.tar.gz}}}.

'''Step 2: Extract Tomcat archive'''

Extract the files into a directory on an ODS5 disk. Verify that your unzip or 
tar utility creates case sensitive file names. The result of extracting will be 
a sub-directory {{{apache-tomcat-7.0.64}}}, which from the VMS command line 
will be shown as {{{apache-tomcat-7^.0^.64.DIR;1}}} (For convenience you can 
rename the directory file, to avoid the escape character {{{'^'}}}, for example 
to {{{apache-tomcat-7064.DIR;1}}}.)

It is recommended to use the directory filename as is and to set the VMS 
process' parse style for commands to accept ODS5 file specifications: {{{$ set 
process/parse_style=extended/case_lookup=blind}}}. 

It is also recommended to make the sub-directory files deletable: {{{$ set 
protection=o:rwed [.apache-tomcat-7^.0^.64...]*.dir}}}

'''Step 2: Add the OpenVMS specific scripts'''

Extract the scripts shown below into the appropriate directories.

'''Step 3: Test the installation'''

Run the version script: {{{$ @[.apache-tomcat-7^.0^.64.bin]version}}}. The 
result should look like:

{{{
Server version: Apache Tomcat/7.0.64
Server built:   Aug 19 2015 17:18:06 UTC
Server number:  7.0.64.0
OS Name:OpenVMS
OS Version: V8.4
Architecture:   ia64
JVM Version:1.6.0-6
JVM Vendor: Hewlett-Packard Company
$ 
}}}

Start Tomcat: {{{@[.apache-tomcat-7^.0^.64.bin]startup}}}.

The supplied startup script runs Tomcat in a spawned OpenVMS sub-process of 
your current interactive process. That is, there will be some asynchronous 
output shown in your terminal which is produced by VMS and/or Tomcat.  However, 
you can enter any DCL command while Tomcat is running - including the command 
to stop it.

The output may look like:
{{{
%DCL-S-SPAWNED, process BECKER_39053 spawned
$ 
Oct 16, 2015 2:56:17 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:Apache Tomcat/7.0.64
Oct 16, 2015 2:56:17 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:  Aug 19 2015 17:18:06 UTC
Oct 16, 2015 2:56:17 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 7.0.64.0  
...
Oct 16, 2015 2:56:26 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 8339 ms
}}}

Now open a browser window, and enter http://YOUR_VMS_NODE:8080 - the default 
Tomcat page should open.

Stop Tomcat: {{{@[.apache-tomcat-7^.0^.64.bin]shutdown}}}.

Similar to the startup script, the supplied shutdown script runs in a spawned 
OpenVMS sub-process. That is, there will be some asynchronous output shown in 
your terminal which is produced by VMS and/or Tomcat.  However you can enter 
any DCL command while Tomcat is shutting down.

The output may look like:
{{{
%DCL-S-SPAWNED, process BECKER_18865 spawned
$ 
Oct 16, 2015 3:00:50 PM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the 
Server instance.
...
}}}

'''Step 4: After the installation'''

Now you are ready to deploy your web 

Re: Plan for 9.0.0.RC1

2015-10-20 Thread Rémy Maucherat
2015-10-20 14:14 GMT+02:00 Mark Thomas :

> > The other thing I want to look at before RC1 is the current
> > Gump/BuildBot failures.
>
> I'm going to start looking at these now. I also won't be surprised if
> the refactoring triggers a couple of additional failures. The tc-native
> 1.2.0 release is going to take a little while so that should give me the
> time to look at the failures before tagging 9.0.0-RC1.
>
> +1

I'm having an issue with the HTTP/2 input design though: when body frames
come in, they get read until it overflows the buffer. And it doesn't work
in conjunction with non blocking obviously then (tested with the byte
counter from the examples).

IMO this is rather difficult to do since we cannot stop reading the
connection (it would stall all streams) so the body frames have to go
somewhere. So the "solution" is to grow the buffer in that case ?

Other topic: any ideas on my NIO2/chrome issue ?

Rémy


Re: Consider support for the Servlet profile of JSR 196 (JASPIC) in Tomcat 7.0.x

2015-10-20 Thread Rémy Maucherat
2015-10-20 8:18 GMT+02:00 Fjodor Vershinin :

> Hi, I had reviewed patches left from summer. There are patches for
> supporting property configurator, SPNEGO module and some refactorings.
> You can have a look here:
> https://github.com/fjodorver/tomcat/tree/feature/spnego
> The next thing I would like to polish JASPIC implementation in order to get
> it working with Arjan's test suite.
>
> Ok, so I'll look at that.

Thanks,
Rémy


Re: Plan for 9.0.0.RC1

2015-10-20 Thread Mark Thomas
On 20/10/2015 14:11, Rémy Maucherat wrote:
> 2015-10-20 14:14 GMT+02:00 Mark Thomas :
> 
>>> The other thing I want to look at before RC1 is the current
>>> Gump/BuildBot failures.
>>
>> I'm going to start looking at these now. I also won't be surprised if
>> the refactoring triggers a couple of additional failures. The tc-native
>> 1.2.0 release is going to take a little while so that should give me the
>> time to look at the failures before tagging 9.0.0-RC1.
>>
>> +1
> 
> I'm having an issue with the HTTP/2 input design though: when body frames
> come in, they get read until it overflows the buffer. And it doesn't work
> in conjunction with non blocking obviously then (tested with the byte
> counter from the examples).
> 
> IMO this is rather difficult to do since we cannot stop reading the
> connection (it would stall all streams) so the body frames have to go
> somewhere. So the "solution" is to grow the buffer in that case ?

Essentially, yes. The buffer has to be as least as big as the current
window size. The default buffer size needs to be increased from 16k to
64k to align with the HTTP/2 default initial window size.

> Other topic: any ideas on my NIO2/chrome issue ?

Sorry, not yet. Still looking at a Gump failure that looks to have been
triggered by an error in my refactoring.

Mark


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



[Tomcat Wiki] Update of "FAQ/Other_Operating_Systems" by HartmutBecker

2015-10-20 Thread Apache Wiki
Dear Wiki user,

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

The "FAQ/Other_Operating_Systems" page has been changed by HartmutBecker:
https://wiki.apache.org/tomcat/FAQ/Other_Operating_Systems?action=diff&rev1=5&rev2=6

  == Preface ==
- This section of the FAQ deals with running Tomcat on platforms not supported 
by the built-in startup/shutdown scripts. These include OS/2, z/OS, 
OpenVMS-Alpha, and others.
+ This section of the FAQ deals with running Tomcat on platforms not supported 
by the built-in startup/shutdown scripts. These include OS/2, z/OS, OpenVMS 
(Alpha/I64), and others.
  
  == Questions ==
  
@@ -16, +16 @@

 * [[http://issues.apache.org/bugzilla/show_bug.cgi?id=31447|From 
pan...@users.sourceforge.net]]
* OpenVMS-Alpha:
 * [[http://issues.apache.org/bugzilla/show_bug.cgi?id=31499|Hewlett 
Packard (meg.garri...@hp.com)]]
+   * OpenVMS-I64:
+* [[http://wiki.apache.org/tomcat/HowTo|See the HowTo]]
  
  
  [[CategoryFAQ]]

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



svn commit: r1709590 - /tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java

2015-10-20 Thread remm
Author: remm
Date: Tue Oct 20 13:46:49 2015
New Revision: 1709590

URL: http://svn.apache.org/viewvc?rev=1709590&view=rev
Log:
Fix imports and remove useless test class. Based on a patch by Fjodor Vershinin.

Modified:

tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java

Modified: 
tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java?rev=1709590&r1=1709589&r2=1709590&view=diff
==
--- 
tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java
 Tue Oct 20 13:46:49 2015
@@ -26,18 +26,9 @@ import java.util.Map;
 
 import javax.security.auth.message.config.AuthConfigFactory;
 
-import org.hamcrest.CoreMatchers;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-
-import org.junit.Test;
-
 import org.apache.catalina.Context;
 import org.apache.catalina.authenticator.jaspic.JaspicAuthenticator;
 import 
org.apache.catalina.authenticator.jaspic.provider.TomcatAuthConfigProvider;
-import org.apache.catalina.connector.Request;
 import org.apache.catalina.startup.TesterMapRealm;
 import org.apache.catalina.startup.TesterServlet;
 import org.apache.catalina.startup.Tomcat;
@@ -47,6 +38,7 @@ import org.apache.tomcat.util.codec.bina
 import org.apache.tomcat.util.descriptor.web.LoginConfig;
 import org.apache.tomcat.util.descriptor.web.SecurityCollection;
 import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
+import org.junit.Test;
 
 public class TestJaspicBasicAuthenticator extends TomcatBaseTest {
 
@@ -201,11 +193,4 @@ public class TestJaspicBasicAuthenticato
 return testResponse;
 }
 
-private static class TesterRequest extends Request {
-
-@Override
-public String getRemoteAddr() {
-return "127.0.0.1";
-}
-}
 }



-
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

2015-10-20 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/472

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1709590
Blamelist: remm

BUILD FAILED: failed compile_1

Sincerely,
 -The Buildbot




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



svn commit: r1709595 - /tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java

2015-10-20 Thread remm
Author: remm
Date: Tue Oct 20 14:02:01 2015
New Revision: 1709595

URL: http://svn.apache.org/viewvc?rev=1709595&view=rev
Log:
Fix oops.

Modified:

tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java

Modified: 
tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java?rev=1709595&r1=1709594&r2=1709595&view=diff
==
--- 
tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicBasicAuthenticator.java
 Tue Oct 20 14:02:01 2015
@@ -26,6 +26,11 @@ import java.util.Map;
 
 import javax.security.auth.message.config.AuthConfigFactory;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Test;
+
 import org.apache.catalina.Context;
 import org.apache.catalina.authenticator.jaspic.JaspicAuthenticator;
 import 
org.apache.catalina.authenticator.jaspic.provider.TomcatAuthConfigProvider;
@@ -38,7 +43,6 @@ import org.apache.tomcat.util.codec.bina
 import org.apache.tomcat.util.descriptor.web.LoginConfig;
 import org.apache.tomcat.util.descriptor.web.SecurityCollection;
 import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
-import org.junit.Test;
 
 public class TestJaspicBasicAuthenticator extends TomcatBaseTest {
 
@@ -122,8 +126,8 @@ public class TestJaspicBasicAuthenticato
 String authenticationHeader = authenitcateHeaders.iterator().next();
 assertNotNull(authenticationHeader);
 
-assertThat(authenticationHeader, CoreMatchers.containsString("Basic"));
-assertThat(authenticationHeader, CoreMatchers.containsString(REALM));
+//assertThat(authenticationHeader, 
CoreMatchers.containsString("Basic"));
+//assertThat(authenticationHeader, CoreMatchers.containsString(REALM));
 }
 
 



-
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

2015-10-20 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/473

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1709595
Blamelist: remm

Build succeeded!

Sincerely,
 -The Buildbot




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



svn commit: r1709604 - /tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 14:17:55 2015
New Revision: 1709604

URL: http://svn.apache.org/viewvc?rev=1709604&view=rev
Log:
Remove unnecessary code

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1709604&r1=1709603&r2=1709604&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Tue Oct 20 
14:17:55 2015
@@ -698,7 +698,6 @@ public abstract class AbstractProtocol

svn commit: r1709605 - in /tomcat/trunk/java/org/apache/tomcat/websocket/server: WsFrameServer.java WsHttpUpgradeHandler.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 14:18:13 2015
New Revision: 1709605

URL: http://svn.apache.org/viewvc?rev=1709605&view=rev
Log:
Fix issue in connector refactoring identified by Gump.
Ensure UpgradeProcessors are unmapped from sockets once the connection
is closed.

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFrameServer.java

tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFrameServer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFrameServer.java?rev=1709605&r1=1709604&r2=1709605&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFrameServer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFrameServer.java Tue 
Oct 20 14:18:13 2015
@@ -70,4 +70,11 @@ public class WsFrameServer extends WsFra
 // Overridden to make it visible to other classes in this package
 return super.getTransformation();
 }
+
+
+@Override
+protected boolean isOpen() {
+// Overridden to make it visible to other classes in this package
+return super.isOpen();
+}
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1709605&r1=1709604&r2=1709605&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
Tue Oct 20 14:18:13 2015
@@ -183,7 +183,11 @@ public class WsHttpUpgradeHandler implem
 return SocketState.CLOSED;
 
 }
-return SocketState.UPGRADED;
+if (wsFrame.isOpen()) {
+return SocketState.UPGRADED;
+} else {
+return SocketState.CLOSED;
+}
 }
 
 



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



svn commit: r1709608 - /tomcat/trunk/java/org/apache/coyote/http2/Stream.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 14:28:24 2015
New Revision: 1709608

URL: http://svn.apache.org/viewvc?rev=1709608&view=rev
Log:
Align input buffer size with the initial window size we tell the client to use

Modified:
tomcat/trunk/java/org/apache/coyote/http2/Stream.java

Modified: tomcat/trunk/java/org/apache/coyote/http2/Stream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Stream.java?rev=1709608&r1=1709607&r2=1709608&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Stream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Stream.java Tue Oct 20 14:28:24 
2015
@@ -540,8 +540,8 @@ public class Stream extends AbstractStre
  * same copies as using two buffers and the behaviour would be less
  * clear.
  *
- * The buffers are created lazily because 32K per stream quickly adds
- * up to a lot of memory and most requests do not have bodies.
+ * The buffers are created lazily because they quickly add up to a lot
+ * of memory and most requests do not have bodies.
  */
 // This buffer is used to populate the ByteChunk passed in to the read
 // method
@@ -651,10 +651,11 @@ public class Stream extends AbstractStre
 
 private void ensureBuffersExist() {
 if (inBuffer == null) {
+int size = handler.getRemoteSettings().getInitialWindowSize();
 synchronized (this) {
 if (inBuffer == null) {
-inBuffer = ByteBuffer.allocate(16 * 1024);
-outBuffer = new byte[16 * 1024];
+inBuffer = ByteBuffer.allocate(size);
+outBuffer = new byte[size];
 }
 }
 }



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



Re: Plan for 9.0.0.RC1

2015-10-20 Thread Mark Thomas
On 20/10/2015 14:31, Mark Thomas wrote:
> On 20/10/2015 14:11, Rémy Maucherat wrote:
>> 2015-10-20 14:14 GMT+02:00 Mark Thomas :
>>
 The other thing I want to look at before RC1 is the current
 Gump/BuildBot failures.
>>>
>>> I'm going to start looking at these now. I also won't be surprised if
>>> the refactoring triggers a couple of additional failures. The tc-native
>>> 1.2.0 release is going to take a little while so that should give me the
>>> time to look at the failures before tagging 9.0.0-RC1.
>>>
>>> +1
>>
>> I'm having an issue with the HTTP/2 input design though: when body frames
>> come in, they get read until it overflows the buffer. And it doesn't work
>> in conjunction with non blocking obviously then (tested with the byte
>> counter from the examples).
>>
>> IMO this is rather difficult to do since we cannot stop reading the
>> connection (it would stall all streams) so the body frames have to go
>> somewhere. So the "solution" is to grow the buffer in that case ?
> 
> Essentially, yes. The buffer has to be as least as big as the current
> window size. The default buffer size needs to be increased from 16k to
> 64k to align with the HTTP/2 default initial window size.

I have committed an untested fix for this.

>> Other topic: any ideas on my NIO2/chrome issue ?
> 
> Sorry, not yet. Still looking at a Gump failure that looks to have been
> triggered by an error in my refactoring.

I found the root cause of the Gump failure. It was an error in the
refactoring when I switched WebSocket from Servlet 3.1 non-blockin I/O
to goting directly to Tomcat's I/O layer.

I'll take a look at NIO2/Chrome next.

Mark


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



svn commit: r1709613 - /tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java

2015-10-20 Thread remm
Author: remm
Date: Tue Oct 20 14:33:11 2015
New Revision: 1709613

URL: http://svn.apache.org/viewvc?rev=1709613&view=rev
Log:
Avoid null realm "name". Based on a patch by Fjodor Vershinin.

Modified:

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java?rev=1709613&r1=1709612&r2=1709613&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java
 Tue Oct 20 14:33:11 2015
@@ -19,7 +19,6 @@ package org.apache.catalina.authenticato
 import java.io.IOException;
 import java.security.Principal;
 import java.util.Map;
-import java.util.Optional;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.Callback;
@@ -52,7 +51,7 @@ public abstract class TomcatAuthModule i
  */
 protected static final StringManager sm = 
StringManager.getManager(TomcatAuthModule.class);
 
-protected String realmName;
+protected String realmName = DEFAULT_REALM_NAME;
 
 protected CallbackHandler handler;
 
@@ -77,13 +76,16 @@ public abstract class TomcatAuthModule i
 public final void initialize(MessagePolicy requestPolicy, MessagePolicy 
responsePolicy,
 CallbackHandler handler, Map options) throws AuthException {
 this.handler = handler;
-this.realmName = (String) options.get(REALM_NAME);
+String name = (String) options.get(REALM_NAME);
+if (name != null) {
+this.realmName = name;
+}
 initializeModule(requestPolicy, responsePolicy, handler, options);
 }
 
 
 public String getRealmName() {
-return Optional.ofNullable(realmName).orElse(DEFAULT_REALM_NAME);
+return realmName;
 }
 
 



-
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

2015-10-20 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/475

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1709613
Blamelist: markt,remm

BUILD FAILED: failed compile_1

Sincerely,
 -The Buildbot




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



[Bug 56777] Allow configuration resources to be loaded from places other than straight off the filesystem

2015-10-20 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=56777

Andy Wilkinson  changed:

   What|Removed |Added

 Resolution|FIXED   |---
 Status|RESOLVED|REOPENED

--- Comment #8 from Andy Wilkinson  ---
Reopening for consideration of a backport to 7.0.x

-- 
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



[Bug 56777] Allow configuration resources to be loaded from places other than straight off the filesystem

2015-10-20 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=56777

Andy Wilkinson  changed:

   What|Removed |Added

   Target Milestone||---
Product|Tomcat 8|Tomcat 7
Version|8.0.9   |7.0.64
  Component|Catalina|Catalina

-- 
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



svn commit: r1709663 - in /tomcat/trunk/modules/jdbc-pool/src: main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java

2015-10-20 Thread fschumacher
Author: fschumacher
Date: Tue Oct 20 18:53:49 2015
New Revision: 1709663

URL: http://svn.apache.org/viewvc?rev=1709663&view=rev
Log:
Another followup to r1708687. QueryStats which have never been updated,
should be sorted as newest ones. Thanks for kfujino for pointing it out.

Modified:

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

tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java

Modified: 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java?rev=1709663&r1=1709662&r2=1709663&view=diff
==
--- 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
 Tue Oct 20 18:53:49 2015
@@ -471,12 +471,22 @@ public class SlowQueryReport extends Abs
 }
 }
 
+/** Compare QueryStats by their lastInvocation value. QueryStats that
+ * have never been updated, have a lastInvocation value of {@code 0}
+ * which should be handled as the newest possible invocation.
+ */
 private static class QueryStatsComparator implements 
Comparator {
 
 @Override
 public int compare(QueryStats stats1, QueryStats stats2) {
-return Long.compare(stats1.lastInvocation, stats2.lastInvocation);
+return Long.compare(handleZero(stats1.lastInvocation),
+handleZero(stats2.lastInvocation));
 }
+
+private long handleZero(long value) {
+return value == 0 ? Long.MAX_VALUE : value;
+}
+
 }
 
 }

Modified: 
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java?rev=1709663&r1=1709662&r2=1709663&view=diff
==
--- 
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java
 Tue Oct 20 18:53:49 2015
@@ -90,8 +90,8 @@ public class TestSlowQueryComparator {
 QueryStats q1 = new QueryStats("abc");
 QueryStats q2 = new QueryStats("def");
 q2.add(0, 100);
-Assert.assertEquals(-1, queryStatsComparator.compare(q1, q2));
-Assert.assertEquals(1, queryStatsComparator.compare(q2, q1));
+Assert.assertEquals(1, queryStatsComparator.compare(q1, q2));
+Assert.assertEquals(-1, queryStatsComparator.compare(q2, q1));
 }
 
 @Test



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



Re: svn commit: r1708687 - in /tomcat/trunk/modules/jdbc-pool/src: main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.

2015-10-20 Thread Felix Schumacher

Am 19.10.2015 um 06:26 schrieb Keiichi Fujino:

2015-10-15 5:28 GMT+09:00 :


Author: fschumacher
Date: Wed Oct 14 20:28:55 2015
New Revision: 1708687

URL: http://svn.apache.org/viewvc?rev=1708687&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58489

Comparator should follow the rules. If first object has lastInvocation of
zero,
we should compare it to the second objects lastInvocation and vice versa.
When we do that, we can use Long#compare just as well.

Added:

tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java
Modified:

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

Modified:
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java?rev=1708687&r1=1708686&r2=1708687&view=diff

==
---
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
(original)
+++
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
Wed Oct 14 20:28:55 2015
@@ -475,17 +475,7 @@ public class SlowQueryReport extends Abs

  @Override
  public int compare(QueryStats stats1, QueryStats stats2) {
-if (stats1.lastInvocation == 0) return 1;
-if (stats2.lastInvocation == 0) return -1;
-
-long result = stats1.lastInvocation - stats2.lastInvocation;
-if (result > 0) {
-return 1;
-} else if (result == 0) {
-return 0;
-} else {
-return -1;
-}
+return Long.compare(stats1.lastInvocation,
stats2.lastInvocation);
  }
  }



Hi.

I think this fix does not handle 0 value of lastInvocation correctly.
The older code handles 0 value of lastInvocation as the latest QueryStats.
This new code handles 0 value of lastInvocation as the oldest QueryStats.

I think the fix of this bug is described in comment1.
Or set current time to the lastInvocation in the constructor of QueryStats.

You are right, that 0 is a special value. I have added code to handle it.

Thanks,
 Felix







Added:
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java?rev=1708687&view=auto

==
---
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java
(added)
+++
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java
Wed Oct 14 20:28:55 2015
@@ -0,0 +1,121 @@
+package org.apache.tomcat.jdbc.test;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport.QueryStats;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TestSlowQueryComparator {
+
+@Test
+public void testBug58489() throws ClassNotFoundException,
+InstantiationException, IllegalAccessException,
+InvocationTargetException {
+
+long[] testData = { 0, 0, 0, 1444225382010l, 0, 1444225382011l, 0,
+1444225382012l, 0, 1444225382056l, 0, 1444225382014l, 0,
+1444225382015l, 0, 1444225382016l, 0, 0, 1444225382017l,
0,
+1444225678350l, 0, 1444225680397l, 0, 1444225382018l,
+1444225382019l, 1444225382020l, 0, 1444225382021l, 0,
+1444225382022l, 1444225382023l
+
+};
+
+List stats = new ArrayList<>();
+
+for (int i = 0; i < testData.length; i++) {
+QueryStats qs = new QueryStats(String.valueOf(i));
+qs.add(0, testData[i]);
+stats.add(qs);
+}
+
+try {
+Collections.sort(stats, createComparator());
+} catch (IllegalArgumentException e) {
+Assert.fail(e.getMessage());
+}
+}
+
+@Test
+public void testEqualQueryStatsWithNoLastInvocation()
+throws ClassNotFoundException, InstantiationException,
+IllegalAccessException, IllegalArgumentException,
+InvocationTargetException {
+Comparator queryStatsComparator = createComparator();
+QueryStats q1 = new QueryStats("abc");
+Assert.assertEquals(0, queryStatsComparator.compare(q1, q1));
+}
+
+@Test
+public void testEqualQueryStatsWithLastInvocation()
+

svn commit: r1709670 - in /tomcat/tc8.0.x/trunk: ./ modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/

2015-10-20 Thread fschumacher
Author: fschumacher
Date: Tue Oct 20 19:55:54 2015
New Revision: 1709670

URL: http://svn.apache.org/viewvc?rev=1709670&view=rev
Log:
Another followup to r1708687. QueryStats which have never been updated,
should be sorted as newest ones. Thanks for kfujino for pointing it out.

Merge r1709663 from /tomcat/trunk

Modified:
tomcat/tc8.0.x/trunk/   (props changed)

tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java

tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java

Propchange: tomcat/tc8.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Oct 20 19:55:54 2015
@@ -1 +1 @@
-/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892
 
,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645488,1645626,1645641,1645685,1645743,1645763,1645951-1645953,1645955,1645993,1646098-1646106,1646178,1646220,1646302,1646304,1646420,1646470-1646471,1646476,1646559,1646717-1646723,1646773,1647026,1647042,1647530,1647655,1648304,1648815,1648907,1649973,1650081,1650365,1651116,1651120,1651280,1651470,1652938,1652970,1653041,1653471,1653550,1653574,1653797,1653815-1653816,1653819,1653840,1653857,1653888,1653972,1654013,1654030,1654050,1654123,1654148,1654159,1654513,1654515,1654517,1654522,1654524,1654725,1654735,1654766,1654785,1654851-1654852,1654978,1655122-1655124,1655126-1655127,1655129-1655130,1655132-1655133,1655312,1655351,1655438,1655441,1655454,168,1656087,1656299,1656319,1656331,1656345,1656350,1656590,1656648-1656650,1656657,1657041,1657054,1657374,1657492,1657510,1657565,1657580,1657584,1657586,1657589,1657592,1657607,1657
 
609,1657682,1657907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,1659188-1659189,1659216,1659263,1659293,1659304,1659306-1659307,1659382,1659384,1659428,1659471,1659486,1659505,1659516,1659521,1659524,1659559,1659562,1659803,1659806,1659814,1659833,1659862,1659905,1659919,1659948,1659967,1659983-1659984,1660060,1660074,1660077,1660133,1660168,1660331-1660332,1660353,1660358,1660924,1661386,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,1662736,1662985,1662988-1662989,1663264,1663277,1663298,1663534,1663562,1663676,1663715,1663754,1663768,1663772,1663781,1663893,1663995,1664143,1664163,1664174,1664301,1664317,1664347,1664657,1664659,1664710,1664863-1664864,1664866,1665085,1665292,1665559,1665653,1665661,1665672,1665694,1665697,1665736,1665779,1665976-1665977,1665980-1665981,1665985-1665986,1665989,1665998,1666004,1666008,1666013,1666017,1666024,1666116,1666386-1666387,1666494,1666496,1666552,1666569,1666579,1
 
37,149,1666757,1666966,1666972,1666985,1666995,1666997,1667292,1667402,1667406,1667546,1667615,1667630,1667636,1667688,1667764,1667871,1668026,1668135,1668193,1668593,1668596,1668630,1668639,1668843,1669353,1669370,1669451,1669800,1669838,1669876,1669882,1670394,1670433,1670591,1670598-1670600,1670610,1670631,1670719,1670724,1670726,1670730,1670940,1671112,1672272,1672284,1673754,1674294,1675461,1675486,1675594,1675830,1676231,1676250-1676251,1676364,1676381,1676393,1676479,1676525,1676552,1676615,1676630,1676634,1676721,1676926,1676943,1677140,1677802,1678011,1678162,1678174,1678339,1678426-1678427,1678694,1678701,1679534,1679708,1679710,1679716,1680034,1680246,1681056,1681123,1681138,1681280,1681283,1681286,1681450,1681697,1681701,1681729,1681770,1681779,1681793,1681807,1681837-1681838,1681854,1681862,1681958,1682028,1682033,1682311,1682315,1682317,1682320,1682324,1682330,1682842,1684172,1684366,1684383,1684526-1684527,1684549-1684550,1685556,1685591,1685739,1685744,168577
 
2,1685816,1685826,1685891,1687242,1687261,1687268,1687340,1688563,1688841,1688878,165,1688896,1688901,1689345-1689346,1689357,1689656,1689675-1689677,1689679,1689687,1689825,1689856,1689918,169

svn commit: r1709675 - in /tomcat/tc7.0.x/trunk: ./ modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/

2015-10-20 Thread fschumacher
Author: fschumacher
Date: Tue Oct 20 20:22:39 2015
New Revision: 1709675

URL: http://svn.apache.org/viewvc?rev=1709675&view=rev
Log:
Another followup to r1708687. QueryStats which have never been updated,
should be sorted as newest ones. Thanks for kfujino for pointing it out.

Merge r1709670 from /tomcat/tc8.0.x/trunk (merged r1709663 from /tomcat/trunk)

Modified:
tomcat/tc7.0.x/trunk/   (props changed)

tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java

tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/TestSlowQueryComparator.java

Propchange: tomcat/tc7.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Oct 20 20:22:39 2015
@@ -1,2 +1,2 @@
-/tomcat/tc8.0.x/trunk:1636525,1637336,1637685,1637709,1638726,1640089,1640276,1640349,1640363,1640366,1640642,1640672,1640674,1640689,1640884,1641001,1641065,1641067,1641375,1641638,1641723,1641726,1641729-1641730,1641736,1641988,1642669-1642670,1642698,1642701,1643205,1643215,1643217,1643230,1643232,1643273,1643285,1643329-1643330,1643511,1643513,1643521,1643539,1643571,1643581-1643582,1643635,1643655,1643738,1643964,1644018,1644333,1644954,1644992,1645014,1645360,1645456,1645627,1645642,1645686,1645903-1645904,1645908-1645909,1645913,1645920,1646458,1646460-1646462,1646735,1646738-1646741,1646744,1646746,1646748-1646755,1646757,1646759-1646760,1647043,1648816,1651420-1651422,1651844,1652926,1652939-1652940,1652973,1653798,1653817,1653841,1654042,1654161,1654736,1654767,1654787,1656592,1659907,1662986,1663265,1663278,1663325,1663535,1663567,1663679,1663997,1664175,1664321,1664872,1665061,1665086,1666027,1666395,1666503,1666506,1666560,1666570,1666581,1666759,1666967,1666988,1667553
 
-1667555,1667558,1667617,1667633,1667637,1667747,1667767,1667873,1668028,1668137,1668634,1669432,1669801,1669840,1669895-1669896,1670398,1670435,1670592,1670605-1670607,1670609,1670632,1670720,1670725,1670727,1670731,1671114,1672273,1672285,1673759,1674220,1674295,1675469,1675488,1675595,1675831,1676232,1676367-1676369,1676382,1676394,1676483,1676556,1676635,1678178,1679536,1679988,1680256,1681124,1681182,1681730,1681840,1681864,1681869,1682010,1682034,1682047,1682052-1682053,1682062,1682064,1682070,1682312,1682325,1682331,1682386,1684367,1684385,1685759,1685774,1685827,1685892,1687341,1688904,1689358,1689657,1692850,1693093,1693108,1693324,1694060,1694115,1694291,1694427,1694431,1694503,1694549,1694789,1694873,1694881,1695356,1695372,1695823-1695825,1696200,1696281,1696379,1696468,1700608,1700871,1700897,1700978,1701094,1701124,1701608,1701668,1701676,1701766,1701944,1702248,1702252,1702314,1702390,1702723,1702725,1702728,1702730,1702733,1702735,1702737,1702739,1702742,1702744,1702
 
748,1702751,1702754,1702758,1702760,1702763,1702766,1708779,1708782,1708806,1709314
-/tomcat/trunk:1156115-1157160,1157162-1157859,1157862-1157942,1157945-1160347,1160349-1163716,1163718-1166689,1166691-1174340,1174342-1175596,1175598-1175611,1175613-1175932,1175934-1177783,1177785-1177980,1178006-1180720,1180722-1183094,1183096-1187753,1187755,1187775,1187801,1187806,1187809,1187826-1188312,1188314-1188401,1188646-1188840,1188842-1190176,1190178-1195223,1195225-1195953,1195955,1195957-1201238,1201240-1203345,1203347-1206623,1206625-1208046,1208073,1208096,1208114,1208145,1208772,1209194-1212125,1212127-1220291,1220293,1220295-1221321,1221323-1222329,1222332-1222401,1222405-1222795,1222850-1222950,1222969-1225326,1225328-1225463,1225465,1225627,1225629-1226534,1226536-1228908,1228911-1228923,1228927-1229532,1229534-1230766,1230768-1231625,1231627-1233414,1233419-1235207,1235209-1237425,1237427,1237429-1237977,1237981,1237985,1237995,1238070,1238073,1239024-1239048,1239050-1239062,1239135,1239256,1239258-1239485,1239785-1240046,1240101,1240106,1240109,1240112,1240114
 
,1240116,1240118,1240121,1240329,1240474-1240850,1240857,1241087,1241160,1241408-1241822,1241908-1241909,1241912-1242110,1242371-1292130,1292134-1292458,1292464-1292670,1292672-1292776,1292780-1293392,1293397-1297017,1297019-1297963,1297965-1299820,1300108,1300111-1300460,1300520-1300948,1300997,1301006,1301280,1302332,1302348,1302608-1302610,1302649,1302837,1303138,1303163,1303338,1303521,1303587,1303698,1303803,1303852,1304011,1304035,1304037,1304135,1304249,1304253,1304260,1304271,1304275,1304468,1304895,1304930-1304932,1305194,1305943,1305965,1306556,1306579-1306580,1307084,1307310,1307511-1307512,1307579,1307591,1307597,1310636,1310639-1310640,1310642,1310701,1311212,1311995,1327617,1327670,1331766,1333161,1333173,1333827,1334787,1335026,1335257,1335547,1335692,1335711,1335731,1336515,1336813,1336864,1336868,1336884,1337419,1337426,1337546,1337572,1337591-1337595,1337643,1337707,1337719,1337734,1337741,1337745,1338151-1338154,1338178,1342027,1342029,1342315,1342320,1342476,1342
 
498,1342503,1342717,1342795,1342805,1343044-1343046,1343335,134

svn commit: r1709689 - in /tomcat/trunk/java/org/apache/coyote: UpgradeProtocol.java http11/Http11Processor.java http2/Http2Protocol.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 22:01:53 2015
New Revision: 1709689

URL: http://svn.apache.org/viewvc?rev=1709689&view=rev
Log:
Fix method name typo

Modified:
tomcat/trunk/java/org/apache/coyote/UpgradeProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
tomcat/trunk/java/org/apache/coyote/http2/Http2Protocol.java

Modified: tomcat/trunk/java/org/apache/coyote/UpgradeProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/UpgradeProtocol.java?rev=1709689&r1=1709688&r2=1709689&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/UpgradeProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/UpgradeProtocol.java Tue Oct 20 
22:01:53 2015
@@ -76,7 +76,7 @@ public interface UpgradeProtocol {
  *
  * @return An instance of the HTTP upgrade handler for this protocol
  */
-public InternalHttpUpgradeHandler getInteralUpgradeHandler(Adapter 
adapter, Request request);
+public InternalHttpUpgradeHandler getInternalUpgradeHandler(Adapter 
adapter, Request request);
 
 
 /**

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1709689&r1=1709688&r2=1709689&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Tue Oct 20 
22:01:53 2015
@@ -1018,7 +1018,7 @@ public class Http11Processor extends Abs
 // point.
 
 InternalHttpUpgradeHandler upgradeHandler =
-upgradeProtocol.getInteralUpgradeHandler(
+upgradeProtocol.getInternalUpgradeHandler(
 getAdapter(), cloneRequest(request));
 action(ActionCode.UPGRADE, upgradeHandler);
 return SocketState.UPGRADING;

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2Protocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2Protocol.java?rev=1709689&r1=1709688&r2=1709689&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Http2Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2Protocol.java Tue Oct 20 
22:01:53 2015
@@ -72,13 +72,13 @@ public class Http2Protocol implements Up
 @Override
 public Processor getProcessor(SocketWrapperBase socketWrapper, Adapter 
adapter) {
 UpgradeProcessorInternal processor = new 
UpgradeProcessorInternal(socketWrapper, null,
-getInteralUpgradeHandler(adapter, null));
+getInternalUpgradeHandler(adapter, null));
 return processor;
 }
 
 
 @Override
-public InternalHttpUpgradeHandler getInteralUpgradeHandler(Adapter adapter,
+public InternalHttpUpgradeHandler getInternalUpgradeHandler(Adapter 
adapter,
 Request coyoteRequest) {
 Http2UpgradeHandler result = new Http2UpgradeHandler(adapter, 
coyoteRequest);
 



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



svn commit: r1709690 - in /tomcat/trunk/java/org/apache/coyote/http2: Http2UpgradeHandler.java Stream.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 22:03:23 2015
New Revision: 1709690

URL: http://svn.apache.org/viewvc?rev=1709690&view=rev
Log:
Need local settings for the window size the client is expected to use to 
communicate with Tomcat, not the remote settings.
Add some comments to (hopefully) reduce future errors of this nature.
This fixes a CI failure.

Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
tomcat/trunk/java/org/apache/coyote/http2/Stream.java

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java?rev=1709690&r1=1709689&r2=1709690&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Tue Oct 
20 22:03:23 2015
@@ -112,7 +112,15 @@ public class Http2UpgradeHandler extends
 new AtomicReference<>(ConnectionState.NEW);
 private volatile long pausedNanoTime = Long.MAX_VALUE;
 
+/**
+ * Remote settings are settings defined by the client and sent to Tomcat
+ * that Tomcat must use when communicating with the client.
+ */
 private final ConnectionSettingsRemote remoteSettings = new 
ConnectionSettingsRemote();
+/**
+ * Local settings are settings defined by Tomcat and sent to the client 
that
+ * the client must use when communicating with Tomcat.
+ */
 private final ConnectionSettingsLocal localSettings = new 
ConnectionSettingsLocal();
 
 private HpackDecoder hpackDecoder;
@@ -341,6 +349,11 @@ public class Http2UpgradeHandler extends
 }
 
 
+ConnectionSettingsLocal getLocalSettings() {
+return localSettings;
+}
+
+
 @Override
 public void pause() {
 if (log.isDebugEnabled()) {

Modified: tomcat/trunk/java/org/apache/coyote/http2/Stream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Stream.java?rev=1709690&r1=1709689&r2=1709690&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Stream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Stream.java Tue Oct 20 22:03:23 
2015
@@ -651,7 +651,10 @@ public class Stream extends AbstractStre
 
 private void ensureBuffersExist() {
 if (inBuffer == null) {
-int size = handler.getRemoteSettings().getInitialWindowSize();
+// The client must obey Tomcat's window size when sending so
+// this is the initial window size set by Tomcat that the 
client
+// uses (i.e. the local setting is required here).
+int size = handler.getLocalSettings().getInitialWindowSize();
 synchronized (this) {
 if (inBuffer == null) {
 inBuffer = ByteBuffer.allocate(size);



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



svn commit: r1709692 - in /tomcat/trunk/java/org/apache/coyote: AbstractProcessorLight.java Processor.java http11/upgrade/UpgradeProcessorBase.java http11/upgrade/UpgradeProcessorInternal.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 22:14:27 2015
New Revision: 1709692

URL: http://svn.apache.org/viewvc?rev=1709692&view=rev
Log:
Checkstyle

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
tomcat/trunk/java/org/apache/coyote/Processor.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java?rev=1709692&r1=1709691&r2=1709692&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java Tue Oct 20 
22:14:27 2015
@@ -21,8 +21,8 @@ import java.util.Iterator;
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArraySet;
 
-import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.juli.logging.Log;
+import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.DispatchType;
 import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;

Modified: tomcat/trunk/java/org/apache/coyote/Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Processor.java?rev=1709692&r1=1709691&r2=1709692&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Tue Oct 20 22:14:27 2015
@@ -18,6 +18,7 @@ package org.apache.coyote;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
+
 import javax.servlet.http.HttpUpgradeHandler;
 
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java?rev=1709692&r1=1709691&r2=1709692&view=diff
==
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java 
(original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java 
Tue Oct 20 22:14:27 2015
@@ -18,6 +18,7 @@ package org.apache.coyote.http11.upgrade
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
+
 import javax.servlet.http.HttpUpgradeHandler;
 import javax.servlet.http.WebConnection;
 

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java?rev=1709692&r1=1709691&r2=1709692&view=diff
==
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
 (original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
 Tue Oct 20 22:14:27 2015
@@ -22,9 +22,9 @@ import java.nio.ByteBuffer;
 import javax.servlet.ServletInputStream;
 import javax.servlet.ServletOutputStream;
 
-import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
 import org.apache.tomcat.util.net.SocketWrapperBase;



-
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

2015-10-20 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/477

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1709690
Blamelist: markt

Build succeeded!

Sincerely,
 -The Buildbot




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



svn commit: r1709694 - /tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java

2015-10-20 Thread markt
Author: markt
Date: Tue Oct 20 22:26:17 2015
New Revision: 1709694

URL: http://svn.apache.org/viewvc?rev=1709694&view=rev
Log:
Fix PushBuilder bugs

Modified:
tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java?rev=1709694&r1=1709693&r2=1709694&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java Tue 
Oct 20 22:26:17 2015
@@ -34,6 +34,7 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.PushBuilder;
 
+import org.apache.catalina.Context;
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.util.SessionConfig;
 import org.apache.coyote.ActionCode;
@@ -120,9 +121,9 @@ public class ApplicationPushBuilder impl
 addHeader("referer", referer.toString());
 
 // Session
-ApplicationContext appContext = (ApplicationContext) 
request.getServletContext();
-sessionCookieName = 
SessionConfig.getSessionCookieName(appContext.getContext());
-sessionPathParameterName = 
SessionConfig.getSessionUriParamName(appContext.getContext());
+Context context = catalinaRequest.getContext();
+sessionCookieName = SessionConfig.getSessionCookieName(context);
+sessionPathParameterName = 
SessionConfig.getSessionUriParamName(context);
 
 HttpSession session = request.getSession(false);
 if (session != null) {
@@ -143,8 +144,10 @@ public class ApplicationPushBuilder impl
 }
 
 // Cookies
-for (Cookie requestCookie : request.getCookies()) {
-cookies.add(requestCookie);
+if (request.getCookies() != null) {
+for (Cookie requestCookie : request.getCookies()) {
+cookies.add(requestCookie);
+}
 }
 for (Cookie responseCookie : 
catalinaRequest.getResponse().getCookies()) {
 if (responseCookie.getMaxAge() < 0) {



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



svn commit: r1709717 - /tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java

2015-10-20 Thread kfujino
Author: kfujino
Date: Wed Oct 21 05:32:24 2015
New Revision: 1709717

URL: http://svn.apache.org/viewvc?rev=1709717&view=rev
Log:
When handling shutdown payload, verification completion message is not required.

Modified:

tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java?rev=1709717&r1=1709716&r2=1709717&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
 Wed Oct 21 05:32:24 2015
@@ -150,7 +150,7 @@ public class TcpFailureDetector extends
 
log.info(sm.getString("tcpFailureDetector.memberDisappeared.verify", member));
 synchronized (membership) {
 if (!membership.contains(member)) {
-if(log.isInfoEnabled())
+if(!shutdown && log.isInfoEnabled())
 
log.info(sm.getString("tcpFailureDetector.already.disappeared", member));
 return;
 }
@@ -170,11 +170,11 @@ public class TcpFailureDetector extends
 }
 }
 if ( notify ) {
-if(log.isInfoEnabled())
+if(!shutdown && log.isInfoEnabled())
 log.info(sm.getString("tcpFailureDetector.member.disappeared", 
member));
 super.memberDisappeared(member);
 } else {
-if(log.isInfoEnabled())
+if(!shutdown && log.isInfoEnabled())
 log.info(sm.getString("tcpFailureDetector.still.alive", 
member));
 
 }



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



svn commit: r1709719 - /tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java

2015-10-20 Thread kfujino
Author: kfujino
Date: Wed Oct 21 05:44:49 2015
New Revision: 1709719

URL: http://svn.apache.org/viewvc?rev=1709719&view=rev
Log:
Code simplify.
Separates handling of shutdown payload from member verification.

Modified:

tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java?rev=1709719&r1=1709718&r2=1709719&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
 Wed Oct 21 05:44:49 2015
@@ -143,40 +143,49 @@ public class TcpFailureDetector extends
 @Override
 public void memberDisappeared(Member member) {
 if ( membership == null ) setupMembership();
-boolean notify = false;
 boolean shutdown = 
Arrays.equals(member.getCommand(),Member.SHUTDOWN_PAYLOAD);
-if ( !shutdown )
-if(log.isInfoEnabled())
-
log.info(sm.getString("tcpFailureDetector.memberDisappeared.verify", member));
-synchronized (membership) {
-if (!membership.contains(member)) {
-if(!shutdown && log.isInfoEnabled())
-
log.info(sm.getString("tcpFailureDetector.already.disappeared", member));
-return;
-}
-//check to see if the member really is gone
-//if the payload is not a shutdown message
-if (shutdown || !memberAlive(member)) {
-//not correct, we need to maintain the map
+if (shutdown) {
+synchronized (membership) {
+if (!membership.contains(member)) return;
 membership.removeMember(member);
 removeSuspects.remove(member);
 if (member instanceof StaticMember) {
 addSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
 }
-notify = true;
-} else {
-//add the member as suspect
-removeSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
 }
-}
-if ( notify ) {
-if(!shutdown && log.isInfoEnabled())
-log.info(sm.getString("tcpFailureDetector.member.disappeared", 
member));
 super.memberDisappeared(member);
 } else {
-if(!shutdown && log.isInfoEnabled())
-log.info(sm.getString("tcpFailureDetector.still.alive", 
member));
-
+boolean notify = false;
+if(log.isInfoEnabled())
+
log.info(sm.getString("tcpFailureDetector.memberDisappeared.verify", member));
+synchronized (membership) {
+if (!membership.contains(member)) {
+if(!shutdown && log.isInfoEnabled())
+
log.info(sm.getString("tcpFailureDetector.already.disappeared", member));
+return;
+}
+//check to see if the member really is gone
+if (!memberAlive(member)) {
+//not correct, we need to maintain the map
+membership.removeMember(member);
+removeSuspects.remove(member);
+if (member instanceof StaticMember) {
+addSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
+}
+notify = true;
+} else {
+//add the member as suspect
+removeSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
+}
+}
+if ( notify ) {
+if(!shutdown && log.isInfoEnabled())
+
log.info(sm.getString("tcpFailureDetector.member.disappeared", member));
+super.memberDisappeared(member);
+} else {
+if(!shutdown && log.isInfoEnabled())
+log.info(sm.getString("tcpFailureDetector.still.alive", 
member));
+}
 }
 }
 



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



svn commit: r1709721 - in /tomcat/tc8.0.x/trunk: java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java webapps/docs/changelog.xml

2015-10-20 Thread kfujino
Author: kfujino
Date: Wed Oct 21 05:51:46 2015
New Revision: 1709721

URL: http://svn.apache.org/viewvc?rev=1709721&view=rev
Log:
Distinguish the handling of the shutdown payload and member verification 
clearly.
When handling shutdown payload, verification completion message is not required.

Modified:

tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java?rev=1709721&r1=1709720&r2=1709721&view=diff
==
--- 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
 (original)
+++ 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
 Wed Oct 21 05:51:46 2015
@@ -144,40 +144,49 @@ public class TcpFailureDetector extends
 @Override
 public void memberDisappeared(Member member) {
 if ( membership == null ) setupMembership();
-boolean notify = false;
 boolean shutdown = 
Arrays.equals(member.getCommand(),Member.SHUTDOWN_PAYLOAD);
-if ( !shutdown )
-if(log.isInfoEnabled())
-
log.info(sm.getString("tcpFailureDetector.memberDisappeared.verify", member));
-synchronized (membership) {
-if (!membership.contains(member)) {
-if(log.isInfoEnabled())
-
log.info(sm.getString("tcpFailureDetector.already.disappeared", member));
-return;
-}
-//check to see if the member really is gone
-//if the payload is not a shutdown message
-if (shutdown || !memberAlive(member)) {
-//not correct, we need to maintain the map
+if (shutdown) {
+synchronized (membership) {
+if (!membership.contains(member)) return;
 membership.removeMember(member);
 removeSuspects.remove(member);
 if (member instanceof StaticMember) {
 addSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
 }
-notify = true;
-} else {
-//add the member as suspect
-removeSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
 }
-}
-if ( notify ) {
-if(log.isInfoEnabled())
-log.info(sm.getString("tcpFailureDetector.member.disappeared", 
member));
 super.memberDisappeared(member);
 } else {
+boolean notify = false;
 if(log.isInfoEnabled())
-log.info(sm.getString("tcpFailureDetector.still.alive", 
member));
-
+
log.info(sm.getString("tcpFailureDetector.memberDisappeared.verify", member));
+synchronized (membership) {
+if (!membership.contains(member)) {
+if(log.isInfoEnabled())
+
log.info(sm.getString("tcpFailureDetector.already.disappeared", member));
+return;
+}
+//check to see if the member really is gone
+if (!memberAlive(member)) {
+//not correct, we need to maintain the map
+membership.removeMember(member);
+removeSuspects.remove(member);
+if (member instanceof StaticMember) {
+addSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
+}
+notify = true;
+} else {
+//add the member as suspect
+removeSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
+}
+}
+if ( notify ) {
+if(log.isInfoEnabled())
+
log.info(sm.getString("tcpFailureDetector.member.disappeared", member));
+super.memberDisappeared(member);
+} else {
+if(log.isInfoEnabled())
+log.info(sm.getString("tcpFailureDetector.still.alive", 
member));
+}
 }
 }
 

Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1709721&r1=1709720&r2=1709721&view=diff
==
--- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Wed Oct 21 05:51:46 2015
@@ -53,6 +53,15 @@
   
 
   
+  
+
+  
+Distinguish the handling of the shutdown payload and member 
verifi

svn commit: r1709722 - in /tomcat/tc7.0.x/trunk: java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java webapps/docs/changelog.xml

2015-10-20 Thread kfujino
Author: kfujino
Date: Wed Oct 21 05:53:02 2015
New Revision: 1709722

URL: http://svn.apache.org/viewvc?rev=1709722&view=rev
Log:
Distinguish the handling of the shutdown payload and member verification 
clearly.
When handling shutdown payload, verification completion message is not required.

Modified:

tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java?rev=1709722&r1=1709721&r2=1709722&view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
 Wed Oct 21 05:53:02 2015
@@ -146,38 +146,47 @@ public class TcpFailureDetector extends
 if ( membership == null ) setupMembership();
 boolean notify = false;
 boolean shutdown = 
Arrays.equals(member.getCommand(),Member.SHUTDOWN_PAYLOAD);
-if ( !shutdown )
-if(log.isInfoEnabled())
-log.info("Received memberDisappeared["+member+"] message. Will 
verify.");
-synchronized (membership) {
-if (!membership.contains(member)) {
-if(log.isInfoEnabled())
-log.info("Verification complete. Member already 
disappeared["+member+"]");
-return;
-}
-//check to see if the member really is gone
-//if the payload is not a shutdown message
-if (shutdown || !memberAlive(member)) {
-//not correct, we need to maintain the map
+if (shutdown) {
+synchronized (membership) {
+if (!membership.contains(member)) return;
 membership.removeMember( (MemberImpl) member);
 removeSuspects.remove(member);
 if (member instanceof StaticMember) {
 addSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
 }
-notify = true;
-} else {
-//add the member as suspect
-removeSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
 }
-}
-if ( notify ) {
-if(log.isInfoEnabled())
-log.info("Verification complete. Member 
disappeared["+member+"]");
 super.memberDisappeared(member);
 } else {
 if(log.isInfoEnabled())
-log.info("Verification complete. Member still 
alive["+member+"]");
-
+log.info("Received memberDisappeared["+member+"] message. Will 
verify.");
+synchronized (membership) {
+if (!membership.contains(member)) {
+if(log.isInfoEnabled())
+log.info("Verification complete. Member already 
disappeared["+member+"]");
+return;
+}
+//check to see if the member really is gone
+if (!memberAlive(member)) {
+//not correct, we need to maintain the map
+membership.removeMember( (MemberImpl) member);
+removeSuspects.remove(member);
+if (member instanceof StaticMember) {
+addSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
+}
+notify = true;
+} else {
+//add the member as suspect
+removeSuspects.put(member, 
Long.valueOf(System.currentTimeMillis()));
+}
+}
+if ( notify ) {
+if(log.isInfoEnabled())
+log.info("Verification complete. Member 
disappeared["+member+"]");
+super.memberDisappeared(member);
+} else {
+if(log.isInfoEnabled()) 
+log.info("Verification complete. Member still 
alive["+member+"]");
+}
 }
 }
 

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=1709722&r1=1709721&r2=1709722&view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Oct 21 05:53:02 2015
@@ -66,6 +66,15 @@
   
 
   
+  
+
+  
+Distinguish the handling of the shutdown payload and member 
verification
+clearly. When handling shutdown payload, verification completion 
message
+  

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

2015-10-20 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-test-nio2 has an issue affecting its community integration.
This issue affects 1 projects,
 and has been outstanding for 3 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-test-nio2 :  Tomcat 9.x, a web server implementing the Java 
Servlet 4.0,
...


Full details are available at:

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

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on commons-daemon exists, no need to add for property 
commons-daemon.native.src.tgz.
 -DEBUG- Dependency on commons-daemon exists, no need to add for property 
tomcat-native.tar.gz.
 -INFO- Failed with reason build failed
 -INFO- Project Reports in: 
/srv/gump/public/workspace/tomcat-trunk/output/logs-NIO2
 -INFO- Project Reports in: 
/srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO2/logs
 -WARNING- No directory 
[/srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO2/logs]



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio2/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio2.html
Work Name: build_tomcat-trunk_tomcat-trunk-test-nio2 (Type: Build)
Work ended in a state of : Failed
Elapsed: 41 mins 3 secs
Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true 
-Dbuild.sysclasspath=only org.apache.tools.ant.Main 
-Dgump.merge=/srv/gump/public/gump/work/merge.xml 
-Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar 
-Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.3-SNAPSHOT.jar
 -Dtest.reports=output/logs-NIO2 
-Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20151021-native-src.tar.gz
 -Dexamples.sources.skip=true 
-Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.5-201506032000/ecj-4.5.jar 
-Dtest.relaxTiming=true 
-Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20151021.jar
 
-Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20151021-native-src.tar.gz
 -Dtest.temp=output/test-tmp-NIO2 -Dtest.accesslog=true 
-Dexecute.test.nio=false -Dtest.openssl.path=/srv/gump/public/workspace/openssl
 -master/dest-20151021/bin/openssl -Dexecute.test.apr=false 
-Dtest.excludePerformance=true -Dexecute.test.nio2=true 
-Deasymock.jar=/srv/gump/public/workspace/easymock/core/target/easymock-3.5-SNAPSHOT.jar
 -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar 
-Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test 
[Working Directory: /srv/gump/public/workspace/tomcat-trunk]
CLASSPATH: 
/usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/output/testclasses:/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-junit4.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/tomcat-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servlet-api.ja
 
r:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jaspic-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tom