[GUMP@vmgump]: Project tomcat-taglibs-standard (in module tomcat-taglibs) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-taglibs-standard has an issue affecting its community integration. This issue affects 2 projects, and has been outstanding for 89 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-taglibs-standard : Standard Taglib - tomcat-taglibs-standard-install : JSP Taglibs Full details are available at: http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -INFO- Optional dependency httpunit failed with reason build failed -DEBUG- (Apache Gump generated) Apache Maven Settings in: /srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml -INFO- Failed with reason build failed -DEBUG- Maven POM in: /srv/gump/public/workspace/tomcat-taglibs/standard/pom.xml -INFO- Failed to extract fallback artifacts from Gump Repository The following work was performed: http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/gump_work/build_tomcat-taglibs_tomcat-taglibs-standard.html Work Name: build_tomcat-taglibs_tomcat-taglibs-standard (Type: Build) Work ended in a state of : Failed Elapsed: 20 secs Command Line: /opt/maven2/bin/mvn --batch-mode -DskipTests=true --settings /srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml install [Working Directory: /srv/gump/public/workspace/tomcat-taglibs/standard] M2_HOME: /opt/maven2 - [INFO] [compiler:compile {execution: default-compile}] [INFO] Nothing to compile - all classes are up to date [debug] execute contextualize [INFO] [resources:testResources {execution: default-testResources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /srv/gump/public/workspace/tomcat-taglibs/standard/spec/src/test/resources [INFO] Copying 3 resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] No sources to compile [INFO] [surefire:test {execution: default-test}] [INFO] Tests are skipped. [INFO] [bundle:bundle {execution: default-bundle}] [INFO] [install:install {execution: default-install}] [INFO] Installing /srv/gump/public/workspace/tomcat-taglibs/standard/spec/target/taglibs-standard-spec-1.2-SNAPSHOT.jar to /srv/gump/public/workspace/mvnlocalrepo/shared/org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar [INFO] [bundle:install {execution: default-install}] [INFO] Parsing file:/srv/gump/public/workspace/mvnlocalrepo/shared/repository.xml [INFO] Installing org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar [INFO] Writing OBR metadata [INFO] [INFO] Building JSTL Implementation [INFO]task-segment: [install] [INFO] [INFO] [remote-resources:process {execution: default}] [INFO] snapshot org.apache.taglibs:taglibs-standard-spec:1.2-SNAPSHOT: checking for updates from apache.snapshots [debug] execute contextualize [INFO] [resources:resources {execution: default-resources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 14 resources [INFO] Copying 3 resources [INFO] [compiler:compile {execution: default-compile}] [INFO] Compiling 96 source files to /srv/gump/public/workspace/tomcat-taglibs/standard/impl/target/classes [INFO] - [ERROR] COMPILATION ERROR : [INFO] - [ERROR] /srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7] error: DataSourceWrapper is not abstract and does not override abstract method getParentLogger() in CommonDataSource [INFO] 1 error [INFO] - [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure /srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7] error: DataSourceWrapper is not abstract and does not override abstract method getParentLogger() in CommonDataSource [INFO] [INFO] For more information, run Maven with the -e switch [INFO] ---
svn commit: r1388880 - /tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java
Author: markt Date: Sat Sep 22 19:54:15 2012 New Revision: 130 URL: http://svn.apache.org/viewvc?rev=130&view=rev Log: Minor performance tweak 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=130&r1=1388879&r2=130&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java Sat Sep 22 19:54:15 2012 @@ -60,6 +60,12 @@ final class StandardHostValve extends Va private static final Log log = LogFactory.getLog(StandardHostValve.class); +// Saves a call to getClassLoader() on very request. Under high load these +// calls took just long enough to appear as a hot spot (although a very +// minor one) in a profiler. +private static final ClassLoader MY_CLASSLOADER = +StandardHostValve.class.getClassLoader(); + protected static final boolean STRICT_SERVLET_COMPLIANCE; protected static final boolean ACCESS_SESSION; @@ -184,12 +190,10 @@ final class StandardHostValve extends Va // Restore the context classloader if (Globals.IS_SECURITY_ENABLED) { -PrivilegedAction pa = new PrivilegedSetTccl( -StandardHostValve.class.getClassLoader()); +PrivilegedAction pa = new PrivilegedSetTccl(MY_CLASSLOADER); AccessController.doPrivileged(pa); } else { -Thread.currentThread().setContextClassLoader -(StandardHostValve.class.getClassLoader()); +Thread.currentThread().setContextClassLoader(MY_CLASSLOADER); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1388890 - /tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java
Author: markt Date: Sat Sep 22 20:03:25 2012 New Revision: 1388890 URL: http://svn.apache.org/viewvc?rev=1388890&view=rev Log: Reduce GC when NIO connector is under load. Results in a small performance improvement. KeyReferences and finalizer references were accounting for 30%+ of the heap during my load tests before this patch. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java?rev=1388890&r1=139&r2=1388890&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java Sat Sep 22 20:03:25 2012 @@ -26,6 +26,7 @@ import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.SocketChannel; import java.util.Iterator; +import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -42,6 +43,9 @@ public class NioBlockingSelector { private static int threadCounter = 0; +private Queue keyReferenceQueue = +new ConcurrentLinkedQueue<>(); + protected Selector sharedSelector; protected BlockPoller poller; @@ -82,7 +86,10 @@ public class NioBlockingSelector { throws IOException { SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector()); if ( key == null ) throw new IOException("Key no longer registered"); -KeyReference reference = new KeyReference(); +KeyReference reference = keyReferenceQueue.poll(); +if (reference == null) { +reference = new KeyReference(); +} KeyAttachment att = (KeyAttachment) key.attachment(); int written = 0; boolean timedout = false; @@ -131,6 +138,7 @@ public class NioBlockingSelector { poller.cancelKey(reference.key); } reference.key = null; +keyReferenceQueue.add(reference); } return written; } @@ -150,7 +158,10 @@ public class NioBlockingSelector { public int read(ByteBuffer buf, NioChannel socket, long readTimeout) throws IOException { SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector()); if ( key == null ) throw new IOException("Key no longer registered"); -KeyReference reference = new KeyReference(); +KeyReference reference = keyReferenceQueue.poll(); +if (reference == null) { +reference = new KeyReference(); +} KeyAttachment att = (KeyAttachment) key.attachment(); int read = 0; boolean timedout = false; @@ -195,6 +206,7 @@ public class NioBlockingSelector { poller.cancelKey(reference.key); } reference.key = null; +keyReferenceQueue.add(reference); } return read; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1388913 - /tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
Author: markt Date: Sat Sep 22 22:28:32 2012 New Revision: 1388913 URL: http://svn.apache.org/viewvc?rev=1388913&view=rev Log: Remove unnecessary wrap with ByteBuffer. Contributes ~4% of the garbage generated with a simple ab load test. Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java?rev=1388913&r1=1388912&r2=1388913&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java Sat Sep 22 22:28:32 2012 @@ -375,9 +375,7 @@ public class InternalNioOutputBuffer ext private int transfer(byte[] from, int offset, int length, ByteBuffer to) { int max = Math.min(length, to.remaining()); -ByteBuffer tmp = ByteBuffer.wrap(from, offset, max); -tmp.limit (tmp.position() + max); -to.put (tmp); +to.put(from, offset, max); return max; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org