Re: Context switch integration
On 22/01/2014 22:03, Rémy Maucherat wrote: > 2014/1/22 Mark Thomas >> I'll see what folks think of the patch so far and maybe explore the >> entry/exit option as well. >> > The first patch however looks more complicated than the "dumb" way IMO. The variation of the code that needs to be run (return value / no return value, different checked exceptions) adds most of the complication. I think I'll try, as you put it, a dumb version of the same patch and see what it looks like. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Context switch integration
On 23/01/2014 09:00, Mark Thomas wrote: > On 22/01/2014 22:03, Rémy Maucherat wrote: >> 2014/1/22 Mark Thomas > >>> I'll see what folks think of the patch so far and maybe explore the >>> entry/exit option as well. >>> >> The first patch however looks more complicated than the "dumb" way IMO. > > The variation of the code that needs to be run (return value / no return > value, different checked exceptions) adds most of the complication. > > I think I'll try, as you put it, a dumb version of the same patch and > see what it looks like. http://people.apache.org/~markt/dev/2014-01-23-tccl-tc8-v2.patch It was easier to write, removes more code and the result is easier to read. Unless there are objections I plan to commit this along with some additional work to migrate other code that is currently doing this itself. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560645 - /tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
Author: markt Date: Thu Jan 23 11:42:10 2014 New Revision: 1560645 URL: http://svn.apache.org/r1560645 Log: Remove unused code Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=1560645&r1=1560644&r2=1560645&view=diff == --- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Thu Jan 23 11:42:10 2014 @@ -646,10 +646,7 @@ public class DeltaManager extends Cluste */ protected void deserializeSessions(byte[] data) throws ClassNotFoundException,IOException { -// Initialize our internal data structures -//sessions.clear(); //should not do this // Open an input stream to the specified pathname, if any -ClassLoader originalLoader = Thread.currentThread().getContextClassLoader(); ObjectInputStream ois = null; // Load the previously unloaded active sessions try { @@ -702,11 +699,7 @@ public class DeltaManager extends Cluste // ignored } ois = null; -if (originalLoader != null) { -Thread.currentThread().setContextClassLoader(originalLoader); -} } - } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560646 - /tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
Author: markt Date: Thu Jan 23 11:46:30 2014 New Revision: 1560646 URL: http://svn.apache.org/r1560646 Log: Use try with resoucres Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=1560646&r1=1560645&r2=1560646&view=diff == --- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Thu Jan 23 11:46:30 2014 @@ -647,10 +647,8 @@ public class DeltaManager extends Cluste protected void deserializeSessions(byte[] data) throws ClassNotFoundException,IOException { // Open an input stream to the specified pathname, if any -ObjectInputStream ois = null; // Load the previously unloaded active sessions -try { -ois = getReplicationStream(data); +try (ObjectInputStream ois = getReplicationStream(data)) { Integer count = (Integer) ois.readObject(); int n = count.intValue(); for (int i = 0; i < n; i++) { @@ -691,14 +689,6 @@ public class DeltaManager extends Cluste } catch (IOException e) { log.error(sm.getString("deltaManager.loading.ioe", e), e); throw e; -} finally { -// Close the input stream -try { -if (ois != null) ois.close(); -} catch (IOException f) { -// ignored -} -ois = null; } } @@ -714,12 +704,8 @@ public class DeltaManager extends Cluste protected byte[] serializeSessions(Session[] currentSessions) throws IOException { // Open an output stream to the specified pathname, if any -ByteArrayOutputStream fos = null; -ObjectOutputStream oos = null; - -try { -fos = new ByteArrayOutputStream(); -oos = new ObjectOutputStream(new BufferedOutputStream(fos)); +ByteArrayOutputStream fos = new ByteArrayOutputStream(); +try (ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(fos))) { oos.writeObject(Integer.valueOf(currentSessions.length)); for(int i=0 ; i < currentSessions.length;i++) { ((DeltaSession)currentSessions[i]).writeObjectData(oos); @@ -729,16 +715,8 @@ public class DeltaManager extends Cluste } catch (IOException e) { log.error(sm.getString("deltaManager.unloading.ioe", e), e); throw e; -} finally { -if (oos != null) { -try { -oos.close(); -} catch (IOException f) { -// Ignore -} -oos = null; -} } + // send object data as byte[] return fos.toByteArray(); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560651 - /tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java
Author: markt Date: Thu Jan 23 12:13:48 2014 New Revision: 1560651 URL: http://svn.apache.org/r1560651 Log: Clean-up - Container will always be a Context - only need one call to Thread.currentThread().getContextClassLoader() - Fix logic hole if loader.getClassLoader() returns null - Formatting to make code easier to read Modified: tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java Modified: tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java?rev=1560651&r1=1560650&r2=1560651&view=diff == --- tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java Thu Jan 23 12:13:48 2014 @@ -14,14 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.catalina.ha.session; import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.regex.Pattern; -import org.apache.catalina.Container; import org.apache.catalina.Context; import org.apache.catalina.Loader; import org.apache.catalina.ha.CatalinaCluster; @@ -34,9 +32,7 @@ import org.apache.catalina.tribes.io.Rep * @author Filip Hanik * @version $Id$ */ - -public abstract class ClusterManagerBase extends ManagerBase -implements ClusterManager { +public abstract class ClusterManagerBase extends ManagerBase implements ClusterManager { /** * A reference to the cluster @@ -127,18 +123,20 @@ public abstract class ClusterManagerBase return sessionAttributePattern.matcher(name).matches(); } -public static ClassLoader[] getClassLoaders(Container container) { -Loader loader = null; +public static ClassLoader[] getClassLoaders(Context context) { +ClassLoader tccl = Thread.currentThread().getContextClassLoader(); +Loader loader = context.getLoader(); ClassLoader classLoader = null; -if (container instanceof Context) { -loader = ((Context) container).getLoader(); +if (loader != null) { +classLoader = loader.getClassLoader(); +} +if (classLoader == null) { +classLoader = tccl; } -if (loader != null) classLoader = loader.getClassLoader(); -else classLoader = Thread.currentThread().getContextClassLoader(); -if ( classLoader == Thread.currentThread().getContextClassLoader() ) { +if (classLoader == tccl) { return new ClassLoader[] {classLoader}; } else { -return new ClassLoader[] {classLoader,Thread.currentThread().getContextClassLoader()}; +return new ClassLoader[] {classLoader, tccl}; } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560652 - /tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java
Author: markt Date: Thu Jan 23 12:14:24 2014 New Revision: 1560652 URL: http://svn.apache.org/r1560652 Log: Code clean-up - BackupManager is an instance of ClusterManagerBase - StandardManager is an instance of ManagerBase Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java?rev=1560652&r1=1560651&r2=1560652&view=diff == --- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java Thu Jan 23 12:14:24 2014 @@ -14,7 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.catalina.ha.session; import java.io.Externalizable; @@ -41,7 +40,6 @@ import org.apache.catalina.ha.ClusterMes import org.apache.catalina.ha.ClusterSession; import org.apache.catalina.realm.GenericPrincipal; import org.apache.catalina.session.ManagerBase; -import org.apache.catalina.session.StandardManager; import org.apache.catalina.session.StandardSession; import org.apache.catalina.tribes.io.ReplicationStream; import org.apache.catalina.tribes.tipis.ReplicatedMapEntry; @@ -147,15 +145,12 @@ public class DeltaSession extends Standa } public ClassLoader[] getClassLoaders() { -if ( manager instanceof BackupManager ) return ((BackupManager)manager).getClassLoaders(); -else if ( manager instanceof ClusterManagerBase ) return ((ClusterManagerBase)manager).getClassLoaders(); -else if ( manager instanceof StandardManager ) { -StandardManager sm = (StandardManager)manager; -return ClusterManagerBase.getClassLoaders(sm.getContext()); -} else if ( manager instanceof ManagerBase ) { +if (manager instanceof ClusterManagerBase) { +return ((ClusterManagerBase)manager).getClassLoaders(); +} else if (manager instanceof ManagerBase) { ManagerBase mb = (ManagerBase)manager; return ClusterManagerBase.getClassLoaders(mb.getContext()); -}//end if +} return null; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560653 - in /tomcat/trunk: java/org/apache/catalina/Context.java java/org/apache/catalina/core/StandardContext.java java/org/apache/catalina/startup/FailedContext.java test/org/apache/ca
Author: markt Date: Thu Jan 23 12:15:19 2014 New Revision: 1560653 URL: http://svn.apache.org/r1560653 Log: Add bind()/unbind() to Context Modified: tomcat/trunk/java/org/apache/catalina/Context.java tomcat/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java tomcat/trunk/test/org/apache/catalina/core/TesterContext.java Modified: tomcat/trunk/java/org/apache/catalina/Context.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Context.java?rev=1560653&r1=1560652&r2=1560653&view=diff == --- tomcat/trunk/java/org/apache/catalina/Context.java (original) +++ tomcat/trunk/java/org/apache/catalina/Context.java Thu Jan 23 12:15:19 2014 @@ -1594,4 +1594,43 @@ public interface Context extends Contain * method names. */ public Map findPreDestroyMethods(); + +/** + * Change the current thread context class loader to the web application + * class loader. If no web application class loader is defined, or if the + * current thread is already using the web application class loader then no + * change will be made. If the class loader is changed and a + * {@link ThreadBindingListener} is configured then + * {@link ThreadBindingListener#bind()} will be called after the change has + * been made. + * + * @param usePrivilegedAction + * Should a {@link java.security.PrivilegedAction} be used when + * obtaining the current thread context class loader and setting + * the new one? + * @param originalClassLoader + * The current class loader if known to save this method having to + * look it up + * + * @return If the class loader has been changed by the method it will return + * the thread context class loader in use when the method was + * called. If no change was made then this method returns null. + */ +public ClassLoader bind(boolean usePrivilegedAction, ClassLoader originalClassLoader); + +/** + * Restore the current thread context class loader to the original class + * loader in used before {@link #bind(boolean, ClassLoader)} was called. If + * no original class loader is passed to this method then no change will be + * made. If the class loader is changed and a {@link ThreadBindingListener} + * is configured then {@link ThreadBindingListener#unbind()} will be called + * before the change is made. + * + * @param usePrivilegedAction + * Should a {@link java.security.PrivilegedAction} be used when + * setting the current thread context class loader? + * @param originalClassLoader + * The class loader to restore as the thread context class loader + */ +public void unbind(boolean usePrivilegedAction, ClassLoader originalClassLoader); } Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1560653&r1=1560652&r2=1560653&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Thu Jan 23 12:15:19 2014 @@ -23,6 +23,8 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -5707,16 +5709,7 @@ public class StandardContext extends Con */ protected ClassLoader bindThread() { -ClassLoader oldContextClassLoader = -Thread.currentThread().getContextClassLoader(); - -if (getLoader() != null && getLoader().getClassLoader() != null) { -Thread.currentThread().setContextClassLoader -(getLoader().getClassLoader()); -} -if (getThreadBindingListener() != null) { -getThreadBindingListener().bind(); -} +ClassLoader oldContextClassLoader = bind(false, null); if (isUseNaming()) { try { @@ -5740,10 +5733,102 @@ public class StandardContext extends Con ContextBindings.unbindThread(this, this); } -if (getThreadBindingListener() != null) { -getThreadBindingListener().unbind(); +unbind(false, oldContextClassLoader); +} + + +@Override +public ClassLoader bind(boolean usePrivilegedAction, ClassLoader originalClassLoader) { +Loader loader = getLoader(); +ClassLoader webApplicationClassLoader = null; +if (loader != null) { +webApplicationClassLoader =
svn commit: r1560654 - in /tomcat/trunk/java/org/apache/catalina: core/AsyncContextImpl.java security/SecurityClassLoad.java
Author: markt Date: Thu Jan 23 12:15:56 2014 New Revision: 1560654 URL: http://svn.apache.org/r1560654 Log: Migrate AsyncContext to use Context bind()/unbind() Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1560654&r1=1560653&r2=1560654&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Thu Jan 23 12:15:56 2014 @@ -18,8 +18,6 @@ package org.apache.catalina.core; import java.io.IOException; import java.lang.reflect.InvocationTargetException; -import java.security.AccessController; -import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -99,22 +97,8 @@ public class AsyncContextImpl implements List listenersCopy = new ArrayList<>(); listenersCopy.addAll(listeners); -ClassLoader oldCL; -if (Globals.IS_SECURITY_ENABLED) { -PrivilegedAction pa = new PrivilegedGetTccl(); -oldCL = AccessController.doPrivileged(pa); -} else { -oldCL = Thread.currentThread().getContextClassLoader(); -} -ClassLoader newCL = context.getLoader().getClassLoader(); - +ClassLoader oldCL = context.bind(Globals.IS_SECURITY_ENABLED, null); try { -if (Globals.IS_SECURITY_ENABLED) { -PrivilegedAction pa = new PrivilegedSetTccl(newCL); -AccessController.doPrivileged(pa); -} else { -Thread.currentThread().setContextClassLoader(newCL); -} for (AsyncListenerWrapper listener : listenersCopy) { try { listener.fireOnComplete(event); @@ -125,12 +109,7 @@ public class AsyncContextImpl implements } } } finally { -if (Globals.IS_SECURITY_ENABLED) { -PrivilegedAction pa = new PrivilegedSetTccl(oldCL); -AccessController.doPrivileged(pa); -} else { -Thread.currentThread().setContextClassLoader(oldCL); -} +context.unbind(Globals.IS_SECURITY_ENABLED, oldCL); } } @@ -139,11 +118,8 @@ public class AsyncContextImpl implements request.getCoyoteRequest().action(ActionCode.ASYNC_TIMEOUT, result); if (result.get()) { - -ClassLoader oldCL = Thread.currentThread().getContextClassLoader(); -ClassLoader newCL = request.getContext().getLoader().getClassLoader(); +ClassLoader oldCL = context.bind(false, null); try { -Thread.currentThread().setContextClassLoader(newCL); List listenersCopy = new ArrayList<>(); listenersCopy.addAll(listeners); for (AsyncListenerWrapper listener : listenersCopy) { @@ -157,12 +133,11 @@ public class AsyncContextImpl implements } request.getCoyoteRequest().action( ActionCode.ASYNC_IS_TIMINGOUT, result); -return !result.get(); } finally { -Thread.currentThread().setContextClassLoader(oldCL); +context.unbind(false, oldCL); } } -return true; +return !result.get(); } @Override @@ -552,32 +527,11 @@ public class AsyncContextImpl implements @Override public void run() { -ClassLoader oldCL; -if (Globals.IS_SECURITY_ENABLED) { -PrivilegedAction pa = new PrivilegedGetTccl(); -oldCL = AccessController.doPrivileged(pa); -} else { -oldCL = Thread.currentThread().getContextClassLoader(); -} - +ClassLoader oldCL = context.bind(Globals.IS_SECURITY_ENABLED, null); try { -if (Globals.IS_SECURITY_ENABLED) { -PrivilegedAction pa = new PrivilegedSetTccl( -context.getLoader().getClassLoader()); -AccessController.doPrivileged(pa); -} else { -Thread.currentThread().setContextClassLoader -(context.getLoader().getClassLoader()); -} wrapped.run(); } finally { -if (Globals.IS_SECURITY_ENABLED) { -PrivilegedAction pa = new PrivilegedSetTccl( -oldCL); -AccessController.doPrivileged(pa); -} else { -
svn commit: r1560656 - /tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java
Author: markt Date: Thu Jan 23 12:17:00 2014 New Revision: 1560656 URL: http://svn.apache.org/r1560656 Log: Migrate StandardHostValve to use Context bind/unbind Modified: tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java Modified: tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java?rev=1560656&r1=1560655&r2=1560656&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java Thu Jan 23 12:17:00 2014 @@ -14,14 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - - package org.apache.catalina.core; - import java.io.IOException; -import java.security.AccessController; -import java.security.PrivilegedAction; import javax.servlet.DispatcherType; import javax.servlet.RequestDispatcher; @@ -31,7 +26,6 @@ import javax.servlet.http.HttpServletRes import org.apache.catalina.Context; import org.apache.catalina.Globals; -import org.apache.catalina.ThreadBindingListener; import org.apache.catalina.Wrapper; import org.apache.catalina.comet.CometEvent; import org.apache.catalina.connector.ClientAbortException; @@ -44,7 +38,6 @@ import org.apache.tomcat.util.ExceptionU import org.apache.tomcat.util.descriptor.web.ErrorPage; import org.apache.tomcat.util.res.StringManager; - /** * Valve that implements the default basic behavior for the * StandardHost container implementation. @@ -56,7 +49,6 @@ import org.apache.tomcat.util.res.String * @author Remy Maucherat * @version $Id$ */ - final class StandardHostValve extends ValveBase { private static final Log log = LogFactory.getLog(StandardHostValve.class); @@ -125,22 +117,8 @@ final class StandardHostValve extends Va return; } -// Bind the context CL to the current thread -if( context.getLoader() != null ) { -// Not started - it should check for availability first -// This should eventually move to Engine, it's generic. -if (Globals.IS_SECURITY_ENABLED) { -PrivilegedAction pa = new PrivilegedSetTccl( -context.getLoader().getClassLoader(), -context.getThreadBindingListener(), -true); -AccessController.doPrivileged(pa); -} else { -Thread.currentThread().setContextClassLoader -(context.getLoader().getClassLoader()); -context.getThreadBindingListener().bind(); -} -} +context.bind(Globals.IS_SECURITY_ENABLED, MY_CLASSLOADER); + if (request.isAsyncSupported()) { request.setAsyncSupported(context.getPipeline().isAsyncSupported()); } @@ -203,15 +181,7 @@ final class StandardHostValve extends Va request.getSession(false); } -// Restore the context classloader -if (Globals.IS_SECURITY_ENABLED) { -PrivilegedAction pa = new PrivilegedSetTccl(MY_CLASSLOADER, -context.getThreadBindingListener(), false); -AccessController.doPrivileged(pa); -} else { -context.getThreadBindingListener().unbind(); -Thread.currentThread().setContextClassLoader(MY_CLASSLOADER); -} +context.unbind(Globals.IS_SECURITY_ENABLED, MY_CLASSLOADER); } @@ -232,14 +202,7 @@ final class StandardHostValve extends Va // Select the Context to be used for this Request Context context = request.getContext(); -// Bind the context CL to the current thread -if( context.getLoader() != null ) { -// Not started - it should check for availability first -// This should eventually move to Engine, it's generic. -Thread.currentThread().setContextClassLoader -(context.getLoader().getClassLoader()); -context.getThreadBindingListener().bind(); -} +context.bind(false, MY_CLASSLOADER); // Ask this Context to process this request context.getPipeline().getFirst().event(request, response, event); @@ -264,10 +227,7 @@ final class StandardHostValve extends Va } // Restore the context classloader -context.getThreadBindingListener().unbind(); -Thread.currentThread().setContextClassLoader -(StandardHostValve.class.getClassLoader()); - +context.unbind(false, MY_CLASSLOADER); } @@ -511,29 +471,4 @@ final class StandardHostValve extends Va return (null); } - - -private static class PrivilegedSetTccl implements PrivilegedAction { - -private final ClassLoader cl; -
svn commit: r1560655 - /tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
Author: markt Date: Thu Jan 23 12:16:28 2014 New Revision: 1560655 URL: http://svn.apache.org/r1560655 Log: Add new message Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties?rev=1560655&r1=1560654&r2=1560655&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties Thu Jan 23 12:16:28 2014 @@ -139,6 +139,7 @@ standardContext.servletMap.pattern=Inval standardContext.startFailed=Context [{0}] startup failed due to previous errors standardContext.startingContext=Exception starting Context with name [{0}] standardContext.stoppingContext=Exception stopping Context with name [{0}] +standardContext.threadBindingListenerError=An error occurred in the thread binding listener configured for Context [{0}] standardContext.urlPattern.patternWarning=WARNING: URL pattern {0} must start with a ''/'' in Servlet 2.4 standardContext.webappClassLoader.missingProperty=Unable to set the web application class loader property [{0}] to [{1}] as the property does not exist. standardContext.workPath=Exception obtaining work path for context [{0}] - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560659 - in /tomcat/trunk/java/org/apache/catalina: connector/CoyoteAdapter.java core/ApplicationDispatcher.java core/ContainerBase.java core/StandardWrapper.java
Author: markt Date: Thu Jan 23 12:17:41 2014 New Revision: 1560659 URL: http://svn.apache.org/r1560659 Log: More migrations to Context bind()/unbind() Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1560659&r1=1560658&r2=1560659&view=diff == --- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Thu Jan 23 12:17:41 2014 @@ -316,15 +316,12 @@ public class CoyoteAdapter implements Ad req.getAttributes().remove(RequestDispatcher.ERROR_EXCEPTION); ReadListener readListener = req.getReadListener(); if (readListener != null) { -ClassLoader oldCL = -Thread.currentThread().getContextClassLoader(); -ClassLoader newCL = -request.getContext().getLoader().getClassLoader(); +ClassLoader oldCL = null; try { -Thread.currentThread().setContextClassLoader(newCL); +oldCL = request.getContext().bind(false, null); readListener.onError(t); } finally { -Thread.currentThread().setContextClassLoader(oldCL); +request.getContext().unbind(false, oldCL); } } if (t != null) { @@ -339,15 +336,12 @@ public class CoyoteAdapter implements Ad RequestDispatcher.ERROR_EXCEPTION); req.getAttributes().remove(RequestDispatcher.ERROR_EXCEPTION); if (res.getWriteListener() != null) { -ClassLoader oldCL = -Thread.currentThread().getContextClassLoader(); -ClassLoader newCL = -request.getContext().getLoader().getClassLoader(); +ClassLoader oldCL = null; try { -Thread.currentThread().setContextClassLoader(newCL); +oldCL = request.getContext().bind(false, null); res.getWriteListener().onError(t); } finally { -Thread.currentThread().setContextClassLoader(oldCL); +request.getContext().unbind(false, oldCL); } } if (t != null) { @@ -360,12 +354,9 @@ public class CoyoteAdapter implements Ad WriteListener writeListener = res.getWriteListener(); ReadListener readListener = req.getReadListener(); if (writeListener != null && status == SocketStatus.OPEN_WRITE) { -ClassLoader oldCL = -Thread.currentThread().getContextClassLoader(); -ClassLoader newCL = -request.getContext().getLoader().getClassLoader(); +ClassLoader oldCL = null; try { -Thread.currentThread().setContextClassLoader(newCL); +oldCL = request.getContext().bind(false, null); res.onWritePossible(); if (request.isFinished() && req.sendAllDataReadEvent() && readListener != null) { @@ -376,16 +367,13 @@ public class CoyoteAdapter implements Ad writeListener.onError(t); throw t; } finally { -Thread.currentThread().setContextClassLoader(oldCL); +request.getContext().unbind(false, oldCL); } success = true; } else if (readListener != null && status == SocketStatus.OPEN_READ) { -ClassLoader oldCL = -Thread.currentThread().getContextClassLoader(); -ClassLoader newCL = -request.getContext().getLoader().getClassLoader(); +ClassLoader oldCL = null; try { -Thread.currentThread().setContextClassLoader(newCL); +oldCL = request.getContext().bind(false, null); readListener.onDataAvailable(); if (request.isFinished() && req.sendAllDataReadEve
svn commit: r1560660 - /tomcat/trunk/java/org/apache/catalina/session/StandardSession.java
Author: markt Date: Thu Jan 23 12:18:14 2014 New Revision: 1560660 URL: http://svn.apache.org/r1560660 Log: Migrate to Context bind()/unbind() Modified: tomcat/trunk/java/org/apache/catalina/session/StandardSession.java Modified: tomcat/trunk/java/org/apache/catalina/session/StandardSession.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StandardSession.java?rev=1560660&r1=1560659&r2=1560660&view=diff == --- tomcat/trunk/java/org/apache/catalina/session/StandardSession.java (original) +++ tomcat/trunk/java/org/apache/catalina/session/StandardSession.java Thu Jan 23 12:18:14 2014 @@ -53,7 +53,6 @@ import org.apache.catalina.Manager; import org.apache.catalina.Session; import org.apache.catalina.SessionEvent; import org.apache.catalina.SessionListener; -import org.apache.catalina.ThreadBindingListener; import org.apache.catalina.TomcatPrincipal; import org.apache.catalina.security.SecurityUtil; import org.apache.tomcat.util.ExceptionUtils; @@ -805,7 +804,7 @@ public class StandardSession implements // listeners ClassLoader oldContextClassLoader = null; try { -oldContextClassLoader = bindThread(context); +oldContextClassLoader = context.bind(Globals.IS_SECURITY_ENABLED, null); if (notify) { Object listeners[] = context.getApplicationLifecycleListeners(); if (listeners != null && listeners.length > 0) { @@ -838,7 +837,7 @@ public class StandardSession implements } } } finally { -unbindThread(context, oldContextClassLoader); +context.unbind(Globals.IS_SECURITY_ENABLED, oldContextClassLoader); } if (ACTIVITY_CHECK) { @@ -879,99 +878,6 @@ public class StandardSession implements } -protected ClassLoader bindThread(Context context) { - -ClassLoader contextClassLoader = null; -ThreadBindingListener threadBindingListener = null; -if (context != null) { -if (context.getLoader() != null && context.getLoader().getClassLoader() != null) { -contextClassLoader = context.getLoader().getClassLoader(); -} -threadBindingListener = context.getThreadBindingListener(); -} -if (threadBindingListener == null || contextClassLoader == null) { -return null; -} - -if (Globals.IS_SECURITY_ENABLED) { -return AccessController.doPrivileged(new PrivilegedBind(contextClassLoader, threadBindingListener)); -} else { -ClassLoader oldContextClassLoader = -Thread.currentThread().getContextClassLoader(); -if (oldContextClassLoader == contextClassLoader) { -return null; -} else { - Thread.currentThread().setContextClassLoader(contextClassLoader); -threadBindingListener.bind(); -return oldContextClassLoader; -} -} - -} - -protected class PrivilegedBind implements PrivilegedAction { -private ClassLoader contextClassLoader; -private ThreadBindingListener threadBindingListener; - -PrivilegedBind(ClassLoader contextClassLoader, ThreadBindingListener threadBindingListener) { -this.contextClassLoader = contextClassLoader; -this.threadBindingListener = threadBindingListener; -} - -@Override -public ClassLoader run() { -ClassLoader oldContextClassLoader = -Thread.currentThread().getContextClassLoader(); -if (oldContextClassLoader == contextClassLoader) { -return null; -} else { - Thread.currentThread().setContextClassLoader(contextClassLoader); -threadBindingListener.bind(); -return oldContextClassLoader; -} -} -} - -protected void unbindThread(Context context, ClassLoader oldContextClassLoader) { - -if (oldContextClassLoader == null) { -return; -} -ThreadBindingListener threadBindingListener = null; -if (context != null) { -threadBindingListener = context.getThreadBindingListener(); -} -if (threadBindingListener == null) { -return; -} - -if (Globals.IS_SECURITY_ENABLED) { -AccessController.doPrivileged(new PrivilegedUnbind(oldContextClassLoader, threadBindingListener)); -} else { -threadBindingListener.unbind(); - Thread.currentThread().setContextClassLoader(oldContextClassLoader); -} - -} - -protected class PrivilegedUnbind implements PrivilegedAction { -private ClassLoader oldContextClassLoader; -
Re: Context switch integration
2014/1/23 Mark Thomas > http://people.apache.org/~markt/dev/2014-01-23-tccl-tc8-v2.patch > > It was easier to write, removes more code and the result is easier to > read. Unless there are objections I plan to commit this along with some > additional work to migrate other code that is currently doing this itself. > > Ok, let's try that. Don't forget to keep SecurityClassLoad in sync. Rémy
Re: Context switch integration
On 23/01/2014 12:22, Rémy Maucherat wrote: > 2014/1/23 Mark Thomas > >> http://people.apache.org/~markt/dev/2014-01-23-tccl-tc8-v2.patch >> >> It was easier to write, removes more code and the result is easier to >> read. Unless there are objections I plan to commit this along with some >> additional work to migrate other code that is currently doing this itself. >> >> > Ok, let's try that. Done (by accident - I was on the wrong branch when I did a "git svn dcommit" but no harm done). > Don't forget to keep SecurityClassLoad in sync. We have a test case that should catch those sorts of issues now. The one thing the patch doesn't do is make the calling of the ThreadBindingListener optional. We could add a parameter for that if necessary. We can also remove the DEFAULT_NAMING_LISTENER as all uses of the listener are from StandardContext and it checks for null. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Apache Tomcat Summit at ApacheCon NA 2014
ApacheCon NA will be in Denver 7th to 11th April. The schedule for ApacheCon NA 2014 has been firmed up. There is an opportunity for a project summit on either the Thursday or the Friday. Since the BarCamp has been scheduled for the Thursday the Friday seems like the better option. We have complete flexibility as to the organisation of the Summit. One possible topic is with the Java EE 7 work pretty much complete, what new features is the community interested in between now and when the Java EE 8 work starts? Other suggestions for topics welcome. To get this up and running we need an idea of how many folks might want to attend so please reply to this thread on the users list if: - you are interested in attending - you have a topic / some topics to suggest Thanks, Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560702 - in /tomcat/trunk/java/org/apache/tomcat/websocket: WsRemoteEndpointImplBase.java WsSession.java pojo/PojoEndpointBase.java
Author: remm Date: Thu Jan 23 14:42:21 2014 New Revision: 1560702 URL: http://svn.apache.org/r1560702 Log: - Call onClose before actually closing anything (sending a close message closes the endpoint). - If onClose throws an exception, call onError. - After using a blocking send, clear the client buffer in case it gets reused (I have no idea why this is needed ...). Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java?rev=1560702&r1=1560701&r2=1560702&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java Thu Jan 23 14:42:21 2014 @@ -234,6 +234,7 @@ public abstract class WsRemoteEndpointIm } else { f2sh.get(timeout, TimeUnit.MILLISECONDS); } +payload.clear(); } catch (InterruptedException | ExecutionException | TimeoutException e) { throw new IOException(e); Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1560702&r1=1560701&r2=1560702&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Thu Jan 23 14:42:21 2014 @@ -45,6 +45,7 @@ import javax.websocket.WebSocketContaine import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.res.StringManager; public class WsSession implements Session { @@ -413,8 +414,8 @@ public class WsSession implements Sessio state = State.CLOSING; -sendCloseMessage(closeReasonMessage); fireEndpointOnClose(closeReasonLocal); +sendCloseMessage(closeReasonMessage); state = State.CLOSED; } @@ -436,8 +437,8 @@ public class WsSession implements Sessio synchronized (stateLock) { if (state == State.OPEN) { -sendCloseMessage(closeReason); fireEndpointOnClose(closeReason); +sendCloseMessage(closeReason); state = State.CLOSED; } @@ -455,6 +456,9 @@ public class WsSession implements Sessio t.setContextClassLoader(applicationClassLoader); try { localEndpoint.onClose(this, closeReason); +} catch (Throwable throwable) { +ExceptionUtils.handleThrowable(throwable); +localEndpoint.onError(this, throwable); } finally { t.setContextClassLoader(cl); } Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java?rev=1560702&r1=1560701&r2=1560702&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java Thu Jan 23 14:42:21 2014 @@ -64,14 +64,14 @@ public abstract class PojoEndpointBase e log.error(sm.getString( "pojoEndpointBase.onOpenFail", pojo.getClass().getName()), e); -handleOnOpenError(session, e); +handleOnOpenOrCloseError(session, e); return; } catch (InvocationTargetException e) { Throwable cause = e.getCause(); -handleOnOpenError(session, cause); +handleOnOpenOrCloseError(session, cause); return; } catch (Throwable t) { -handleOnOpenError(session, t); +handleOnOpenOrCloseError(session, t); return; } } @@ -83,7 +83,7 @@ public abstract class PojoEndpointBase e } -private void handleOnOpenError(Session session, Throwable t) { +private void handleOnOpenOrCloseError(Session session, Throwable t) { // If really fatal - re-throw ExceptionUtils.handleThrowable(t); @@ -104,9 +104,9 @@ public abstract class PojoEndpointBase e methodMapping.getOnClose().invoke(pojo, methodMapping.getOnClose
Re: svn commit: r1560702 - in /tomcat/trunk/java/org/apache/tomcat/websocket: WsRemoteEndpointImplBase.java WsSession.java pojo/PojoEndpointBase.java
On 23/01/2014 14:42, r...@apache.org wrote: > Author: remm > Date: Thu Jan 23 14:42:21 2014 > New Revision: 1560702 > > URL: http://svn.apache.org/r1560702 > Log: > - Call onClose before actually closing anything (sending a close message > closes the endpoint). -1 (veto) for a specification violation Section 2.1.5 requires that: "the implementation must attempt to send the websocket close frame prior to calling the onClose() method of the websocket endpoint." > - If onClose throws an exception, call onError. No objections. > - After using a blocking send, clear the client buffer in case it gets reused > (I have no idea why this is needed ...). This seems wrong (although I don't see the harm). I'd really expect the client to take care of that. Mark > > Modified: > > tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java > tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java > tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java > > Modified: > tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java?rev=1560702&r1=1560701&r2=1560702&view=diff > == > --- > tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java > (original) > +++ > tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java > Thu Jan 23 14:42:21 2014 > @@ -234,6 +234,7 @@ public abstract class WsRemoteEndpointIm > } else { > f2sh.get(timeout, TimeUnit.MILLISECONDS); > } > +payload.clear(); > } catch (InterruptedException | ExecutionException | > TimeoutException e) { > throw new IOException(e); > > Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1560702&r1=1560701&r2=1560702&view=diff > == > --- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original) > +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Thu Jan 23 > 14:42:21 2014 > @@ -45,6 +45,7 @@ import javax.websocket.WebSocketContaine > > import org.apache.juli.logging.Log; > import org.apache.juli.logging.LogFactory; > +import org.apache.tomcat.util.ExceptionUtils; > import org.apache.tomcat.util.res.StringManager; > > public class WsSession implements Session { > @@ -413,8 +414,8 @@ public class WsSession implements Sessio > > state = State.CLOSING; > > -sendCloseMessage(closeReasonMessage); > fireEndpointOnClose(closeReasonLocal); > +sendCloseMessage(closeReasonMessage); > > state = State.CLOSED; > } > @@ -436,8 +437,8 @@ public class WsSession implements Sessio > > synchronized (stateLock) { > if (state == State.OPEN) { > -sendCloseMessage(closeReason); > fireEndpointOnClose(closeReason); > +sendCloseMessage(closeReason); > state = State.CLOSED; > } > > @@ -455,6 +456,9 @@ public class WsSession implements Sessio > t.setContextClassLoader(applicationClassLoader); > try { > localEndpoint.onClose(this, closeReason); > +} catch (Throwable throwable) { > +ExceptionUtils.handleThrowable(throwable); > +localEndpoint.onError(this, throwable); > } finally { > t.setContextClassLoader(cl); > } > > Modified: > tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java?rev=1560702&r1=1560701&r2=1560702&view=diff > == > --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java > (original) > +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java > Thu Jan 23 14:42:21 2014 > @@ -64,14 +64,14 @@ public abstract class PojoEndpointBase e > log.error(sm.getString( > "pojoEndpointBase.onOpenFail", > pojo.getClass().getName()), e); > -handleOnOpenError(session, e); > +handleOnOpenOrCloseError(session, e); > return; > } catch (InvocationTargetException e) { > Throwable cause = e.getCause(); > -handleOnOpenError(session, cause); > +handleOnOpenOrCloseError(session, cause); > return; > } catch (Throwable t) { > -handleOnOp
svn commit: r1560704 - /tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
Author: remm Date: Thu Jan 23 14:59:45 2014 New Revision: 1560704 URL: http://svn.apache.org/r1560704 Log: Revert: Call onClose before actually closing anything (sending a close message closes the endpoint). Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1560704&r1=1560703&r2=1560704&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Thu Jan 23 14:59:45 2014 @@ -414,8 +414,8 @@ public class WsSession implements Sessio state = State.CLOSING; -fireEndpointOnClose(closeReasonLocal); sendCloseMessage(closeReasonMessage); +fireEndpointOnClose(closeReasonLocal); state = State.CLOSED; } @@ -437,8 +437,8 @@ public class WsSession implements Sessio synchronized (stateLock) { if (state == State.OPEN) { -fireEndpointOnClose(closeReason); sendCloseMessage(closeReason); +fireEndpointOnClose(closeReason); state = State.CLOSED; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1560702 - in /tomcat/trunk/java/org/apache/tomcat/websocket: WsRemoteEndpointImplBase.java WsSession.java pojo/PojoEndpointBase.java
2014/1/23 Mark Thomas > > - Call onClose before actually closing anything (sending a close message > closes the endpoint). > > -1 (veto) for a specification violation > > Section 2.1.5 requires that: > "the implementation must attempt to send the websocket close frame prior > to calling the onClose() method of the websocket endpoint." > Ok, but then onClose has the endpoint already closed, and it cannot do anything (like send messages). > - After using a blocking send, clear the client buffer in case it gets > reused (I have no idea why this is needed ...). > > This seems wrong (although I don't see the harm). I'd really expect the > client to take care of that. > Well, yes, I agree ! Rémy
Re: svn commit: r1560702 - in /tomcat/trunk/java/org/apache/tomcat/websocket: WsRemoteEndpointImplBase.java WsSession.java pojo/PojoEndpointBase.java
On 23/01/2014 15:01, Rémy Maucherat wrote: > 2014/1/23 Mark Thomas > >>> - Call onClose before actually closing anything (sending a close message >> closes the endpoint). >> >> -1 (veto) for a specification violation >> >> Section 2.1.5 requires that: >> "the implementation must attempt to send the websocket close frame prior >> to calling the onClose() method of the websocket endpoint." >> > > Ok, but then onClose has the endpoint already closed, and it cannot do > anything (like send messages). I'd need to go back and check the archives but the I think the expectation from the EG was that onClose() would be used to clean up resources rather than anything else. It is always possible that I have misunderstood the intention of the spec here but it looks to be pretty clear. Mark - 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
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/5430 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1560660 Blamelist: markt BUILD FAILED: failed compile_1 sincerely, -The Buildbot
[Bug 56056] New: Tomcat fail to redeploy application, when webapps is on NFS file system
https://issues.apache.org/bugzilla/show_bug.cgi?id=56056 Bug ID: 56056 Summary: Tomcat fail to redeploy application, when webapps is on NFS file system Product: Tomcat 7 Version: 7.0.42 Hardware: All OS: BeOS Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: yair.le...@citi.com When a new WAR file is copied to the 'webapps' in redepoyment mode (unpackWar=true), tomcat is unable to complete redeployment in many case, where the NFS unpacked applications can not be completed. The reason for the partial delete is that NFS file delete will sometimes rename the removed file to ".nfsN". This is usually result of some process the file open (can be a thread in the application, leaked resources, or a user on any machine that can view/inspect files/folders in the unpack tree. While it is bad for any application to have leaked open connections to resources in the WAR, it is impossible to identify and fix all resource leakages in third part libraries, etc. If any file is still open in the unpacked WAR, the directory where the file use to exists can not be removed. If tomcat can not removed the top level directory of the old app, it will not redeploy the new WAR. leaving the server without any running instance of the application. The requested fix is to add an option (either with passing '-d' to catalina.sh, or new option in the container XML (similar to antiJARLocking). The new feature (possible name: 'redeployNFS' ?), will use the following logic for redeployt: Try to remove the unpacked WAR If the removal was not completed, sleep 3 seconds, then try again (NFS removal are not always instant, because some NFS data may be cached on the client). If the removal is still incomplete, rename the unpacked war (e.g., nfs-WAR.-MM-DDTHH:MM:SS) folder If the rename works, continue with redeploy. Otherwise stop. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1560702 - in /tomcat/trunk/java/org/apache/tomcat/websocket: WsRemoteEndpointImplBase.java WsSession.java pojo/PojoEndpointBase.java
2014/1/23 Mark Thomas > I'd need to go back and check the archives but the I think the > expectation from the EG was that onClose() would be used to clean up > resources rather than anything else. > > It is always possible that I have misunderstood the intention of the > spec here but it looks to be pretty clear. > Let's assume you didn't misunderstand anything for now. I think the important fix is calling onError if onClose throws an exception, I cannot find any item indicating that sending a message is mandatory. Rémy
svn commit: r1560717 - /tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
Author: markt Date: Thu Jan 23 15:59:48 2014 New Revision: 1560717 URL: http://svn.apache.org/r1560717 Log: No need to load classes that have been deleted. Modified: tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java Modified: tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java?rev=1560717&r1=1560716&r2=1560717&view=diff == --- tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java (original) +++ tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java Thu Jan 23 15:59:48 2014 @@ -135,10 +135,6 @@ public final class SecurityClassLoad { loader.loadClass (basePackage + "StandardSession"); loader.loadClass -(basePackage + "StandardSession$PrivilegedBind"); -loader.loadClass -(basePackage + "StandardSession$PrivilegedUnbind"); -loader.loadClass (basePackage + "StandardSession$1"); loader.loadClass (basePackage + "StandardManager$PrivilegedDoUnload"); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Tomcat 6 status file needs one more vote
Folks, I'd really like to tag 6.0.x today or tomorrow. The remaining issue in the status file needs one more vote. If any committer has the time to review that patch and vote that would be great. Thanks, Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560764 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/tomcat/util/net/NioEndpoint.java webapps/docs/changelog.xml
Author: markt Date: Thu Jan 23 17:33:42 2014 New Revision: 1560764 URL: http://svn.apache.org/r1560764 Log: Make the HTTP NIO connector tolerant of whitespace in the individual alues used for the ciphers attribute. Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1560764&r1=1560763&r2=1560764&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Jan 23 17:33:42 2014 @@ -30,19 +30,6 @@ None PATCHES PROPOSED TO BACKPORT: [ New proposals should be added at the end of the list ] -* BIO tolerates whitespace in the ciphers attribute whereas NIO does not. Make - NIO tolerate it as well - http://people.apache.org/~markt/patches/2014-01-18-ciphers-whitespace-nio-tc6-v1.patch - +1: markt, rjung, schultz - +1: kkolinko: OK, though I have two comments: - 1. If we align NIO and BIO here, the code in JSSESocketFactory.getEnabledCiphers(..) - also skips empty tokens. - 2. There is similar code in TC7 & trunk in AbstractEndpoint.setCiphers(), - but it has not been fixed yet. - Actually as far as I see the ciphersarr is never used in TC7 & - trunk, as there are no calls to AbstractEndpoint.getCiphersArray(). - -1: - * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56029 Regression in fix for BZ55198 broke parsing of some ternary expressions Align tc6 implementation with that of trunk (diff to trunk is easy to review) Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1560764&r1=1560763&r2=1560764&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Thu Jan 23 17:33:42 2014 @@ -640,7 +640,9 @@ public class NioEndpoint extends Abstrac else { StringTokenizer t = new StringTokenizer(s,","); ciphersarr = new String[t.countTokens()]; -for (int i=0; ihttp://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1560764&r1=1560763&r2=1560764&view=diff == --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Thu Jan 23 17:33:42 2014 @@ -44,6 +44,14 @@ General, Catalina, Coyote, Jasper, Cluster, Web applications, Other --> + + + +Make the HTTP NIO connector tolerant of whitespace in the individual +values used for the ciphers attribute. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560769 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: remm Date: Thu Jan 23 17:53:11 2014 New Revision: 1560769 URL: http://svn.apache.org/r1560769 Log: Vote. Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1560769&r1=1560768&r2=1560769&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Jan 23 17:53:11 2014 @@ -34,7 +34,7 @@ PATCHES PROPOSED TO BACKPORT: Regression in fix for BZ55198 broke parsing of some ternary expressions Align tc6 implementation with that of trunk (diff to trunk is easy to review) http://people.apache.org/~markt/patches/2014-01-21-ELParser-tc6-v1.patch - +1: markt, kkolinko + +1: markt, kkolinko, remm -1: - 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
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/5432 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1560717 Blamelist: markt Build succeeded! sincerely, -The Buildbot
[Bug 56045] Cannot start embedded container without Jasper
https://issues.apache.org/bugzilla/show_bug.cgi?id=56045 --- Comment #1 from Konstantin Kolinko --- You do not need Jasper, but you need the JSP APIs - the "jsp-api.jar" file. 1. The common XML Schema for the Servlet 3.0 deployment descriptor does depend on the XML Schema for the JSP 2.2 deployment descriptor. 2. Tomcat processes tag libraries and instantiates Listeners defined in their TLD files regardless of whether you use Jasper. This may need the schema for TLD files. Note that both of these issues have been fixed in Tomcat 8. Re: 1: in Tomcat 8 the schemas are bundled in servlet-api.jar Re: 2: in Tomcat 8 the listeners are initialized by Jasper and are injected into web application via ServletContext.addListener() API. -- 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: r1560784 - /tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
Author: markt Date: Thu Jan 23 18:59:51 2014 New Revision: 1560784 URL: http://svn.apache.org/r1560784 Log: Remove unused code Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.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=1560784&r1=1560783&r2=1560784&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Thu Jan 23 18:59:51 2014 @@ -876,20 +876,10 @@ public abstract class AbstractEndpoint
svn commit: r1560785 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/net/AbstractEndpoint.java
Author: markt Date: Thu Jan 23 19:01:26 2014 New Revision: 1560785 URL: http://svn.apache.org/r1560785 Log: Remove unused code Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1560784 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1560785&r1=1560784&r2=1560785&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Thu Jan 23 19:01:26 2014 @@ -832,20 +832,10 @@ public abstract class AbstractEndpoint { public String getSslProtocol() { return sslProtocol;} public void setSslProtocol(String s) { sslProtocol = s;} -// Note: Some implementations use the comma separated string, some use -// the array private String ciphers = null; -private String[] ciphersarr = new String[0]; -public String[] getCiphersArray() { return this.ciphersarr;} public String getCiphers() { return ciphers;} public void setCiphers(String s) { ciphers = s; -if ( s == null ) ciphersarr = new String[0]; -else { -StringTokenizer t = new StringTokenizer(s,","); -ciphersarr = new String[t.countTokens()]; -for (int i=0; i
Re: Tomcat 6 status file needs one more vote
2014/1/23 Mark Thomas : > Folks, > > I'd really like to tag 6.0.x today or tomorrow. The remaining issue in > the status file needs one more vote. If any committer has the time to > review that patch and vote that would be great. > Regarding NPEs in forId(). (An example: https://issues.apache.org/bugzilla/show_bug.cgi?id=56045 ) I think the following need a fix before tagging: 1. I think the Maven POM file for the jar that contains "org.apache.tomcat.util.descriptor.DigesterFactory" (coyote.jar in TC6 maven libs, tomcat-util.jar in Tomcat 7) needs dependency on jsp-api JAR. 2. I suspect that catalina does not work without DigesterFactory, and thus catalina.jar in Tomcat 6 needs dependency on coyote.jar (or tomcat-util.jar if we create it). Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56056] Tomcat fail to redeploy application, when webapps is on NFS file system
https://issues.apache.org/bugzilla/show_bug.cgi?id=56056 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WONTFIX --- Comment #1 from Mark Thomas --- There is no need for yet another deployment option to work around this issue. You can use parallel deployment to work-around it. Note with Tomcat 8 you can track open files and Tomcat will forcibly close them on web application shutdown (assuming the app goes via the Servlet API rather than directly to the file system). -- 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 56045] Cannot start embedded container without Jasper
https://issues.apache.org/bugzilla/show_bug.cgi?id=56045 --- Comment #2 from Dave Syer --- Good to know that jasper is a sufficient but not necessary dependency, but that doesn't really help if you don't want anything to do with JSPs. I did raise this issue specifically against Tomcat 7. It's a regression (and a pretty significant one) between 7.0.47 and 7.0.50, so I'm kind of hoping it might be fixable. -- 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: r1560810 - /tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java
Author: markt Date: Thu Jan 23 21:22:48 2014 New Revision: 1560810 URL: http://svn.apache.org/r1560810 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56039 Enable JmxRemoteLifecycleListener to work with SSL. Patch by esengstrom. Modified: tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java Modified: tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java?rev=1560810&r1=1560809&r2=1560810&view=diff == --- tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java (original) +++ tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java Thu Jan 23 21:22:48 2014 @@ -240,6 +240,7 @@ public class JmxRemoteLifecycleListener if (csf != null) { env.put(RMIConnectorServer.RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE, csf); +env.put("com.sun.jndi.rmi.factory.socket", csf); } if (ssf != null) { env.put(RMIConnectorServer.RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE, - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560812 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java webapps/docs/changelog.xml
Author: markt Date: Thu Jan 23 21:25:27 2014 New Revision: 1560812 URL: http://svn.apache.org/r1560812 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56039 Enable JmxRemoteLifecycleListener to work with SSL. Patch by esengstrom. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1560810 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java?rev=1560812&r1=1560811&r2=1560812&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java Thu Jan 23 21:25:27 2014 @@ -240,6 +240,7 @@ public class JmxRemoteLifecycleListener if (csf != null) { env.put(RMIConnectorServer.RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE, csf); +env.put("com.sun.jndi.rmi.factory.socket", csf); } if (ssf != null) { env.put(RMIConnectorServer.RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE, 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=1560812&r1=1560811&r2=1560812&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Jan 23 21:25:27 2014 @@ -200,6 +200,14 @@ + + + +56039: Enable the JmxRemoteLifecycleListener to work over +SSL. Patch by esengstrom. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56039] JmxRemoteLifecycleListener does not work with SSL
https://issues.apache.org/bugzilla/show_bug.cgi?id=56039 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Mark Thomas --- Thanks for the report and the patch. The patch has been applied to 8.0.x for 8.0.0 onwards and to 7.0.x for 7.0.51 onwards. -- 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: r1560817 - /tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java
Author: remm Date: Thu Jan 23 21:37:42 2014 New Revision: 1560817 URL: http://svn.apache.org/r1560817 Log: Fix some arcane introspection errors. Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java?rev=1560817&r1=1560816&r2=1560817&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java Thu Jan 23 21:37:42 2014 @@ -49,6 +49,12 @@ public abstract class PojoMessageHandler int indexSession, long maxMessageSize) { this.pojo = pojo; this.method = method; +try { +this.method.setAccessible(true); +} catch (Exception e) { +// It is better to make sure the method is accessible, but +// ignore exceptions and hope for the best +} this.session = session; this.params = params; this.indexPayload = indexPayload; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1560817 - /tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java
On 23/01/2014 21:37, r...@apache.org wrote: > Author: remm > Date: Thu Jan 23 21:37:42 2014 > New Revision: 1560817 > > URL: http://svn.apache.org/r1560817 > Log: > Fix some arcane introspection errors. Could you explain what problem this is trying to fix. The method passed in to this constructor is previously checked with: if (!Modifier.isPublic(m.getModifiers())) { throw new DeploymentException(sm.getString( "pojoMethodMapping.methodNotPublic", m.getName())); } Is there a code path where that isn't happening? Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560823 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: markt Date: Thu Jan 23 21:51:15 2014 New Revision: 1560823 URL: http://svn.apache.org/r1560823 Log: Proposal Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1560823&r1=1560822&r2=1560823&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Jan 23 21:51:15 2014 @@ -37,6 +37,11 @@ PATCHES PROPOSED TO BACKPORT: +1: markt, kkolinko, remm -1: +* Correct Maven dependencies + http://people.apache.org/~markt/patches/2014-01-23-poms-tc6-v1.patch + +1: markt + -1: + PATCHES/ISSUES THAT ARE STALLED: - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Tomcat 6 status file needs one more vote
On 23/01/2014 19:05, Konstantin Kolinko wrote: > I think the following need a fix before tagging: > > 1. I think the Maven POM file for the jar that contains > "org.apache.tomcat.util.descriptor.DigesterFactory" (coyote.jar in > TC6 maven libs, tomcat-util.jar in Tomcat 7) needs dependency on > jsp-api JAR. > > 2. I suspect that catalina does not work without DigesterFactory, > and thus catalina.jar in Tomcat 6 needs dependency on coyote.jar (or > tomcat-util.jar if we create it). Patch proposed. Review and vote please. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56029] Ternary operator doesn't work as expected inside attributes in jspx pages
https://issues.apache.org/bugzilla/show_bug.cgi?id=56029 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #10 from Mark Thomas --- This has been fixed in 6.0.x and will be included in 6.0.39 onwards. -- 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: r1560824 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/jasper/compiler/ELNode.java java/org/apache/jasper/compiler/ELParser.java test/org/apache/jasper/compiler/TestELParser.java
Author: markt Date: Thu Jan 23 21:52:38 2014 New Revision: 1560824 URL: http://svn.apache.org/r1560824 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56029 Regression in fix for BZ55198 broke parsing of some ternary expressions Align tc6 implementation with that of trunk (diff to trunk is easy to review) Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ELNode.java tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java tomcat/tc6.0.x/trunk/test/org/apache/jasper/compiler/TestELParser.java Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1560824&r1=1560823&r2=1560824&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Jan 23 21:52:38 2014 @@ -30,13 +30,6 @@ None PATCHES PROPOSED TO BACKPORT: [ New proposals should be added at the end of the list ] -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56029 - Regression in fix for BZ55198 broke parsing of some ternary expressions - Align tc6 implementation with that of trunk (diff to trunk is easy to review) - http://people.apache.org/~markt/patches/2014-01-21-ELParser-tc6-v1.patch - +1: markt, kkolinko, remm - -1: - * Correct Maven dependencies http://people.apache.org/~markt/patches/2014-01-23-poms-tc6-v1.patch +1: markt Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ELNode.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ELNode.java?rev=1560824&r1=1560823&r2=1560824&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ELNode.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ELNode.java Thu Jan 23 21:52:38 2014 @@ -115,14 +115,16 @@ abstract class ELNode { private String prefix; private String name; +private final String originalText; private String uri; private FunctionInfo functionInfo; private String methodName; private String[] parameters; - Function(String prefix, String name) { + Function(String prefix, String name, String originalText) { this.prefix = prefix; this.name = name; + this.originalText = originalText; } public void accept(Visitor v) throws JasperException { @@ -137,6 +139,10 @@ abstract class ELNode { return name; } + public String getOriginalText() { + return originalText; + } + public void setUri(String uri) { this.uri = uri; } Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java?rev=1560824&r1=1560823&r2=1560824&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java Thu Jan 23 21:52:38 2014 @@ -37,19 +37,18 @@ import org.apache.jasper.compiler.ELNode public class ELParser { private Token curToken; // current token - -private ELNode.Nodes expr; +private String whiteSpace = ""; + +private final ELNode.Nodes expr; private ELNode.Nodes ELexpr; private int index; // Current index of the expression -private String expression; // The EL expression +private final String expression; // The EL expression private char type; -private boolean escapeBS; // is '\' an escape char in text outside EL? - private final boolean isDeferredSyntaxAllowedAsLiteral; private static final String reservedWords[] = { "and", "div", "empty", @@ -91,34 +90,41 @@ public class ELParser { } /** - * Parse an EL expression string '${...}' + * Parse an EL expression string '${...}'. Currently only separates the EL + * into functions and everything else. * - * @return An ELNode.Nodes representing the EL expression TODO: Currently - * only parsed into functions and text strings. This should be - * rewritten for a full parser. + * @return An ELNode.Nodes representing the EL expression + * + * Note: This can not be refactored to use the standard EL implementation as + * the EL API does not provide the level of access required to the + * parsed expression. */ private ELNode.Nodes parseEL() { -StringBuffer buf = new StringBuffer(); +StringBuilder buf = new StringBuilder(); ELexpr = new ELNode.Nodes(); +curToken = null; while (hasNext()) { curToken = nextToken();
svn commit: r1560829 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: kkolinko Date: Thu Jan 23 22:26:02 2014 New Revision: 1560829 URL: http://svn.apache.org/r1560829 Log: vote and proposal Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1560829&r1=1560828&r2=1560829&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Jan 23 22:26:02 2014 @@ -32,9 +32,16 @@ PATCHES PROPOSED TO BACKPORT: * Correct Maven dependencies http://people.apache.org/~markt/patches/2014-01-23-poms-tc6-v1.patch - +1: markt + +1: markt, kkolinko -1: +* Update sample Eclipse IDE project to use JUnit 4 and + to prefer a Java 5 JDK instead of the default one + when several JDKs are configured. + Remove unused JUnit-related properties from Ant build files. + https://people.apache.org/~kkolinko/patches/2014-01-24_tc6_junit4_eclipse.patch + +1: kkolinko + -1: PATCHES/ISSUES THAT ARE STALLED: - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560828 - /tomcat/tc6.0.x/trunk/BUILDING.txt
Author: kkolinko Date: Thu Jan 23 22:21:51 2014 New Revision: 1560828 URL: http://svn.apache.org/r1560828 Log: CTR: docs Correction: The "release" target in dist.xml of Tomcat 6 does not run the tests. Modified: tomcat/tc6.0.x/trunk/BUILDING.txt Modified: tomcat/tc6.0.x/trunk/BUILDING.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/BUILDING.txt?rev=1560828&r1=1560827&r2=1560828&view=diff == --- tomcat/tc6.0.x/trunk/BUILDING.txt (original) +++ tomcat/tc6.0.x/trunk/BUILDING.txt Thu Jan 23 22:21:51 2014 @@ -165,7 +165,7 @@ The documentation can be easly built: cd ${tomcat.source} ant -f extras.xml -(7) Building a release running tests: +(7) Building a release: cd ${tomcat.source} ant -f dist.xml release - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560838 - in /tomcat/trunk: java/org/apache/catalina/valves/ErrorReportValve.java test/org/apache/catalina/valves/TestErrorReportValve.java
Author: markt Date: Thu Jan 23 22:43:27 2014 New Revision: 1560838 URL: http://svn.apache.org/r1560838 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56042 If a request in async mode has an error but has already been dispatched don't generate an error page in the ErrorReportValve so the dispatch target can handle it. Modified: tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java tomcat/trunk/test/org/apache/catalina/valves/TestErrorReportValve.java Modified: tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java?rev=1560838&r1=1560837&r2=1560838&view=diff == --- tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java Thu Jan 23 22:43:27 2014 @@ -82,8 +82,8 @@ public class ErrorReportValve extends Va Throwable throwable = (Throwable) request.getAttribute(RequestDispatcher.ERROR_EXCEPTION); -if (request.isAsyncStarted() && response.getStatus() < 400 && -throwable == null) { +if (request.isAsyncStarted() && ((response.getStatus() < 400 && +throwable == null) || request.isAsyncDispatching())) { return; } Modified: tomcat/trunk/test/org/apache/catalina/valves/TestErrorReportValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/valves/TestErrorReportValve.java?rev=1560838&r1=1560837&r2=1560838&view=diff == --- tomcat/trunk/test/org/apache/catalina/valves/TestErrorReportValve.java (original) +++ tomcat/trunk/test/org/apache/catalina/valves/TestErrorReportValve.java Thu Jan 23 22:43:27 2014 @@ -16,8 +16,10 @@ */ package org.apache.catalina.valves; +import java.io.File; import java.io.IOException; +import javax.servlet.AsyncContext; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -28,6 +30,7 @@ import org.junit.Assert; import org.junit.Test; import org.apache.catalina.Context; +import org.apache.catalina.Wrapper; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; @@ -169,4 +172,50 @@ public class TestErrorReportValve extend resp.sendError(ERROR_STATUS, ERROR_MESSAGE); } } + +@Test +public void testBug56042() throws Exception { +// Setup Tomcat instance +Tomcat tomcat = getTomcatInstance(); + +// Must have a real docBase - just use temp +File docBase = new File(System.getProperty("java.io.tmpdir")); + +Context ctx = tomcat.addContext("", docBase.getAbsolutePath()); + +Bug56042Servlet bug56042Servlet = new Bug56042Servlet(); +Wrapper wrapper = +Tomcat.addServlet(ctx, "bug56042Servlet", bug56042Servlet); +wrapper.setAsyncSupported(true); +ctx.addServletMapping("/bug56042Servlet", "bug56042Servlet"); + +tomcat.start(); + +StringBuilder url = new StringBuilder(48); +url.append("http://localhost:";); +url.append(getPort()); +url.append("/bug56042Servlet"); + +ByteChunk res = new ByteChunk(); +int rc = getUrl(url.toString(), res, null); + +Assert.assertEquals(HttpServletResponse.SC_BAD_REQUEST, rc); +} + +private static class Bug56042Servlet extends HttpServlet { + +private static final long serialVersionUID = 1L; + +@Override +protected void doGet(HttpServletRequest req, HttpServletResponse resp) +throws ServletException, IOException { +// Only set the status on the first call (the dispatch will trigger +// another call to this Servlet) +if (resp.getStatus() != HttpServletResponse.SC_BAD_REQUEST) { +resp.setStatus(HttpServletResponse.SC_BAD_REQUEST); +AsyncContext ac = req.startAsync(); +ac.dispatch(); +} +} +} } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560839 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/valves/ErrorReportValve.java test/org/apache/catalina/valves/TestErrorReportValve.java webapps/docs/changelog.xml
Author: markt Date: Thu Jan 23 22:45:19 2014 New Revision: 1560839 URL: http://svn.apache.org/r1560839 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56042 If a request in async mode has an error but has already been dispatched don't generate an error page in the ErrorReportValve so the dispatch target can handle it. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java tomcat/tc7.0.x/trunk/test/org/apache/catalina/valves/TestErrorReportValve.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1560838 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java?rev=1560839&r1=1560838&r2=1560839&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java Thu Jan 23 22:45:19 2014 @@ -106,8 +106,8 @@ public class ErrorReportValve extends Va Throwable throwable = (Throwable) request.getAttribute(RequestDispatcher.ERROR_EXCEPTION); -if (request.isAsyncStarted() && response.getStatus() < 400 && -throwable == null) { +if (request.isAsyncStarted() && ((response.getStatus() < 400 && +throwable == null) || request.isAsyncDispatching())) { return; } Modified: tomcat/tc7.0.x/trunk/test/org/apache/catalina/valves/TestErrorReportValve.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/valves/TestErrorReportValve.java?rev=1560839&r1=1560838&r2=1560839&view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/catalina/valves/TestErrorReportValve.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/catalina/valves/TestErrorReportValve.java Thu Jan 23 22:45:19 2014 @@ -16,8 +16,10 @@ */ package org.apache.catalina.valves; +import java.io.File; import java.io.IOException; +import javax.servlet.AsyncContext; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -28,6 +30,7 @@ import org.junit.Assert; import org.junit.Test; import org.apache.catalina.Context; +import org.apache.catalina.Wrapper; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; @@ -169,4 +172,50 @@ public class TestErrorReportValve extend resp.sendError(ERROR_STATUS, ERROR_MESSAGE); } } + +@Test +public void testBug56042() throws Exception { +// Setup Tomcat instance +Tomcat tomcat = getTomcatInstance(); + +// Must have a real docBase - just use temp +File docBase = new File(System.getProperty("java.io.tmpdir")); + +Context ctx = tomcat.addContext("", docBase.getAbsolutePath()); + +Bug56042Servlet bug56042Servlet = new Bug56042Servlet(); +Wrapper wrapper = +Tomcat.addServlet(ctx, "bug56042Servlet", bug56042Servlet); +wrapper.setAsyncSupported(true); +ctx.addServletMapping("/bug56042Servlet", "bug56042Servlet"); + +tomcat.start(); + +StringBuilder url = new StringBuilder(48); +url.append("http://localhost:";); +url.append(getPort()); +url.append("/bug56042Servlet"); + +ByteChunk res = new ByteChunk(); +int rc = getUrl(url.toString(), res, null); + +Assert.assertEquals(HttpServletResponse.SC_BAD_REQUEST, rc); +} + +private static class Bug56042Servlet extends HttpServlet { + +private static final long serialVersionUID = 1L; + +@Override +protected void doGet(HttpServletRequest req, HttpServletResponse resp) +throws ServletException, IOException { +// Only set the status on the first call (the dispatch will trigger +// another call to this Servlet) +if (resp.getStatus() != HttpServletResponse.SC_BAD_REQUEST) { +resp.setStatus(HttpServletResponse.SC_BAD_REQUEST); +AsyncContext ac = req.startAsync(); +ac.dispatch(); +} +} +} } 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=1560839&r1=1560838&r2=1560839&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webap
[Bug 56042] java.lang.IllegalStateException: Calling [asyncComplete()] is not valid for a request with Async state [MUST_DISPATCH]
https://issues.apache.org/bugzilla/show_bug.cgi?id=56042 --- Comment #2 from Mark Thomas --- Fixed in 8.0.x for 8.0.0 and 7.0.x for 7.0.51. -- 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 56042] java.lang.IllegalStateException: Calling [asyncComplete()] is not valid for a request with Async state [MUST_DISPATCH]
https://issues.apache.org/bugzilla/show_bug.cgi?id=56042 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Mark Thomas --- The problem was in the ErrorReportValve. It was taking over if the response had an error state and async had been started. As part of this it called complete(). The issue was that if dispatch had been called (e.g. to generate a custom error page in the app) the ErrorReportValve didn't let that happen. IN this case the ErrorReportValve no longer takes over so the dispatch() target can handle the error reporting. It will need to commit the response to stop the ErrorReportValve taking over after the dispatch. -- 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 56058] New: AccessLogValve Local IP/port inconsistent
https://issues.apache.org/bugzilla/show_bug.cgi?id=56058 Bug ID: 56058 Summary: AccessLogValve Local IP/port inconsistent Product: Tomcat 6 Version: unspecified Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: andil...@gmx.de Hi, i think the logging of %A - Local IP address %p - Local port on which this request was received is inconsisstent if an ajp-connector is used. %A logs the ip of the tomcat Server %p logs the port of the Apache webserver There should be a possibility to log: 1) the ip-address of the tomcat Server on which the request was recieved 2) the port of the tomcat Server on which the request was recieved 3) the ip-address of the webserver on which the request was recieved 4) the port of the webserver on which the request was recieved Even %h - Remote host name (or IP address if resolveHosts is false) (and %a) is not clear in case of an ajp-request. There should be a possibility to log 5) the remote host of the ajp-request (= webserver) 6) the remote host of the webserver-request (= browser) Use case: i want to log, who is connecting to my tomcat Server. In case of ajp i can only see the endusers ip (with %h). -- 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: r1560850 - in /tomcat/trunk: build.xml res/maven/tomcat-embed-el.pom res/maven/tomcat-embed-jasper.pom res/maven/tomcat-embed-websocket.pom
Author: markt Date: Thu Jan 23 23:26:44 2014 New Revision: 1560850 URL: http://svn.apache.org/r1560850 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56044 Separate out the EL and WebSocket implementations into separate JARs for embedded. Added: tomcat/trunk/res/maven/tomcat-embed-el.pom (with props) tomcat/trunk/res/maven/tomcat-embed-websocket.pom (with props) Modified: tomcat/trunk/build.xml tomcat/trunk/res/maven/tomcat-embed-jasper.pom Modified: tomcat/trunk/build.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/build.xml?rev=1560850&r1=1560849&r2=1560850&view=diff == --- tomcat/trunk/build.xml (original) +++ tomcat/trunk/build.xml Thu Jan 23 23:26:44 2014 @@ -139,10 +139,14 @@ + + + + @@ -415,10 +419,7 @@ - - - @@ -1179,11 +1189,18 @@ solution will be required. --> + filesId="files.tomcat-embed-core"/> + filesId="files.tomcat-embed-jasper" + meta-inf="${tomcat.manifests}/jasper.jar"/> + + @@ -1204,6 +1221,12 @@ + + Added: tomcat/trunk/res/maven/tomcat-embed-el.pom URL: http://svn.apache.org/viewvc/tomcat/trunk/res/maven/tomcat-embed-el.pom?rev=1560850&view=auto == --- tomcat/trunk/res/maven/tomcat-embed-el.pom (added) +++ tomcat/trunk/res/maven/tomcat-embed-el.pom Thu Jan 23 23:26:44 2014 @@ -0,0 +1,32 @@ + + + + 4.0.0 + org.apache.tomcat.embed + tomcat-embed-el + @MAVEN.DEPLOY.VERSION@ + Core Tomcat implementation + http://tomcat.apache.org/ + + + Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + Propchange: tomcat/trunk/res/maven/tomcat-embed-el.pom -- svn:eol-style = native Modified: tomcat/trunk/res/maven/tomcat-embed-jasper.pom URL: http://svn.apache.org/viewvc/tomcat/trunk/res/maven/tomcat-embed-jasper.pom?rev=1560850&r1=1560849&r2=1560850&view=diff == --- tomcat/trunk/res/maven/tomcat-embed-jasper.pom (original) +++ tomcat/trunk/res/maven/tomcat-embed-jasper.pom Thu Jan 23 23:26:44 2014 @@ -37,6 +37,12 @@ compile + org.apache.tomcat.embed + tomcat-embed-el + @MAVEN.DEPLOY.VERSION@ + compile + + org.eclipse.jdt.core.compiler ecj 4.3.1 Added: tomcat/trunk/res/maven/tomcat-embed-websocket.pom URL: http://svn.apache.org/viewvc/tomcat/trunk/res/maven/tomcat-embed-websocket.pom?rev=1560850&view=auto == --- tomcat/trunk/res/maven/tomcat-embed-websocket.pom (added) +++ tomcat/trunk/res/maven/tomcat-embed-websocket.pom Thu Jan 23 23:26:44 2014 @@ -0,0 +1,40 @@ + + + + 4.0.0 + org.apache.tomcat.embed + tomcat-embed-websocket + @MAVEN.DEPLOY.VERSION@ + Core Tomcat implementation + http://tomcat.apache.org/ + + + Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + org.apache.tomcat.embed + tomcat-embed-core + @MAVEN.DEPLOY.VERSION@ + compile + + + Propchange: tomcat/trunk/res/maven/tomcat-embed-websocket.pom -- svn:eol-style = native - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560852 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: markt Date: Thu Jan 23 23:36:14 2014 New Revision: 1560852 URL: http://svn.apache.org/r1560852 Log: Vote Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1560852&r1=1560851&r2=1560852&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Jan 23 23:36:14 2014 @@ -40,7 +40,7 @@ PATCHES PROPOSED TO BACKPORT: when several JDKs are configured. Remove unused JUnit-related properties from Ant build files. https://people.apache.org/~kkolinko/patches/2014-01-24_tc6_junit4_eclipse.patch - +1: kkolinko + +1: kkolinko, markt -1: PATCHES/ISSUES THAT ARE STALLED: - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56044] Extract EL implementation from embedded Jasper into a separate JAR
https://issues.apache.org/bugzilla/show_bug.cgi?id=56044 --- Comment #1 from Mark Thomas --- I think I have fixed in this in 8.0.x. I have deployed a new 8.0.0 snapshot. If you could test that and confirm that the issue is fixed that would be great. -- 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
buildbot failure in ASF Buildbot on tomcat-trunk
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/5434 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1560810 Blamelist: markt BUILD FAILED: failed compile_1 sincerely, -The Buildbot
svn commit: r1560855 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: kkolinko Date: Thu Jan 23 23:46:56 2014 New Revision: 1560855 URL: http://svn.apache.org/r1560855 Log: proposal Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1560855&r1=1560854&r2=1560855&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Jan 23 23:46:56 2014 @@ -43,6 +43,14 @@ PATCHES PROPOSED TO BACKPORT: +1: kkolinko, markt -1: +* Remove a stale empty test class from tribes tests. + It does nothing, has no references. + JUnit complains about it with "junit.framework.AssertionFailedError: No tests found" + + svn rm test/org/apache/catalina/tribes/test/interceptors/TestTwoPhaseCommit.java + +1: kkolinko + -1: + PATCHES/ISSUES THAT ARE STALLED: None - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560856 - /tomcat/trunk/webapps/ROOT/index.jsp
Author: kkolinko Date: Fri Jan 24 00:23:47 2014 New Revision: 1560856 URL: http://svn.apache.org/r1560856 Log: Replace mailing lists links so that they point to the Mailng List page on the site, so that people have a chance to read instructions there Modified: tomcat/trunk/webapps/ROOT/index.jsp Modified: tomcat/trunk/webapps/ROOT/index.jsp URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/ROOT/index.jsp?rev=1560856&r1=1560855&r2=1560856&view=diff == --- tomcat/trunk/webapps/ROOT/index.jsp (original) +++ tomcat/trunk/webapps/ROOT/index.jsp Fri Jan 24 00:23:47 2014 @@ -141,16 +141,16 @@ request.setAttribute("tomcatExamplesUrl" FAQ and Mailing Lists The following mailing lists are available: -mailto:announce-subscr...@tomcat.apache.org";>annou...@tomcat.apache.org +tomcat-announce Important announcements, releases, security vulnerability notifications. (Low volume). -mailto:users-subscr...@tomcat.apache.org";>us...@tomcat.apache.org +tomcat-users User support and discussion -mailto:taglibs-user-subscr...@tomcat.apache.org";>taglibs-u...@tomcat.apache.org +taglibs-user User support and discussion for Apache Taglibs -mailto:dev-subscr...@tomcat.apache.org";>dev@tomcat.apache.org +tomcat-dev Development mailing list, including commit messages - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560857 - in /tomcat/tc7.0.x/trunk: ./ webapps/ROOT/index.jsp webapps/docs/changelog.xml
Author: kkolinko Date: Fri Jan 24 00:33:12 2014 New Revision: 1560857 URL: http://svn.apache.org/r1560857 Log: Merged r1560856 from tomcat/trunk: Replace mailing lists links so that they point to the Mailing List page on the site, so that people have a chance to read instructions there Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/webapps/ROOT/index.jsp tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1560856 Modified: tomcat/tc7.0.x/trunk/webapps/ROOT/index.jsp URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/ROOT/index.jsp?rev=1560857&r1=1560856&r2=1560857&view=diff == --- tomcat/tc7.0.x/trunk/webapps/ROOT/index.jsp (original) +++ tomcat/tc7.0.x/trunk/webapps/ROOT/index.jsp Fri Jan 24 00:33:12 2014 @@ -140,16 +140,16 @@ request.setAttribute("tomcat7ExamplesUrl FAQ and Mailing Lists The following mailing lists are available: -mailto:announce-subscr...@tomcat.apache.org";>annou...@tomcat.apache.org +tomcat-announce Important announcements, releases, security vulnerability notifications. (Low volume). -mailto:users-subscr...@tomcat.apache.org";>us...@tomcat.apache.org +tomcat-users User support and discussion -mailto:taglibs-user-subscr...@tomcat.apache.org";>taglibs-u...@tomcat.apache.org +taglibs-user User support and discussion for Apache Taglibs -mailto:dev-subscr...@tomcat.apache.org";>dev@tomcat.apache.org +tomcat-dev Development mailing list, including commit messages 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=1560857&r1=1560856&r2=1560857&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Fri Jan 24 00:33:12 2014 @@ -203,6 +203,10 @@ address available on the status page of the Manager web application. (markt) + +Correct links to the Tomcat mailing lists in the ROOT web application. +(kkolinko) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560858 - in /tomcat/tc7.0.x/trunk: ./ webapps/ROOT/index.jsp
Author: kkolinko Date: Fri Jan 24 00:47:01 2014 New Revision: 1560858 URL: http://svn.apache.org/r1560858 Log: Align EL variables names with trunk s/tomcat7/tomcat/ This is merge of r1520273 minus s/7/8/ change. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/webapps/ROOT/index.jsp Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1520273 Modified: tomcat/tc7.0.x/trunk/webapps/ROOT/index.jsp URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/ROOT/index.jsp?rev=1560858&r1=1560857&r2=1560858&view=diff == --- tomcat/tc7.0.x/trunk/webapps/ROOT/index.jsp (original) +++ tomcat/tc7.0.x/trunk/webapps/ROOT/index.jsp Fri Jan 24 00:47:01 2014 @@ -19,9 +19,9 @@ limitations under the License. <% java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(""); request.setAttribute("year", sdf.format(new java.util.Date())); -request.setAttribute("tomcat7Url", "http://tomcat.apache.org/";); -request.setAttribute("tomcat7DocUrl", "/docs/"); -request.setAttribute("tomcat7ExamplesUrl", "/examples/"); +request.setAttribute("tomcatUrl", "http://tomcat.apache.org/";); +request.setAttribute("tomcatDocUrl", "/docs/"); +request.setAttribute("tomcatExamplesUrl", "/examples/"); %> @@ -34,13 +34,13 @@ request.setAttribute("tomcat7ExamplesUrl -Home -Documentation -Configuration -Examples +Home +Documentation +Configuration +Examples http://wiki.apache.org/tomcat/FrontPage";>Wiki -Mailing Lists -Find Help +Mailing Lists +Find Help @@ -54,9 +54,9 @@ request.setAttribute("tomcat7ExamplesUrl Recommended Reading: -Security Considerations HOW-TO -Manager Application HOW-TO -Clustering/Session Replication HOW-TO +Security Considerations HOW-TO +Manager Application HOW-TO +Clustering/Session Replication HOW-TO @@ -79,19 +79,19 @@ request.setAttribute("tomcat7ExamplesUrl Developer Quick Start -Tomcat Setup -First Web Application +Tomcat Setup +First Web Application -Realms & AAA -JDBC DataSources +Realms & AAA +JDBC DataSources -Examples +Examples @@ -110,26 +110,26 @@ request.setAttribute("tomcat7ExamplesUrl Users are defined in: $CATALINA_HOME/conf/tomcat-users.xml In Tomcat 7.0 access to the manager application is split between - different users. Read more... + different users. Read more... -Release Notes -Changelog -Migration Guide -Security Notices +Release Notes +Changelog +Migration Guide +Security Notices Documentation -Tomcat 7.0 Documentation -Tomcat 7.0 Configuration +Tomcat 7.0 Documentation +Tomcat 7.0 Configuration http://wiki.apache.org/tomcat/FrontPage";>Tomcat Wiki Find additional important configuration information in: $CATALINA_HOME/RUNNING.txt Developers may be interested in: http://tomcat.apache.org/bugreport.html";>Tomcat 7.0 Bug Database -Tomcat 7.0 JavaDocs +Tomcat 7.0 JavaDocs http://svn.apache.org/repos/asf/tomcat/tc7.0.x/";>Tomcat 7.0 SVN Repository @@ -137,19 +137,19 @@ request.setAttrib
svn commit: r1560861 - in /tomcat/tc6.0.x/trunk/webapps/ROOT: index.html index.jsp
Author: kkolinko Date: Fri Jan 24 00:56:49 2014 New Revision: 1560861 URL: http://svn.apache.org/r1560861 Log: CTR: whitespaces (and duplicate nbsp whitespace) and comment removal, to align index.jsp and index.html pages. Modified: tomcat/tc6.0.x/trunk/webapps/ROOT/index.html tomcat/tc6.0.x/trunk/webapps/ROOT/index.jsp Modified: tomcat/tc6.0.x/trunk/webapps/ROOT/index.html URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/ROOT/index.html?rev=1560861&r1=1560860&r2=1560861&view=diff == --- tomcat/tc6.0.x/trunk/webapps/ROOT/index.html (original) +++ tomcat/tc6.0.x/trunk/webapps/ROOT/index.html Fri Jan 24 00:56:49 2014 @@ -90,9 +90,9 @@ - http://tomcat.apache.org/";> - - +http://tomcat.apache.org/";> + + Apache Tomcat @@ -130,7 +130,7 @@ Release Notes Change Log -Tomcat Documentation +Tomcat Documentation Modified: tomcat/tc6.0.x/trunk/webapps/ROOT/index.jsp URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/ROOT/index.jsp?rev=1560861&r1=1560860&r2=1560861&view=diff == --- tomcat/tc6.0.x/trunk/webapps/ROOT/index.jsp (original) +++ tomcat/tc6.0.x/trunk/webapps/ROOT/index.jsp Fri Jan 24 00:56:49 2014 @@ -116,7 +116,6 @@ Status - Tomcat Manager @@ -132,7 +131,7 @@ Release Notes Change Log -Tomcat Documentation +Tomcat Documentation - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56056] Tomcat fail to redeploy application, when webapps is on NFS file system
https://issues.apache.org/bugzilla/show_bug.cgi?id=56056 --- Comment #2 from Yair Lenga --- Mark, Thank for your feedback. I do not believe that the suggested alternatives address the problem with NFS removals. The issue is not a tomcat problem problem, it is just the way Nfs works. The temporary .nfs files may be a result of bad third party code, background file scanning jobs, or just a user that does a 'chdir' and forgot to leave. Triggering the problem does not even require read write access to tomcat. While tomcat is not the source of the problem, it can help solve the it. I will appreciate if you will take a second look. Solving this problem will provide significant improvement to many deployment situation. I will be happy to help with additional information. Yair -- 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: r1560865 - in /tomcat/tc6.0.x/trunk/webapps/ROOT: index.html index.jsp
Author: kkolinko Date: Fri Jan 24 01:05:58 2014 New Revision: 1560865 URL: http://svn.apache.org/r1560865 Log: CTR: tabs -> spaces Modified: tomcat/tc6.0.x/trunk/webapps/ROOT/index.html tomcat/tc6.0.x/trunk/webapps/ROOT/index.jsp Modified: tomcat/tc6.0.x/trunk/webapps/ROOT/index.html URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/ROOT/index.html?rev=1560865&r1=1560864&r2=1560865&view=diff == --- tomcat/tc6.0.x/trunk/webapps/ROOT/index.html (original) +++ tomcat/tc6.0.x/trunk/webapps/ROOT/index.html Fri Jan 24 01:05:58 2014 @@ -25,14 +25,14 @@ body { color: #00; background-color: #FF; - font-family: Arial, "Times New Roman", Times, serif; + font-family: Arial, "Times New Roman", Times, serif; margin: 10px 0px; } img { border: none; } - + a:link, a:visited { color: blue } @@ -48,9 +48,9 @@ td { color: #00; - font-family: Arial, Helvetica, sans-serif; +font-family: Arial, Helvetica, sans-serif; } - + td.menu { background: #FFDC75; } @@ -65,7 +65,7 @@ font-size: 110%; margin-left: 2.5em; } - + #banner { margin-bottom: 12px; } @@ -97,8 +97,8 @@ Apache Tomcat http://www.apache.org/";> - - + + @@ -110,21 +110,20 @@ - Administration + Administration - - Status + +Status Tomcat Manager - - + - Documentation + Documentation @@ -132,10 +131,9 @@ Change Log Tomcat Documentation - + - @@ -144,20 +142,19 @@ http://tomcat.apache.org/";>Home Page - http://tomcat.apache.org/faq/";>FAQ +http://tomcat.apache.org/faq/";>FAQ http://tomcat.apache.org/bugreport.html";>Bug Database http://mail-archives.apache.org/mod_mbox/tomcat-users/";>Users Mailing List http://mail-archives.apache.org/mod_mbox/tomcat-dev/";>Developers Mailing List IRC - + - - Miscellaneous + Miscellaneous @@ -165,21 +162,21 @@ JSP Examples http://java.sun.com/products/jsp";>Sun's Java Server Pages Site http://java.sun.com/products/servlet";>Sun's Servlet Site - + - + If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations! - + As you may have guessed by now, this is the default Tomcat home page. It can be found on the local filesystem at: $CATALINA_HOME/webapps/ROOT/index.html - + where "$CATALINA_HOME" is the root of the Tomcat installation directory. If you're seeing this page, and you don't think you should be, then you're either a user who has arrived at new installation of Tomcat, or you're an administrator who hasn't got his/her setup quite right. Providing the latter is the case, please refer to the Tomcat Documentation for more detailed setup and administration information than is found in the INSTALL file. NOTE: For security reasons, using the manager webapp @@ -198,9 +195,9 @@ Thanks for using Tomcat! - + - Copyright © 1999-@YEAR@ Apache Software Foundation +Copyright © 1999-@YEAR@ Apache Software Foundation All Rights Reserved Modified: tomcat/tc6.0.x/trunk/webapps/ROOT/index.jsp URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/ROOT/index.jsp?rev=1560865&r1=1560864&r2=1560865&view=diff == --- tomcat/tc6.0.x/trunk/webapps/ROOT/index.jsp (original) +++ tomcat/tc6.0.x/trunk/webapps/ROOT/index.jsp Fri Jan 2
[Bug 56056] Tomcat fail to redeploy application, when webapps is on NFS file system
https://issues.apache.org/bugzilla/show_bug.cgi?id=56056 --- Comment #3 from Konstantin Kolinko --- (In reply to Yair Lenga from comment #0) > This is usually result of some > process the file open (can be a thread in the application, leaked resources, > or a user on any machine that can view/inspect files/folders in the unpack > tree. > In all the above cases waiting for 3 seconds (or for any reasonable longer time) is futile, as that would not be enough for an user to close the file or for a resource leak to disappear. > sleep 3 seconds, then try again It is not that simple. A retry must be performed at the top-most possible level, at caller's discretion and consent. Automatic retries are evil when they sum up. -- 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
buildbot success in ASF Buildbot on tomcat-trunk
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/5435 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1560850 Blamelist: markt,remm Build succeeded! sincerely, -The Buildbot
svn commit: r1560878 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: kkolinko Date: Fri Jan 24 01:42:04 2014 New Revision: 1560878 URL: http://svn.apache.org/r1560878 Log: proposal Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1560878&r1=1560877&r2=1560878&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Jan 24 01:42:04 2014 @@ -51,6 +51,24 @@ PATCHES PROPOSED TO BACKPORT: +1: kkolinko -1: +* Align ROOT/index.html and ROOT/index.jsp + It is backport of r1560857 and followup to r648575 that + fixed one of the two files. + + The following fixes were part of r648575: + - Fix broken links if ROOT application is renamed. + - Merge "Examples" section of menu into "Miscellaneous" one. + + The following fixes are new: + - Remove dead links to Sun sites. + - Add link to the Specifications page of Tomcat Wiki. + - Correct mailing lists links so that they point to the Mailing List + page on the site, so that people have a chance to read instructions there. + + https://people.apache.org/~kkolinko/patches/2014-01-24_tc6_ROOT_index.patch + +1: kkolinko + -1: + PATCHES/ISSUES THAT ARE STALLED: None - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
About Cobertura error on parsing ServiceProxy.java
Hi! If you run tests with Cobertura 2.0.3 being enabled, it prints a warning that it cannot parse the source code of ServiceProxy class: It can be seen in Buildbot logs. [cobertura-report] WARN getAccumlatedCCNForSource, JavaNCSS got an error while parsing the java file /home/buildslave3/slave3/tomcat-trunk/build/java/org/apache/naming/factory/webservices/ServiceProxy.java [cobertura-report] ParseException in STDIN [cobertura-report] Last useful checkpoint: "org.apache.naming.factory.webservices.ServiceProxy.getProxyPortQNameClass(Object[])" [cobertura-report] Encountered " "@" "@ "" at line 106, column 14. [cobertura-report] Was expecting one of: [cobertura-report] "assert" ... [cobertura-report] "boolean" ... ... The same issue has already been reported: https://github.com/cobertura/cobertura/issues/109 This is triggered by the following code in Tomcat: for (@SuppressWarnings("unchecked") Iterator ports = service.getPorts(); ports.hasNext();) { QName portName = ports.next(); String portnameString = portName.getLocalPart(); if (portnameString.equals(nameString)) { return service.getPort(name, serviceendpointClass); } } If it bothers anyone, it is easy to move the "ports" variable out of the loop, or move annotation to the method level. I think there is no urge in fixing this and we can wait for a next release of Cobertura. 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: r1560893 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: kkolinko Date: Fri Jan 24 02:45:17 2014 New Revision: 1560893 URL: http://svn.apache.org/r1560893 Log: proposal Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1560893&r1=1560892&r2=1560893&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Jan 24 02:45:17 2014 @@ -69,6 +69,12 @@ PATCHES PROPOSED TO BACKPORT: +1: kkolinko -1: +* Remove second copy of RUNNING.txt from the full-docs distribution. + (Backport of r981845) + https://people.apache.org/~kkolinko/patches/2014-01-24_tc6_fulldocs_RUNNING.patch + +1: kkolinko + -1: + PATCHES/ISSUES THAT ARE STALLED: None - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560895 - /tomcat/tc6.0.x/trunk/java/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java
Author: kkolinko Date: Fri Jan 24 03:23:06 2014 New Revision: 1560895 URL: http://svn.apache.org/r1560895 Log: CTR: javadoc fix Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java?rev=1560895&r1=1560894&r2=1560895&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java Fri Jan 24 03:23:06 2014 @@ -94,7 +94,7 @@ public class JMXAccessorCreateTask exten } /** - * @param classLoader The classLoader to set. + * @param classLoaderName The classLoader to set. */ public void setClassLoader(String classLoaderName) { this.classLoader = classLoaderName; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1560896 - /tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java
Author: kkolinko Date: Fri Jan 24 03:25:48 2014 New Revision: 1560896 URL: http://svn.apache.org/r1560896 Log: CTR: javadoc fixes Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=1560896&r1=1560895&r2=1560896&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Fri Jan 24 03:25:48 2014 @@ -311,7 +311,7 @@ public class FormAuthenticator * @param configLogin configuration describing how authentication * should be performed * @throws IOException If the forward to the login page fails and the call - * to {@link HttpServletResponse#sendError(int, String) + * to {@link HttpServletResponse#sendError(int, String)} * throws an {@link IOException} */ protected void forwardToLoginPage(Request request, Response response, @@ -363,7 +363,7 @@ public class FormAuthenticator * @param configLogin configuration describing how authentication * should be performed * @throws IOException If the forward to the error page fails and the call - * to {@link HttpServletResponse#sendError(int, String) + * to {@link HttpServletResponse#sendError(int, String)} * throws an {@link IOException} */ protected void forwardToErrorPage(Request request, Response response, - 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
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/5436 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1560856 Blamelist: kkolinko BUILD FAILED: failed compile_1 sincerely, -The Buildbot
svn commit: r1560897 - in /tomcat/tc6.0.x/trunk/java/org/apache: catalina/connector/ catalina/core/ catalina/realm/ catalina/startup/ catalina/tribes/ catalina/users/ tomcat/jni/
Author: kkolinko Date: Fri Jan 24 03:55:17 2014 New Revision: 1560897 URL: http://svn.apache.org/r1560897 Log: CTR: javadoc fixes Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/CombinedRealm.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/LockOutRealm.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/Embedded.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/ChannelListener.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java tomcat/tc6.0.x/trunk/java/org/apache/tomcat/jni/SSL.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java?rev=1560897&r1=1560896&r2=1560897&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java Fri Jan 24 03:55:17 2014 @@ -979,12 +979,12 @@ public class Request * not be included although they are accessible via * {@link #getAttribute(String)}. The Tomcat internal attributes include: * - * {@link Globals.DISPATCHER_TYPE_ATTR} - * {@link Globals.DISPATCHER_REQUEST_PATH_ATTR} - * {@link Globals.CERTIFICATES_ATTR} (SSL connections only) - * {@link Globals.CIPHER_SUITE_ATTR} (SSL connections only) - * {@link Globals.KEY_SIZE_ATTR} (SSL connections only) - * {@link Globals.SSL_SESSION_ID_ATTR} (SSL connections only) + * {@link Globals#DISPATCHER_TYPE_ATTR} + * {@link Globals#DISPATCHER_REQUEST_PATH_ATTR} + * {@link Globals#CERTIFICATES_ATTR} (SSL connections only) + * {@link Globals#CIPHER_SUITE_ATTR} (SSL connections only) + * {@link Globals#KEY_SIZE_ATTR} (SSL connections only) + * {@link Globals#SSL_SESSION_ID_ATTR} (SSL connections only) * {@link Globals#PARAMETER_PARSE_FAILED_ATTR} * * The underlying connector may also expose request attributes. These all @@ -2346,7 +2346,7 @@ public class Request /** * Get the event associated with the request. - * @return + * @return the event */ public CometEventImpl getEvent() { if (event == null) { Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1560897&r1=1560896&r2=1560897&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java Fri Jan 24 03:55:17 2014 @@ -2265,9 +2265,9 @@ public class StandardContext /** - * Set the clearReferencesStopThreads feature for this Context. + * Set the clearReferencesThreadLocals feature for this Context. * - * @param clearReferencesStopThreads The new flag value + * @param clearReferencesThreadLocals The new flag value */ public void setClearReferencesThreadLocals( boolean clearReferencesThreadLocals) { Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/CombinedRealm.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/CombinedRealm.java?rev=1560897&r1=1560896&r2=1560897&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/CombinedRealm.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/CombinedRealm.java Fri Jan 24 03:55:17 2014 @@ -127,7 +127,7 @@ public class CombinedRealm extends Realm * @param clientDigest Digest which has been submitted by the client * @param nOnce Unique (or supposedly unique) token which has been used * for this request - * @param realm Realm name + * @param realmName Realm name * @param md5a2 Second MD5 digest used to calculate the digest : * MD5(Method + ":" + uri) */ Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/LockOutRealm.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/LockOutRealm.java?rev=1560897&r1=1560896&r2=1560897&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/LockOutRealm.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/LockOutRealm.java Fri Jan 24 03:55:17 2014 @@ -148,7 +148,7 @@ public class LockOutRealm extends Combin * @param clientDigest Digest which has been submitted by the client * @param nOn
svn commit: r1560898 - in /tomcat/tc6.0.x/trunk/java/org/apache/catalina: ha/session/DeltaRequest.java ha/tcp/ReplicationValve.java mbeans/JmxRemoteLifecycleListener.java realm/JNDIRealm.java
Author: kkolinko Date: Fri Jan 24 04:13:02 2014 New Revision: 1560898 URL: http://svn.apache.org/r1560898 Log: CTR: javadoc fixes Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java?rev=1560898&r1=1560897&r2=1560898&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java Fri Jan 24 04:13:02 2014 @@ -292,7 +292,6 @@ public class DeltaRequest implements Ext * serialize DeltaRequest * @see DeltaRequest#writeExternal(java.io.ObjectOutput) * - * @param deltaRequest * @return serialized delta request * @throws IOException */ Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java?rev=1560898&r1=1560897&r2=1560898&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java Fri Jan 24 04:13:02 2014 @@ -526,7 +526,7 @@ public class ReplicationValve /** * Send message delta message from request session -* @param request current request +* @param session current session * @param manager session manager * @param cluster replication cluster */ Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java?rev=1560898&r1=1560897&r2=1560898&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java Fri Jan 24 04:13:02 2014 @@ -78,7 +78,7 @@ public class JmxRemoteLifecycleListener /** * Get the port on which the Platform RMI server is exported. This is the * port that is normally chosen by the RMI stack. - * @returns The port number + * @return The port number */ public int getRmiServerPortPlatform() { return rmiServerPortPlatform; @@ -95,7 +95,7 @@ public class JmxRemoteLifecycleListener /** * Get the port on which the Platform RMI registry is exported. - * @returns The port number + * @return The port number */ public int getRmiRegistryPortPlatform() { return rmiRegistryPortPlatform; @@ -113,7 +113,7 @@ public class JmxRemoteLifecycleListener * Get the flag that indicates that local ports should be used for all * connections. If using SSH tunnels, or similar, this should be set to * true to ensure the RMI client uses the tunnel. - * @returns true if local ports should be used + * @return true if local ports should be used */ public boolean getUseLocalPorts() { return useLocalPorts; Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java?rev=1560898&r1=1560897&r2=1560898&view=diff == --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java Fri Jan 24 04:13:02 2014 @@ -1139,7 +1139,7 @@ public class JNDIRealm extends RealmBase * * @exception NamingException if a directory server error occurs * - * @see #getUser(DirContext, String, int) + * @see #getUser(DirContext, String, String, int) */ protected User getUser(DirContext context, String username, String credentials) throws NamingException { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56050] NPE in WebappClassLoader.clearReferencesJdbc on shutdown
https://issues.apache.org/bugzilla/show_bug.cgi?id=56050 Alex Panchenko changed: What|Removed |Added Status|NEEDINFO|RESOLVED Resolution|--- |INVALID --- Comment #4 from Alex Panchenko --- Let's close it for now. It had happened a few times in the beginning of the week on all our servers, but was not happening since then. Sorry for the false alert. -- 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 56056] Tomcat fail to redeploy application, when webapps is on NFS file system
https://issues.apache.org/bugzilla/show_bug.cgi?id=56056 --- Comment #4 from Mark Thomas --- I'll happily re-open this if you explain how parallel deployment doesn't solve this problem. If you use parallel deployment: - you can deploy a new version before deleting the old one - new users will be directed to the new version - current users will be directed to the old version until you undeploy it after which they will be directed to the new one - if deleting the old one fails users continue to be directed to the new one - you can repeat the attempt to undeploy the old one as many times as you like and whenever you like - the old version will remain listed (in a failed state) in the Manager app so any tools that work via the Manager app will continue to be able to see it and attempt to delete it -- 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