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

2012-09-28 Thread Gump
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at gene...@gump.apache.org.

Project tomcat-taglibs-standard has an issue affecting its community 
integration.
This issue affects 2 projects,
 and has been outstanding for 101 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: 29 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: r1391362 - in /tomcat/sandbox/trunk-resources: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/webresources/ test/org/apache/catalina/webresources/

2012-09-28 Thread markt
Author: markt
Date: Fri Sep 28 08:40:38 2012
New Revision: 1391362

URL: http://svn.apache.org/viewvc?rev=1391362&view=rev
Log:
Further work on the caching implementation
- If a CachedResource fails validation, remove it from the cache and replace it 
rather than update it as this makes it much easier to track the current cache 
size.
- Track the current cache size
- Add configuration for the maximum cache size
- Start implementing (not finished) the background expiration

Modified:
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/CachedResource.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java

tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java?rev=1391362&r1=1391361&r2=1391362&view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java 
Fri Sep 28 08:40:38 2012
@@ -255,6 +255,9 @@ public interface WebResourceRoot extends
  */
 long getCacheTtl();
 
+void setCacheMaxSize(long cacheMaxSize);
+long getCacheMaxSize();
+
 /**
  * This method will be invoked by the context on a periodic basis and 
allows
  * the implementation a method that executes periodic tasks, such as 
purging

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java?rev=1391362&r1=1391361&r2=1391362&view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
 Fri Sep 28 08:40:38 2012
@@ -4773,13 +4773,13 @@ public class StandardContext extends Con
 
 resources.setAllowLinking(isAllowLinking());
 
-resources.setCacheTtl(getCacheTTL());
 resources.setCachingAllowed(isCachingAllowed());
+resources.setCacheTtl(getCacheTTL());
+resources.setCacheMaxSize(getCacheMaxSize());
 
 resources.start();
 
 // TODO: Implement caching.
-// getCacheMaxSize()
 // getCacheMaxObjectSize()
 
 if (effectiveMajorVersion >=3 && addWebinfClassesResources) {

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java?rev=1391362&r1=1391361&r2=1391362&view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
Fri Sep 28 08:40:38 2012
@@ -18,14 +18,23 @@ package org.apache.catalina.webresources
 
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.catalina.WebResource;
 
 public class Cache {
 
+// Estimate (on high side to be safe) of average size excluding content
+// based on profiler data.
+private static final long CACHE_ENTRY_SIZE = 500;
+
+private static final long TARGET_FREE_PERCENT = 5;
+
 private final StandardRoot root;
+private final AtomicLong size = new AtomicLong(0);
 
 private long ttl = 5000;
+private long maxSize = 10 * 1024 * 1024;
 
 private ConcurrentMap resourceCache =
 new ConcurrentHashMap<>();
@@ -35,25 +44,61 @@ public class Cache {
 }
 
 protected WebResource getResource(String path) {
-// Multiple concurrent callers will end up with the same CachedResource
-// instance
-CachedResource newCacheEntry = new CachedResource(root, path, ttl);
-CachedResource result =
-resourceCache.putIfAbsent(path, newCacheEntry);
+CachedResource cacheEntry = resourceCache.get(path);
 
-if (result == null) {
-result = newCacheEntry;
+if (cacheEntry != null && !cacheEntry.validate()) {
+removeCacheEntry(path);
+cacheEntry = null;
 }
 
-// TODO check cache size and do minimum necessary to mak