svn commit: r1581778 - in /tomcat/trunk/java/org/apache: coyote/ajp/AjpNio2Processor.java coyote/http11/Http11Nio2Processor.java tomcat/util/net/Nio2Channel.java tomcat/util/net/Nio2Endpoint.java tomc

2014-03-26 Thread remm
Author: remm
Date: Wed Mar 26 10:11:06 2014
New Revision: 1581778

URL: http://svn.apache.org/r1581778
Log:
- Remove useless IOE on flush.
- Remove nearly all extra fields from the socket wrapper.

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Processor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java
tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Channel.java
tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Processor.java?rev=1581778r1=1581777r2=1581778view=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Processor.java Wed Mar 26 
10:11:06 2014
@@ -95,17 +95,8 @@ public class AjpNio2Processor extends Ab
 
 @Override
 protected void registerForEvent(boolean read, boolean write) {
-final Nio2Endpoint.Nio2SocketWrapper attach =
-(Nio2Endpoint.Nio2SocketWrapper) socketWrapper;
-if (attach == null) {
-return;
-}
-if (read) {
-attach.interestOps(attach.interestOps() | Nio2Endpoint.OP_READ);
-}
-if (write) {
-attach.interestOps(attach.interestOps() | Nio2Endpoint.OP_WRITE);
-}
+// Nothing to do here, the appropriate operations should
+// already be pending
 }
 
 @Override

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java?rev=1581778r1=1581777r2=1581778view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java Wed Mar 
26 10:11:06 2014
@@ -144,17 +144,8 @@ public class Http11Nio2Processor extends
 
 @Override
 protected void registerForEvent(boolean read, boolean write) {
-final Nio2Endpoint.Nio2SocketWrapper attach =
-(Nio2Endpoint.Nio2SocketWrapper) socketWrapper;
-if (attach == null) {
-return;
-}
-if (read) {
-attach.interestOps(attach.interestOps() | Nio2Endpoint.OP_READ);
-}
-if (write) {
-attach.interestOps(attach.interestOps() | Nio2Endpoint.OP_WRITE);
-}
+// Nothing to do here, the appropriate operations should
+// already be pending
 }
 
 

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Channel.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Channel.java?rev=1581778r1=1581777r2=1581778view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Channel.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Channel.java Wed Mar 26 
10:11:06 2014
@@ -212,9 +212,7 @@ public class Nio2Channel implements Asyn
 }
 };
 
-@SuppressWarnings(unused)
-public FutureBoolean flush()
-throws IOException {
+public FutureBoolean flush() {
 return DONE;
 }
 

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1581778r1=1581777r2=1581778view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Wed Mar 26 
10:11:06 2014
@@ -33,7 +33,6 @@ import java.nio.channels.ReadPendingExce
 import java.nio.file.StandardOpenOption;
 import java.util.Iterator;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Executor;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.RejectedExecutionException;
@@ -65,11 +64,6 @@ public class Nio2Endpoint extends Abstra
 private static final Log log = LogFactory.getLog(Nio2Endpoint.class);
 
 
-public static final int OP_REGISTER = 0x100; //register interest op
-public static final int OP_CALLBACK = 0x200; //callback interest op
-public static final int OP_READ = 0x400; //read interest op
-public static final int OP_WRITE = 0x800; //write interest op
-
 // - Fields
 
 /**
@@ -583,7 +577,6 @@ public class Nio2Endpoint extends Abstra
 
 protected boolean processSocket0(SocketWrapperNio2Channel 

svn commit: r1581785 - in /tomcat/site/trunk: docs/findhelp.html docs/presentations.html xdocs/findhelp.xml xdocs/presentations.xml

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 11:14:49 2014
New Revision: 1581785

URL: http://svn.apache.org/r1581785
Log:
Add a page for Tomcat presentations.

Added:
tomcat/site/trunk/docs/presentations.html   (with props)
tomcat/site/trunk/xdocs/presentations.xml   (with props)
Modified:
tomcat/site/trunk/docs/findhelp.html
tomcat/site/trunk/xdocs/findhelp.xml

Modified: tomcat/site/trunk/docs/findhelp.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/findhelp.html?rev=1581785r1=1581784r2=1581785view=diff
==
--- tomcat/site/trunk/docs/findhelp.html (original)
+++ tomcat/site/trunk/docs/findhelp.html Wed Mar 26 11:14:49 2014
@@ -252,6 +252,10 @@ is not a support forum. If you need help
 pThere is also an a href=irc.htmlIRC channel/a dedicated to Tomcat./p
 
 
+pA number of a href=presentations.htmlTomcat presentations/a are
+available from past Apache conferences and other sources./p
+
+
 pA list of organisations that provide support and training for Apache Tomcat
 is maintained on the
 a href=http://wiki.apache.org/tomcat/SupportAndTraining;Tomcat Wiki/a./p

Added: tomcat/site/trunk/docs/presentations.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/presentations.html?rev=1581785view=auto
==
--- tomcat/site/trunk/docs/presentations.html (added)
+++ tomcat/site/trunk/docs/presentations.html Wed Mar 26 11:14:49 2014
@@ -0,0 +1,324 @@
+!DOCTYPE html SYSTEM about:legacy-compat
+html lang=en
+head
+META http-equiv=Content-Type content=text/html; charset=UTF-8
+link href=stylesheets/tomcat.css rel=stylesheet type=text/css
+titleApache Tomcat - Presentations/title
+/head
+body
+div id=wrapper
+header
+div id=header
+div
+div
+div class=logo noPrint
+a href=http://tomcat.apache.org/;img alt=Tomcat Home 
src=./images/tomcat.png/a
+/div
+div style=height: 1px;/div
+div class=asfLogo noPrint
+a href=http://www.apache.org/; target=_blankimg 
src=//www.apache.org/images/feather.png alt=The Apache Software Foundation 
style=width: 266px; height: 83px;/a
+/div
+h1 style=margin-top: 35px;Apache Tomcat/h1
+div style=clear: right;/div
+div class=searchbox noPrint
+form action=https://www.google.com/search; method=get
+input value=tomcat.apache.org name=sitesearch type=hiddeninput 
placeholder=Search the Sitehellip; required=required size=25 name=q 
id=query type=searchbuttonSearch/button
+/form
+/div
+div style=height: 1px;/div
+div style=clear: left;/div
+/div
+/div
+/div
+/header
+div id=middle
+div
+div id=mainLeft class=noprint
+div
+nav
+div
+h2Apache Tomcat/h2
+ul
+li
+a href=./index.htmlHome/a
+/li
+li
+a href=./taglibs/Taglibs/a
+/li
+li
+a href=./maven-plugin.htmlMaven Plugin/a
+/li
+/ul
+/div
+div
+h2Download/h2
+ul
+li
+a href=./whichversion.htmlWhich version?/a
+/li
+li
+a href=./download-80.cgiTomcat 8.0/a
+/li
+li
+a href=./download-70.cgiTomcat 7.0/a
+/li
+li
+a href=./download-60.cgiTomcat 6.0/a
+/li
+li
+a href=./download-connectors.cgiTomcat Connectors/a
+/li
+li
+a href=./download-native.cgiTomcat Native/a
+/li
+li
+a href=http://archive.apache.org/dist/tomcat/;Archives/a
+/li
+/ul
+/div
+div
+h2Documentation/h2
+ul
+li
+a href=./tomcat-8.0-doc/index.htmlTomcat 8.0/a
+/li
+li
+a href=./tomcat-7.0-doc/index.htmlTomcat 7.0/a
+/li
+li
+a href=./tomcat-6.0-doc/index.htmlTomcat 6.0/a
+/li
+li
+a href=./connectors-doc/Tomcat Connectors/a
+/li
+li
+a href=./native-doc/Tomcat Native/a
+/li
+li
+a href=http://wiki.apache.org/tomcat/FrontPage;Wiki/a
+/li
+li
+a href=./migration.htmlMigration Guide/a
+/li
+/ul
+/div
+div
+h2Problems?/h2
+ul
+li
+a href=./security.htmlSecurity Reports/a
+/li
+li
+a href=./findhelp.htmlFind help/a
+/li
+li
+a href=http://wiki.apache.org/tomcat/FAQ;FAQ/a
+/li
+li
+a href=./lists.htmlMailing Lists/a
+/li
+li
+a href=./bugreport.htmlBug Database/a
+/li
+li
+a href=./irc.htmlIRC/a
+/li
+/ul
+/div
+div
+h2Get Involved/h2
+ul
+li
+a href=./getinvolved.htmlOverview/a
+/li
+li
+a href=./svn.htmlSVN Repositories/a
+/li
+li
+a href=./ci.htmlBuildbot/a
+/li
+li
+a href=https://reviews.apache.org/groups/tomcat/;Reviewboard/a
+/li
+li
+a href=./tools.htmlTools/a
+/li
+/ul
+/div
+div
+h2Media/h2
+ul
+li
+a href=http://blogs.apache.org/tomcat/;Blog/a
+/li
+li
+a href=http://twitter.com/theapachetomcat;Twitter/a
+/li
+/ul
+/div
+div
+h2Misc/h2
+ul
+li
+a href=./whoweare.htmlWho We Are/a
+/li
+li
+a href=./heritage.htmlHeritage/a
+/li
+li
+a href=http://www.apache.org;Apache Home/a
+/li
+li
+a href=./resources.htmlResources/a
+/li
+li
+a href=./contact.htmlContact/a
+/li
+li
+a href=./legal.htmlLegal/a
+/li
+li
+a href=http://www.apache.org/foundation/sponsorship.html;Sponsorship/a
+/li
+li
+a href=http://www.apache.org/foundation/thanks.html;Thanks/a
+/li
+/ul
+/div
+/nav
+/div
+/div
+div id=mainRight
+div id=content
+h2 style=display: none;Content/h2
+h3 id=PresentationsPresentations/h3
+div class=text
+
+
+pApache 

[ANN] ApacheCon NA 2013 Tomcat presentation videos available

2014-03-26 Thread Mark Thomas
All,

Most (all?) of the presentations from ApacheCon NA 2013 are now
available on YouTube. To help you to navigate to the Tomcat
presentations we have created this page:
http://tomcat.apache.org/presentations.html

As well as the videos, links to the slides for a number of other
presentations are also listed.

We'll add the ApacheCon 2014 links as soon as they are available.

If there are other Tomcat videos, audio recordings, slide-decks etc. you
think might be useful to add to that page, do speak up.

Mark

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



svn commit: r1581789 - in /tomcat/trunk: TOMCAT-NEXT.txt java/org/apache/catalina/session/FileStore.java

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 11:36:45 2014
New Revision: 1581789

URL: http://svn.apache.org/r1581789
Log:
More try-with-resources

Modified:
tomcat/trunk/TOMCAT-NEXT.txt
tomcat/trunk/java/org/apache/catalina/session/FileStore.java

Modified: tomcat/trunk/TOMCAT-NEXT.txt
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-NEXT.txt?rev=1581789r1=1581788r2=1581789view=diff
==
--- tomcat/trunk/TOMCAT-NEXT.txt (original)
+++ tomcat/trunk/TOMCAT-NEXT.txt Wed Mar 26 11:36:45 2014
@@ -214,7 +214,7 @@ but possibly 7.1.x).
 - Use of try with resources
   - Started.
 - javax.* complete
-- o.a.catalina.[ant to security] complete
+- o.a.catalina.[ant to servlets] complete
 - remainder TODO
 - Catching multiple exceptions
   - Started

Modified: tomcat/trunk/java/org/apache/catalina/session/FileStore.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/FileStore.java?rev=1581789r1=1581788r2=1581789view=diff
==
--- tomcat/trunk/java/org/apache/catalina/session/FileStore.java (original)
+++ tomcat/trunk/java/org/apache/catalina/session/FileStore.java Wed Mar 26 
11:36:45 2014
@@ -243,15 +243,12 @@ public final class FileStore extends Sto
  id, file.getAbsolutePath()));
 }
 
-FileInputStream fis = null;
-BufferedInputStream bis = null;
 ObjectInputStream ois = null;
 Loader loader = null;
 ClassLoader classLoader = null;
 ClassLoader oldThreadContextCL = 
Thread.currentThread().getContextClassLoader();
-try {
-fis = new FileInputStream(file.getAbsolutePath());
-bis = new BufferedInputStream(fis);
+try (FileInputStream fis = new FileInputStream(file.getAbsolutePath());
+BufferedInputStream bis = new BufferedInputStream(fis)) {
 Context context = manager.getContext();
 if (context != null)
 loader = context.getLoader();
@@ -273,22 +270,6 @@ public final class FileStore extends Sto
 if (manager.getContext().getLogger().isDebugEnabled())
 manager.getContext().getLogger().debug(No persisted data file 
found);
 return (null);
-} catch (IOException e) {
-if (bis != null) {
-try {
-bis.close();
-} catch (IOException f) {
-// Ignore
-}
-}
-if (fis != null) {
-try {
-fis.close();
-} catch (IOException f) {
-// Ignore
-}
-}
-throw e;
 } finally {
 if (ois != null) {
 // Close the input stream
@@ -348,28 +329,11 @@ public final class FileStore extends Sto
 
manager.getContext().getLogger().debug(sm.getString(getStoreName()+.saving,
  session.getIdInternal(), file.getAbsolutePath()));
 }
-FileOutputStream fos = null;
-ObjectOutputStream oos = null;
-try {
-fos = new FileOutputStream(file.getAbsolutePath());
-oos = new ObjectOutputStream(new BufferedOutputStream(fos));
-} catch (IOException e) {
-if (fos != null) {
-try {
-fos.close();
-} catch (IOException f) {
-// Ignore
-}
-}
-throw e;
-}
 
-try {
+try (FileOutputStream fos = new 
FileOutputStream(file.getAbsolutePath());
+ObjectOutputStream oos = new ObjectOutputStream(new 
BufferedOutputStream(fos))) {
 ((StandardSession)session).writeObjectData(oos);
-} finally {
-oos.close();
 }
-
 }
 
 



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



[Bug 56318] New: Oracle DB cursors are leaking when using org.apache.tomcat.jdbc.pool.DataSourceFactory

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56318

Bug ID: 56318
   Summary: Oracle DB cursors are leaking when using
org.apache.tomcat.jdbc.pool.DataSourceFactory
   Product: Tomcat 7
   Version: 7.0.50
  Hardware: PC
Status: NEW
  Severity: major
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: b...@mail.ru

I've setup a datasource as

Resource auth=Container

url=jdbc:oracle:thin:@dgalimov7:1521:DAN2
driverClassName=oracle.jdbc.OracleDriver 
factory=org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory
name=jdbc/IpbDB
username=dgalimov_home_new password=dgalimov_home_new
type=javax.sql.DataSource
timeBetweenEvictionRunsMillis=1
maxActive=25 maxIdle=3 minIdle=0
maxWait=3
testOnBorrow=true testOnReturn=true validationQuery=SELECT
1 FROM DUAL
 /

However, if I change factory from
org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory to
org.apache.tomcat.jdbc.pool.DataSourceFactory, after a while I'm getting errors
like ORA-01000: maximum open cursors exceeded (although I've set 1000 cursors
limit).

I'm using this query to  get the cursors count:
select max(a.value) as highest_open_cur, p.value as max_open_cur
  from v$sesstat a, v$statname b, v$parameter p
  where a.statistic# = b.statistic# 
  and b.name = 'opened cursors current'
  and p.name= 'open_cursors'
  group by p.value;

I've tried adding defaultAutoCommit=true when using DataSourceFactory, but it
didn't help.

-- 
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 56318] Oracle DB cursors are leaking when using org.apache.tomcat.jdbc.pool.DataSourceFactory

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56318

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

  Component|Catalina|jdbc-pool
Version|7.0.50  |unspecified
Product|Tomcat 7|Tomcat Modules
 OS||All

--- Comment #1 from Mark Thomas ma...@apache.org ---
Correct product

-- 
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: r1581820 - in /tomcat/trunk: ./ java/org/apache/catalina/session/

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 13:09:39 2014
New Revision: 1581820

URL: http://svn.apache.org/r1581820
Log:
More try-with-resources

Modified:
tomcat/trunk/TOMCAT-NEXT.txt
tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java
tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties
tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties
tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties
tomcat/trunk/java/org/apache/catalina/session/StandardManager.java

Modified: tomcat/trunk/TOMCAT-NEXT.txt
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-NEXT.txt?rev=1581820r1=1581819r2=1581820view=diff
==
--- tomcat/trunk/TOMCAT-NEXT.txt (original)
+++ tomcat/trunk/TOMCAT-NEXT.txt Wed Mar 26 13:09:39 2014
@@ -214,7 +214,7 @@ but possibly 7.1.x).
 - Use of try with resources
   - Started.
 - javax.* complete
-- o.a.catalina.[ant to servlets] complete
+- o.a.catalina.[ant to session] complete
 - remainder TODO
 - Catching multiple exceptions
   - Started

Modified: tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java?rev=1581820r1=1581819r2=1581820view=diff
==
--- tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java (original)
+++ tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java Wed Mar 26 
13:09:39 2014
@@ -468,7 +468,6 @@ public class JDBCStore extends StoreBase
  */
 @Override
 public String[] keys() throws IOException {
-ResultSet rst = null;
 String keys[] = null;
 synchronized (this) {
 int numberOfTries = 2;
@@ -487,16 +486,17 @@ public class JDBCStore extends StoreBase
 }
 
 preparedKeysSql.setString(1, getName());
-rst = preparedKeysSql.executeQuery();
-ArrayListString tmpkeys = new ArrayList();
-if (rst != null) {
-while (rst.next()) {
-tmpkeys.add(rst.getString(1));
+try (ResultSet rst = preparedKeysSql.executeQuery()) {
+ArrayListString tmpkeys = new ArrayList();
+if (rst != null) {
+while (rst.next()) {
+tmpkeys.add(rst.getString(1));
+}
 }
+keys = tmpkeys.toArray(new String[tmpkeys.size()]);
+// Break out after the finally block
+numberOfTries = 0;
 }
-keys = tmpkeys.toArray(new String[tmpkeys.size()]);
-// Break out after the finally block
-numberOfTries = 0;
 } catch (SQLException e) {
 
manager.getContext().getLogger().error(sm.getString(getStoreName() + 
.SQLException, e));
 keys = new String[0];
@@ -504,21 +504,12 @@ public class JDBCStore extends StoreBase
 if (dbConnection != null)
 close(dbConnection);
 } finally {
-try {
-if (rst != null) {
-rst.close();
-}
-} catch (SQLException e) {
-// Ignore
-}
-
 release(_conn);
 }
 numberOfTries--;
 }
 }
-
-return (keys);
+return keys;
 }
 
 /**
@@ -531,7 +522,6 @@ public class JDBCStore extends StoreBase
 @Override
 public int getSize() throws IOException {
 int size = 0;
-ResultSet rst = null;
 
 synchronized (this) {
 int numberOfTries = 2;
@@ -551,30 +541,24 @@ public class JDBCStore extends StoreBase
 }
 
 preparedSizeSql.setString(1, getName());
-rst = preparedSizeSql.executeQuery();
-if (rst.next()) {
-size = rst.getInt(1);
+try (ResultSet rst = preparedSizeSql.executeQuery()) {
+if (rst.next()) {
+size = rst.getInt(1);
+}
+// Break out after the finally block
+numberOfTries = 0;
 }
-// Break out after the finally block
-numberOfTries = 0;
 } catch (SQLException e) {
 

svn commit: r1581821 - /tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 13:11:34 2014
New Revision: 1581821

URL: http://svn.apache.org/r1581821
Log:
Fix Javadoc

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java?rev=1581821r1=1581820r2=1581821view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java Wed Mar 
26 13:11:34 2014
@@ -174,7 +174,6 @@ public class SecureNio2Channel extends N
  *
  * @return codetrue/code if the network buffer has been flushed out and
  * is empty else codefalse/code (as a future)
- * @throws IOException
  */
 @Override
 public FutureBoolean flush() {



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



Re: [ANN] ApacheCon NA 2013 Tomcat presentation videos available

2014-03-26 Thread Rémy Maucherat
2014-03-26 12:18 GMT+01:00 Mark Thomas ma...@apache.org:

 All,

 Most (all?) of the presentations from ApacheCon NA 2013 are now
 available on YouTube. To help you to navigate to the Tomcat
 presentations we have created this page:
 http://tomcat.apache.org/presentations.html

 Nice, I just went and read them.

In the most recent presentation, one quick comment on the problem areas of
Websockets on Servlets. Actually, I found after the EG discussion that
autoblocking works fine as a solution with no deadlock, if it is really an
internal autoblocking mechanism (like the semaphore use in NIO2). It is not
perfect though, the timeout is different.

Rémy


Re: [ANN] ApacheCon NA 2013 Tomcat presentation videos available

2014-03-26 Thread Mark Thomas
On 26/03/2014 13:22, Rémy Maucherat wrote:
 2014-03-26 12:18 GMT+01:00 Mark Thomas ma...@apache.org:
 
 All,

 Most (all?) of the presentations from ApacheCon NA 2013 are now
 available on YouTube. To help you to navigate to the Tomcat
 presentations we have created this page:
 http://tomcat.apache.org/presentations.html

 Nice, I just went and read them.
 
 In the most recent presentation, one quick comment on the problem areas of
 Websockets on Servlets. Actually, I found after the EG discussion that
 autoblocking works fine as a solution with no deadlock, if it is really an
 internal autoblocking mechanism (like the semaphore use in NIO2). It is not
 perfect though, the timeout is different.

Yes, it is a solvable problem as long as you drop the self-imposed
requirement to run on top of the Servlet API. Now the difficulties are
understood, I'm beginning to think about dropping that requirement and
using some of the Tomcat internals directly. The blocking/non-blocking
gets a whole lot easier very quickly if you do that.

Mark


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



Re: [ANN] ApacheCon NA 2013 Tomcat presentation videos available

2014-03-26 Thread Rémy Maucherat
2014-03-26 14:52 GMT+01:00 Mark Thomas ma...@apache.org:

 Yes, it is a solvable problem as long as you drop the self-imposed
 requirement to run on top of the Servlet API. Now the difficulties are
 understood, I'm beginning to think about dropping that requirement and
 using some of the Tomcat internals directly. The blocking/non-blocking
 gets a whole lot easier very quickly if you do that.

 Ok. I don't think it would make much difference in the container code
since the upgrade mode is light already and all it needs is to pass down a
block flag, but your websocket impl would be able to shed its simulated
blocking.

Rémy


Re: [ANN] ApacheCon NA 2013 Tomcat presentation videos available

2014-03-26 Thread Mark Thomas
On 26/03/2014 14:08, Rémy Maucherat wrote:
 2014-03-26 14:52 GMT+01:00 Mark Thomas ma...@apache.org:
 
 Yes, it is a solvable problem as long as you drop the self-imposed
 requirement to run on top of the Servlet API. Now the difficulties are
 understood, I'm beginning to think about dropping that requirement and
 using some of the Tomcat internals directly. The blocking/non-blocking
 gets a whole lot easier very quickly if you do that.

 Ok. I don't think it would make much difference in the container code
 since the upgrade mode is light already and all it needs is to pass down a
 block flag, but your websocket impl would be able to shed its simulated
 blocking.

I agree completely. I'm becoming less convinced that benefit of running
on any container is worth the price of the complexity that the simulated
blocking introduced.

Mark

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



svn commit: r1581864 - in /tomcat/trunk: ./ java/org/apache/catalina/startup/

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 14:33:44 2014
New Revision: 1581864

URL: http://svn.apache.org/r1581864
Log:
More try-with-resources

Modified:
tomcat/trunk/TOMCAT-NEXT.txt
tomcat/trunk/java/org/apache/catalina/startup/Catalina.java
tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
tomcat/trunk/java/org/apache/catalina/startup/ExpandWar.java
tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java

Modified: tomcat/trunk/TOMCAT-NEXT.txt
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-NEXT.txt?rev=1581864r1=1581863r2=1581864view=diff
==
--- tomcat/trunk/TOMCAT-NEXT.txt (original)
+++ tomcat/trunk/TOMCAT-NEXT.txt Wed Mar 26 14:33:44 2014
@@ -214,7 +214,7 @@ but possibly 7.1.x).
 - Use of try with resources
   - Started.
 - javax.* complete
-- o.a.catalina.[ant to session] complete
+- o.a.catalina.[ant to startup] complete
 - remainder TODO
 - Catching multiple exceptions
   - Started

Modified: tomcat/trunk/java/org/apache/catalina/startup/Catalina.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Catalina.java?rev=1581864r1=1581863r2=1581864view=diff
==
--- tomcat/trunk/java/org/apache/catalina/startup/Catalina.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Catalina.java Wed Mar 26 
14:33:44 2014
@@ -420,29 +420,19 @@ public class Catalina {
 }
 
 Server s = getServer();
-if( s == null ) {
+if (s == null) {
 // Create and execute our Digester
 Digester digester = createStopDigester();
 File file = configFile();
-FileInputStream fis = null;
-try {
+try (FileInputStream fis = new FileInputStream(file)) {
 InputSource is =
 new InputSource(file.toURI().toURL().toString());
-fis = new FileInputStream(file);
 is.setByteStream(fis);
 digester.push(this);
 digester.parse(is);
 } catch (Exception e) {
 log.error(Catalina.stop: , e);
 System.exit(1);
-} finally {
-if (fis != null) {
-try {
-fis.close();
-} catch (IOException e) {
-// Ignore
-}
-}
 }
 } else {
 // Server object already present. Must be running as a service
@@ -457,11 +447,8 @@ public class Catalina {
 // Stop the existing server
 s = getServer();
 if (s.getPort()0) {
-Socket socket = null;
-OutputStream stream = null;
-try {
-socket = new Socket(s.getAddress(), s.getPort());
-stream = socket.getOutputStream();
+try (Socket socket = new Socket(s.getAddress(), s.getPort());
+OutputStream stream = socket.getOutputStream()) {
 String shutdown = s.getShutdown();
 for (int i = 0; i  shutdown.length(); i++) {
 stream.write(shutdown.charAt(i));
@@ -476,21 +463,6 @@ public class Catalina {
 } catch (IOException e) {
 log.error(Catalina.stop: , e);
 System.exit(1);
-} finally {
-if (stream != null) {
-try {
-stream.close();
-} catch (IOException e) {
-// Ignore
-}
-}
-if (socket != null) {
-try {
-socket.close();
-} catch (IOException e) {
-// Ignore
-}
-}
 }
 } else {
 log.error(sm.getString(catalina.stopServer));
@@ -509,7 +481,6 @@ public class Catalina {
 initDirs();
 
 // Before digester - it may be needed
-
 initNaming();
 
 // Create and execute our Digester
@@ -544,7 +515,7 @@ public class Catalina {
 
 // This should be included in catalina.jar
 // Alternative: don't bother with xml, just create it manually.
-if( inputStream==null ) {
+if (inputStream == null) {
 try {
 inputStream = getClass().getClassLoader()
 .getResourceAsStream(server-embed.xml);
@@ -609,14 +580,12 @@ public class Catalina {
 } else {
 log.error(Catalina.start, e);
 }
-
 }
 
 long t2 = System.nanoTime();
 if(log.isInfoEnabled()) {
 log.info(Initialization processed in  + ((t2 

svn commit: r1581867 - in /tomcat/trunk: TOMCAT-NEXT.txt java/org/apache/catalina/storeconfig/StandardContextSF.java java/org/apache/catalina/storeconfig/StoreConfig.java

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 14:40:03 2014
New Revision: 1581867

URL: http://svn.apache.org/r1581867
Log:
More try-with-resources

Modified:
tomcat/trunk/TOMCAT-NEXT.txt
tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java
tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfig.java

Modified: tomcat/trunk/TOMCAT-NEXT.txt
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-NEXT.txt?rev=1581867r1=1581866r2=1581867view=diff
==
--- tomcat/trunk/TOMCAT-NEXT.txt (original)
+++ tomcat/trunk/TOMCAT-NEXT.txt Wed Mar 26 14:40:03 2014
@@ -214,7 +214,7 @@ but possibly 7.1.x).
 - Use of try with resources
   - Started.
 - javax.* complete
-- o.a.catalina.[ant to startup] complete
+- o.a.catalina.[ant to storeconfig] complete
 - remainder TODO
 - Catching multiple exceptions
   - Started

Modified: 
tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java?rev=1581867r1=1581866r2=1581867view=diff
==
--- tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java 
Wed Mar 26 14:40:03 2014
@@ -116,7 +116,6 @@ public class StandardContextSF extends S
 protected void storeContextSeparate(PrintWriter aWriter, int indent,
 StandardContext aContext) throws Exception {
 URL configFile = aContext.getConfigFile();
-PrintWriter writer = null;
 if (configFile != null) {
 File config = new File(configFile.toURI());
 if (!config.isAbsolute()) {
@@ -133,25 +132,11 @@ public class StandardContextSF extends S
 if (log.isInfoEnabled())
 log.info(Store Context  + aContext.getPath()
 +  separate at file  + config);
-try {
-writer = new PrintWriter(new OutputStreamWriter(
-new FileOutputStream(config), getRegistry()
-.getEncoding()));
+try (FileOutputStream fos = new FileOutputStream(config);
+PrintWriter writer = new PrintWriter(new 
OutputStreamWriter(
+fos , getRegistry().getEncoding( {
 storeXMLHead(writer);
 super.store(writer, -2, aContext);
-} finally {
-if (writer != null) {
-try {
-writer.flush();
-} catch (Exception e) {
-// Ignore
-}
-try {
-writer.close();
-} catch (Throwable t) {
-// Ignore
-}
-}
 }
 } else {
 super.store(aWriter, indent, aContext);
@@ -190,25 +175,9 @@ public class StandardContextSF extends S
 +  separate with backup (at file 
 + mover.getConfigSave() +  ));
 
-PrintWriter writer = null;
-try {
-writer = mover.getWriter();
+try (PrintWriter writer = mover.getWriter()) {
 storeXMLHead(writer);
 super.store(writer, -2, aContext);
-} finally {
-if (writer != null) {
-// Flush and close the output file
-try {
-writer.flush();
-} catch (Exception e) {
-log.error(e);
-}
-try {
-writer.close();
-} catch (Exception e) {
-throw (e);
-}
-}
 }
 mover.move();
 }

Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfig.java?rev=1581867r1=1581866r2=1581867view=diff
==
--- tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfig.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfig.java Wed Mar 
26 14:40:03 2014
@@ -230,24 +230,8 @@ public class StoreConfig implements ISto
 getRegistry().getEncoding());
 // Open an output writer for the new configuration file
 try {
-PrintWriter writer = null;
-try {
-writer = mover.getWriter();
+try (PrintWriter writer = mover.getWriter()) {
 store(writer, -2, aServer);
-} finally {

svn commit: r1581871 - /tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 14:45:13 2014
New Revision: 1581871

URL: http://svn.apache.org/r1581871
Log:
Locks should be outside try/finally

Modified:

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

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java?rev=1581871r1=1581870r2=1581871view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java
 Wed Mar 26 14:45:13 2014
@@ -73,8 +73,8 @@ public class OrderInterceptor extends Ch
 for (int i=0; idestination.length; i++ ) {
 try {
 int nr = 0;
+outLock.writeLock().lock();
 try {
-outLock.writeLock().lock();
 nr = incCounter(destination[i]);
 } finally {
 outLock.writeLock().unlock();
@@ -103,10 +103,10 @@ public class OrderInterceptor extends Ch
 int msgnr = 
XByteBuffer.toInt(msg.getMessage().getBytesDirect(),msg.getMessage().getLength()-4);
 msg.getMessage().trim(4);
 MessageOrder order = new 
MessageOrder(msgnr,(ChannelMessage)msg.deepclone());
+inLock.writeLock().lock();
 try {
-inLock.writeLock().lock();
 if ( processIncoming(order) ) 
processLeftOvers(msg.getAddress(),false);
-}finally {
+} finally {
 inLock.writeLock().unlock();
 }
 }



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



svn commit: r1581872 - /tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 14:48:32 2014
New Revision: 1581872

URL: http://svn.apache.org/r1581872
Log:
Locks should be outside try/finally

Modified:

tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1581872r1=1581871r2=1581872view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java 
Wed Mar 26 14:48:32 2014
@@ -416,10 +416,9 @@ public abstract class AbstractReplicated
 }
 //check to see if the message is diffable
 MapMessage msg = null;
-if (rentry != null  rentry.isDiffable() 
-(isDirty || complete)) {
+if (rentry != null  rentry.isDiffable()  (isDirty || 
complete)) {
+rentry.lock();
 try {
-rentry.lock();
 //construct a diff message
 msg = new MapMessage(mapContextName, MapMessage.MSG_BACKUP,
  true, (Serializable) entry.getKey(), 
null,
@@ -432,7 +431,6 @@ public abstract class AbstractReplicated
 } finally {
 rentry.unlock();
 }
-
 }
 if (msg == null  complete) {
 //construct a complete
@@ -440,7 +438,6 @@ public abstract class AbstractReplicated
  false, (Serializable) entry.getKey(),
  (Serializable) entry.getValue(),
  null, 
entry.getPrimary(),entry.getBackupNodes());
-
 }
 if (msg == null) {
 //construct a access message
@@ -656,8 +653,8 @@ public abstract class AbstractReplicated
 if (entry.getValue() instanceof ReplicatedMapEntry) {
 ReplicatedMapEntry diff = (ReplicatedMapEntry) 
entry.getValue();
 if (mapmsg.isDiff()) {
+diff.lock();
 try {
-diff.lock();
 diff.applyDiff(mapmsg.getDiffValue(), 0, 
mapmsg.getDiffValue().length);
 } catch (Exception x) {
 log.error(Unable to apply diff to key: + 
entry.getKey(), x);
@@ -1259,8 +1256,8 @@ public abstract class AbstractReplicated
 public void apply(byte[] data, int offset, int length, boolean diff) 
throws IOException, ClassNotFoundException {
 if (isDiffable()  diff) {
 ReplicatedMapEntry rentry = (ReplicatedMapEntry) value;
+rentry.lock();
 try {
-rentry.lock();
 rentry.applyDiff(data, offset, length);
 } finally {
 rentry.unlock();



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



svn commit: r1581875 - in /tomcat/trunk: ./ java/org/apache/catalina/tribes/group/ java/org/apache/catalina/tribes/group/interceptors/ java/org/apache/catalina/tribes/transport/nio/ java/org/apache/ca

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 14:52:31 2014
New Revision: 1581875

URL: http://svn.apache.org/r1581875
Log:
More try-with-resources

Modified:
tomcat/trunk/TOMCAT-NEXT.txt
tomcat/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java

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

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

tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java
tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java
tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java

Modified: tomcat/trunk/TOMCAT-NEXT.txt
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-NEXT.txt?rev=1581875r1=1581874r2=1581875view=diff
==
--- tomcat/trunk/TOMCAT-NEXT.txt (original)
+++ tomcat/trunk/TOMCAT-NEXT.txt Wed Mar 26 14:52:31 2014
@@ -214,7 +214,7 @@ but possibly 7.1.x).
 - Use of try with resources
   - Started.
 - javax.* complete
-- o.a.catalina.[ant to storeconfig] complete
+- o.a.catalina.[ant to util] complete
 - remainder TODO
 - Catching multiple exceptions
   - Started

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java?rev=1581875r1=1581874r2=1581875view=diff
==
--- tomcat/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java 
Wed Mar 26 14:52:31 2014
@@ -232,12 +232,9 @@ public class ChannelCoordinator extends 
 
 startLevel = (startLevel  (~svc));
 
-}catch ( Exception x ) {
+} catch (Exception x) {
 throw new ChannelException(x);
-} finally {
-
 }
-
 }
 
 @Override

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java?rev=1581875r1=1581874r2=1581875view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
 Wed Mar 26 14:52:31 2014
@@ -507,34 +507,26 @@ public class NonBlockingCoordinator exte
 }
 
 public void memberAdded(Member member,boolean elect) {
+if (membership == null) setupMembership();
+if (membership.memberAlive(member)) super.memberAdded(member);
 try {
-if ( membership == null ) setupMembership();
-if ( membership.memberAlive(member) ) super.memberAdded(member);
-try {
-fireInterceptorEvent(new 
CoordinationEvent(CoordinationEvent.EVT_MBR_ADD,this,Member 
add(+member.getName()+)));
-if (started  elect) startElection(false);
-}catch ( ChannelException x ) {
-log.error(Unable to start election when member was added.,x);
-}
-}finally {
+fireInterceptorEvent(new 
CoordinationEvent(CoordinationEvent.EVT_MBR_ADD,this,Member 
add(+member.getName()+)));
+if (started  elect) startElection(false);
+} catch (ChannelException x) {
+log.error(Unable to start election when member was added.,x);
 }
-
 }
 
 @Override
 public void memberDisappeared(Member member) {
+membership.removeMember(member);
+super.memberDisappeared(member);
 try {
-
-membership.removeMember(member);
-super.memberDisappeared(member);
-try {
-fireInterceptorEvent(new 
CoordinationEvent(CoordinationEvent.EVT_MBR_DEL,this,Member 
remove(+member.getName()+)));
-if ( started  (isCoordinator() || isHighest()) )
-startElection(true); //to do, if a member disappears, only 
the coordinator can start
-}catch ( ChannelException x ) {
-log.error(Unable to start election when member was 
removed.,x);
-}
-}finally {
+fireInterceptorEvent(new 
CoordinationEvent(CoordinationEvent.EVT_MBR_DEL,this,Member 
remove(+member.getName()+)));
+if (started  (isCoordinator() || isHighest()))
+startElection(true); //to do, if a member disappears, only the 
coordinator can start
+} catch (ChannelException x) {
+log.error(Unable to start election when member 

svn commit: r1581888 - /tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 15:31:00 2014
New Revision: 1581888

URL: http://svn.apache.org/r1581888
Log:
Locks should be outside try/finally

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=1581888r1=1581887r2=1581888view=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java Wed Mar 26 
15:31:00 2014
@@ -140,8 +140,8 @@ public class AjpAprProcessor extends Abs
 
 boolean writeDone = false;
 int result = 0;
+readLock.lock();
 try {
-readLock.lock();
 if (socketWrapper.getBlockingStatus() == block) {
 result = Socket.sendbb(socket, pos, len);
 writeDone = true;
@@ -151,14 +151,14 @@ public class AjpAprProcessor extends Abs
 }
 
 if (!writeDone) {
+writeLock.lock();
 try {
-writeLock.lock();
 socketWrapper.setBlockingStatus(block);
 // Set the current settings for this socket
 Socket.optSet(socket, Socket.APR_SO_NONBLOCK, (block ? 0 : 1));
 // Downgrade the lock
+readLock.lock();
 try {
-readLock.lock();
 writeLock.unlock();
 result = Socket.sendbb(socket, pos, len);
 } finally {
@@ -237,8 +237,8 @@ public class AjpAprProcessor extends Abs
 
 boolean readDone = false;
 int result = 0;
+readLock.lock();
 try {
-readLock.lock();
 if (socketWrapper.getBlockingStatus() == block) {
 result = Socket.recvbb(socket, pos, len);
 readDone = true;
@@ -248,14 +248,14 @@ public class AjpAprProcessor extends Abs
 }
 
 if (!readDone) {
+writeLock.lock();
 try {
-writeLock.lock();
 socketWrapper.setBlockingStatus(block);
 // Set the current settings for this socket
 Socket.optSet(socket, Socket.APR_SO_NONBLOCK, (block ? 0 : 1));
 // Downgrade the lock
+readLock.lock();
 try {
-readLock.lock();
 writeLock.unlock();
 result = Socket.recvbb(socket, pos, len);
 } finally {



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



svn commit: r1581889 - in /tomcat/trunk/java/org/apache/coyote/http11: InternalAprInputBuffer.java InternalAprOutputBuffer.java InternalNioOutputBuffer.java upgrade/AprServletInputStream.java upgrade/

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 15:36:31 2014
New Revision: 1581889

URL: http://svn.apache.org/r1581889
Log:
Locks should be outside try/finally

Modified:
tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java

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

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

Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java?rev=1581889r1=1581888r2=1581889view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java Wed 
Mar 26 15:36:31 2014
@@ -623,8 +623,8 @@ public class InternalAprInputBuffer exte
 
 boolean readDone = false;
 int result = 0;
+readLock.lock();
 try {
-readLock.lock();
 if (wrapper.getBlockingStatus() == block) {
 result = Socket.recvbb(socket, 0, buf.length - lastValid);
 readDone = true;
@@ -634,8 +634,8 @@ public class InternalAprInputBuffer exte
 }
 
 if (!readDone) {
+writeLock.lock();
 try {
-writeLock.lock();
 wrapper.setBlockingStatus(block);
 // Set the current settings for this socket
 if (block) {
@@ -645,8 +645,8 @@ public class InternalAprInputBuffer exte
 Socket.timeoutSet(socket, 0);
 }
 // Downgrade the lock
+readLock.lock();
 try {
-readLock.lock();
 writeLock.unlock();
 result = Socket.recvbb(socket, 0, buf.length - lastValid);
 } finally {

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=1581889r1=1581888r2=1581889view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Wed 
Mar 26 15:36:31 2014
@@ -239,8 +239,8 @@ public class InternalAprOutputBuffer ext
 Lock readLock = wrapper.getBlockingStatusReadLock();
 WriteLock writeLock = wrapper.getBlockingStatusWriteLock();
 
+readLock.lock();
 try {
-readLock.lock();
 if (wrapper.getBlockingStatus() == block) {
 writeToSocket();
 return;
@@ -249,8 +249,8 @@ public class InternalAprOutputBuffer ext
 readLock.unlock();
 }
 
+writeLock.lock();
 try {
-writeLock.lock();
 // Set the current settings for this socket
 wrapper.setBlockingStatus(block);
 if (block) {
@@ -260,8 +260,8 @@ public class InternalAprOutputBuffer ext
 }
 
 // Downgrade the lock
+readLock.lock();
 try {
-readLock.lock();
 writeLock.unlock();
 writeToSocket();
 } finally {

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=1581889r1=1581888r2=1581889view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java Wed 
Mar 26 15:36:31 2014
@@ -141,7 +141,7 @@ public class InternalNioOutputBuffer ext
 do {
 if (socket.flush(true,selector,writeTimeout)) break;
 }while ( true );
-}finally {
+} finally {
 if ( selector != null ) pool.put(selector);
 }
 if ( block || bytebuffer.remaining()==0) {

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java?rev=1581889r1=1581888r2=1581889view=diff
==
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java 
(original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java 
Wed Mar 26 15:36:31 

svn commit: r1581890 - in /tomcat/trunk: TOMCAT-NEXT.txt java/org/apache/catalina/valves/rewrite/RewriteValve.java

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 15:36:47 2014
New Revision: 1581890

URL: http://svn.apache.org/r1581890
Log:
More try-with-resources

Modified:
tomcat/trunk/TOMCAT-NEXT.txt
tomcat/trunk/java/org/apache/catalina/valves/rewrite/RewriteValve.java

Modified: tomcat/trunk/TOMCAT-NEXT.txt
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-NEXT.txt?rev=1581890r1=1581889r2=1581890view=diff
==
--- tomcat/trunk/TOMCAT-NEXT.txt (original)
+++ tomcat/trunk/TOMCAT-NEXT.txt Wed Mar 26 15:36:47 2014
@@ -214,7 +214,8 @@ but possibly 7.1.x).
 - Use of try with resources
   - Started.
 - javax.* complete
-- o.a.catalina.[ant to util] complete
+- o.a.[catalina to el ] complete
+- o.a.jasper in progress
 - remainder TODO
 - Catching multiple exceptions
   - Started

Modified: tomcat/trunk/java/org/apache/catalina/valves/rewrite/RewriteValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/rewrite/RewriteValve.java?rev=1581890r1=1581889r2=1581890view=diff
==
--- tomcat/trunk/java/org/apache/catalina/valves/rewrite/RewriteValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/valves/rewrite/RewriteValve.java Wed 
Mar 26 15:36:47 2014
@@ -169,18 +169,13 @@ public class RewriteValve extends ValveB
 return;
 }
 
-BufferedReader reader = new BufferedReader(
-new InputStreamReader(is, StandardCharsets.UTF_8));
-
-try {
+try (InputStreamReader isr = new InputStreamReader(is, 
StandardCharsets.UTF_8);
+BufferedReader reader = new BufferedReader(isr)) {
 parse(reader);
+} catch (IOException ioe) {
+container.getLogger().error(Error closing configuration, ioe);
 } finally {
 try {
-reader.close();
-} catch (IOException e) {
-container.getLogger().error(Error closing configuration, e);
-}
-try {
 is.close();
 } catch (IOException e) {
 container.getLogger().error(Error closing configuration, e);



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



Java 8 support

2014-03-26 Thread Rémy Maucherat
Hi,

As I was looking at 55988, the testsuite seems to have two issues with Java
8 at the moment:
- test.name=org/apache/tomcat/util/buf/TestUtf8.java
UTF-8 experts wanted !
- test.name=org/apache/jasper/tagplugins/jstl/core/TestForEach.java
This would look like a JDT configuration issue or bug, it doesn't care
about the default keyword in the newly added Iterator interface method

Rémy


svn commit: r1581900 - in /tomcat/trunk: ./ java/org/apache/catalina/startup/ java/org/apache/jasper/compiler/ java/org/apache/jasper/servlet/ java/org/apache/tomcat/util/scan/

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 16:00:10 2014
New Revision: 1581900

URL: http://svn.apache.org/r1581900
Log:
More try-with-resources

Modified:
tomcat/trunk/TOMCAT-NEXT.txt
tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
tomcat/trunk/java/org/apache/jasper/compiler/Compiler.java
tomcat/trunk/java/org/apache/jasper/compiler/JDTCompiler.java
tomcat/trunk/java/org/apache/jasper/compiler/JavacErrorDetail.java
tomcat/trunk/java/org/apache/jasper/compiler/ParserController.java
tomcat/trunk/java/org/apache/jasper/compiler/ServletWriter.java
tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java
tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
tomcat/trunk/java/org/apache/tomcat/util/scan/Jar.java

Modified: tomcat/trunk/TOMCAT-NEXT.txt
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-NEXT.txt?rev=1581900r1=1581899r2=1581900view=diff
==
--- tomcat/trunk/TOMCAT-NEXT.txt (original)
+++ tomcat/trunk/TOMCAT-NEXT.txt Wed Mar 26 16:00:10 2014
@@ -214,8 +214,8 @@ but possibly 7.1.x).
 - Use of try with resources
   - Started.
 - javax.* complete
-- o.a.[catalina to el ] complete
-- o.a.jasper in progress
+- o.a.[catalina to jasper ] complete
+- o.a.juli in progress
 - remainder TODO
 - Catching multiple exceptions
   - Started

Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1581900r1=1581899r2=1581900view=diff
==
--- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Wed Mar 26 
16:00:10 2014
@@ -1655,21 +1655,21 @@ public class ContextConfig implements Li
 protected void processResourceJARs(SetWebXml fragments) {
 for (WebXml fragment : fragments) {
 URL url = fragment.getURL();
-Jar jar = null;
 try {
 if (jar.equals(url.getProtocol())) {
-jar = JarFactory.newInstance(url);
-jar.nextEntry();
-String entryName = jar.getEntryName();
-while (entryName != null) {
-if (entryName.startsWith(META-INF/resources/)) {
-context.getResources().createWebResourceSet(
-
WebResourceRoot.ResourceSetType.RESOURCE_JAR,
-/, url, /META-INF/resources);
-break;
-}
+try (Jar jar = JarFactory.newInstance(url)) {
 jar.nextEntry();
-entryName = jar.getEntryName();
+String entryName = jar.getEntryName();
+while (entryName != null) {
+if (entryName.startsWith(META-INF/resources/)) {
+context.getResources().createWebResourceSet(
+
WebResourceRoot.ResourceSetType.RESOURCE_JAR,
+/, url, /META-INF/resources);
+break;
+}
+jar.nextEntry();
+entryName = jar.getEntryName();
+}
 }
 } else if (file.equals(url.getProtocol())) {
 File file = new File(url.toURI());
@@ -1686,10 +1686,6 @@ public class ContextConfig implements Li
 } catch (URISyntaxException e) {
 log.error(sm.getString(contextConfig.resourceJarFail, url,
 context.getName()));
-} finally {
-if (jar != null) {
-jar.close();
-}
 }
 }
 }
@@ -1937,11 +1933,7 @@ public class ContextConfig implements Li
 protected void processAnnotationsJar(URL url, WebXml fragment,
 boolean handlesTypesOnly) {
 
-Jar jar = null;
-
-try {
-jar = JarFactory.newInstance(url);
-
+try (Jar jar = JarFactory.newInstance(url)) {
 jar.nextEntry();
 String entryName = jar.getEntryName();
 while (entryName != null) {
@@ -1962,10 +1954,6 @@ public class ContextConfig implements Li
 }
 } catch (IOException e) {
 log.error(sm.getString(contextConfig.jarFile, url), e);
-} finally {
-if (jar != null) {
-jar.close();
-}
 }
 }
 

Modified: tomcat/trunk/java/org/apache/jasper/compiler/Compiler.java
URL: 

Re: Java 8 support

2014-03-26 Thread Mark Thomas
On 26/03/2014 15:59, Rémy Maucherat wrote:
 Hi,
 
 As I was looking at 55988, the testsuite seems to have two issues with Java
 8 at the moment:
 - test.name=org/apache/tomcat/util/buf/TestUtf8.java
 UTF-8 experts wanted !

That will be me. I went over this in great deal when I was looking at
UTF-8 failures in the Autobahn WebSocket testing. Hopefully, this means
a number of the UTF-8 parsing decoding bugs have been fixed. I'll take a
look.

Mark


 - test.name=org/apache/jasper/tagplugins/jstl/core/TestForEach.java
 This would look like a JDT configuration issue or bug, it doesn't care
 about the default keyword in the newly added Iterator interface method
 
 Rémy
 


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



Re: Java 8 support

2014-03-26 Thread Konstantin Kolinko
2014-03-26 19:59 GMT+04:00 Rémy Maucherat r...@apache.org:
 Hi,

 As I was looking at 55988, the testsuite seems to have two issues with Java
 8 at the moment:
 - test.name=org/apache/tomcat/util/buf/TestUtf8.java
 UTF-8 experts wanted !
 - test.name=org/apache/jasper/tagplugins/jstl/core/TestForEach.java
 This would look like a JDT configuration issue or bug, it doesn't care
 about the default keyword in the newly added Iterator interface method


1. Can you cite what the errors are?

2. There is a number of known issues in JDK 1.8.0 itself
http://www.oracle.com/technetwork/java/javase/8-known-issues-2157115.html

3. BTW, I usually use test.entry property to run a single test class
(as documented in BUILDING.txt),  though test.name is more capable.

Best regards,
Konstantin Kolinko

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



Re: Java 8 support

2014-03-26 Thread Rémy Maucherat
2014-03-26 17:10 GMT+01:00 Konstantin Kolinko knst.koli...@gmail.com:

 1. Can you cite what the errors are?


An error occurred at line: [22] in the generated java file:
[C:\Work\apache-tomcat-8.0.5-src\output\test-tmp\work\Tomcat\localhost\test\org\apache\jsp\bug5\bug54242_jsp.java]

The type new Iterator(){} must implement the inherited abstract method
Iterator.forEachRemaining(Consumer)
As tested on Windows for the for foreach tag plugin and the Iterator
interface. Not a showstopper since the plugin can be disabled.

And the other:
Testcase: testJvmDecoder took 0 sec
FAILED
Valid sequence padded from one byte to two expected:2 but was:1
junit.framework.AssertionFailedError: Valid sequence padded from one byte
to two expected:2 but was:1
at org.apache.tomcat.util.buf.TestUtf8.doTest(TestUtf8.java:401)
at
org.apache.tomcat.util.buf.TestUtf8.testJvmDecoder(TestUtf8.java:367)


 2. There is a number of known issues in JDK 1.8.0 itself
 http://www.oracle.com/technetwork/java/javase/8-known-issues-2157115.html

 Ok.


 3. BTW, I usually use test.entry property to run a single test class
 (as documented in BUILDING.txt),  though test.name is more capable.

 Well, it worked for me.

Rémy


[Bug 56313] Tomcat 8 crashes in tcnative-1.dll+0x7923

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56313

--- Comment #9 from Christopher Schultz ch...@christopherschultz.net ---
Could you provide a JMeter test case? I'm sure that would be helpful. I'm not
win32 dev, but I'm sure something that can reproduce the issue would be helpful
to whoever looks at this.

-- 
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: Running Tomcat under Eclipse Debugger

2014-03-26 Thread Christopher Schultz
Konstantin,

On 3/25/14, 4:30 PM, Konstantin Kolinko wrote:
 2014-03-26 0:20 GMT+04:00 Christopher Schultz ch...@christopherschultz.net:
 All,

 I've only just started running Tomcat under the Eclipse Debugger and it
 seemed to take forever to launch -- due to web application deployment.
 See below for the catalina.out log for a launch this morning.

 
 Did you follow the documented recipe,  or just tried to start it from
 within Eclipse?

I used the recipe, including using the start-tomcat Run
Configuration that Tomcat provides.

 Note the initial log timestamp (10:54:57) and the final one (11:00:59).
 That's 4 minutes to launch and deploy docs, examples, host-manager,
 manager, and ROOT. That seems like an awfully long time.
 
 A thread dump ?

I observed a couple of thread dumps during the deployment. I caught a
lot of BCEL analysis and resource lookups. I could post some full dups
if you think that would be helpful. It didn't look like it was stuck
anywhere... just taking forever to load.

 I'm running on Oracle Java 1.7.0-51 64-bit, Mac OS X 10.9, Eclipse
 Kepler (why can't they use sane version numbers?).
 
 Kepler is a yearly simultaneous release.  Each component in Eclipse
 has its own version number.  Kepler = 4.3 (4.3.2 now).
 
 http://www.eclipse.org/downloads/
 http://www.eclipse.org/kepler/
 
 Max heap size looks
 like 2GiB (JVM default, not specified in the command-line), though it's
 not anywhere near that limit. Intel i7 single-chip, quad-core ht CPU, so
 8 logical cores. 8 GiB of RAM.

 Any ideas? Or is that just the cost of the debugger?

 Thanks,
 -chris


 Mar 25, 2014 10:54:57 AM org.apache.catalina.core.AprLifecycleListener init
 INFO: The APR based Apache Tomcat Native library which allows optimal
 performance in production environments was not found on the
 java.library.path:
 /Users/chris/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
 Mar 25, 2014 10:54:58 AM org.apache.coyote.AbstractProtocol init
 INFO: Initializing ProtocolHandler [http-nio-8080]
 Mar 25, 2014 10:54:58 AM org.apache.tomcat.util.net.NioSelectorPool
 getSharedSelector
 INFO: Using a shared selector for servlet write/read
 Mar 25, 2014 10:54:58 AM org.apache.coyote.AbstractProtocol init
 INFO: Initializing ProtocolHandler [ajp-nio-8009]
 Mar 25, 2014 10:54:58 AM org.apache.tomcat.util.net.NioSelectorPool
 getSharedSelector
 INFO: Using a shared selector for servlet write/read
 Mar 25, 2014 10:54:58 AM org.apache.catalina.startup.Catalina load
 INFO: Initialization processed in 578 ms
 Mar 25, 2014 10:54:58 AM org.apache.catalina.core.StandardService
 startInternal
 INFO: Starting service Catalina
 Mar 25, 2014 10:54:58 AM org.apache.catalina.core.StandardEngine
 startInternal
 INFO: Starting Servlet Engine: Apache Tomcat/@VERSION@
 Mar 25, 2014 10:54:58 AM org.apache.catalina.startup.HostConfig
 deployDirectory
 INFO: Deploying web application directory
 /Users/chris/Documents/Eclipse/tomcat-trunk/output/build/webapps/docs
 Mar 25, 2014 10:56:52 AM org.apache.jasper.servlet.TldScanner scanJars
 INFO: At least one JAR was scanned for TLDs yet contained no TLDs.
 Enable debug logging for this logger for a complete list of JARs that
 were scanned but no TLDs were found in them. Skipping unneeded JARs
 during scanning can improve startup time and JSP compilation time.
 Mar 25, 2014 10:56:53 AM org.apache.catalina.util.SessionIdGenerator
 createSecureRandom
 INFO: Creation of SecureRandom instance for session ID generation using
 [SHA1PRNG] took [377] milliseconds.
 Mar 25, 2014 10:56:53 AM org.apache.catalina.startup.HostConfig
 deployDirectory
 INFO: Deploying web application directory
 /Users/chris/Documents/Eclipse/tomcat-trunk/output/build/webapps/examples
 Mar 25, 2014 10:59:01 AM org.apache.catalina.core.ApplicationContext log
 INFO: ContextListener: contextInitialized()
 Mar 25, 2014 10:59:01 AM org.apache.catalina.core.ApplicationContext log
 INFO: SessionListener: contextInitialized()
 Mar 25, 2014 10:59:01 AM org.apache.catalina.startup.HostConfig
 deployDirectory
 INFO: Deploying web application directory
 /Users/chris/Documents/Eclipse/tomcat-trunk/output/build/webapps/host-manager
 Mar 25, 2014 10:59:04 AM org.apache.jasper.servlet.TldScanner scanJars
 INFO: At least one JAR was scanned for TLDs yet contained no TLDs.
 Enable debug logging for this logger for a complete list of JARs that
 
 Enable debug logging for org.apache.jasper.servlet.TldScanner ?

I will certainly be doing that. We probably ought to mark the JARs in
the stock webapps as not requiring JAR-scanning unless they actually
need it.

Thanks,
-chris



signature.asc
Description: OpenPGP digital signature


[Bug 56318] Oracle DB cursors are leaking when using org.apache.tomcat.jdbc.pool.DataSourceFactory

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56318

--- Comment #2 from Christopher Schultz ch...@christopherschultz.net ---
Have you enabled abandoned logging? I believe tomcat-pool is less kind than
DBCP when you have resource leaks in your application.

-- 
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 56313] Tomcat 8 crashes in tcnative-1.dll+0x7923

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56313

Timcesq ti_m...@poczta.fm changed:

   What|Removed |Added

 OS|All |Windows 8

-- 
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 56313] Tomcat 8 crashes in tcnative-1.dll+0x7923

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56313

--- Comment #10 from Timcesq ti_m...@poczta.fm ---
Created attachment 31441
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=31441action=edit
JMeter test plan

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

2014-03-26 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/5639

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1581875
Blamelist: markt

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot





svn commit: r1582009 - in /tomcat/trunk: java/org/apache/tomcat/util/buf/Utf8Decoder.java test/org/apache/tomcat/util/buf/TestUtf8.java webapps/docs/changelog.xml

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 18:49:43 2014
New Revision: 1582009

URL: http://svn.apache.org/r1582009
Log: (empty)

Modified:
tomcat/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java
tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java?rev=1582009r1=1582008r2=1582009view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java Wed Mar 26 
18:49:43 2014
@@ -50,7 +50,7 @@ public class Utf8Decoder extends Charset
 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 // 11oy
--1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+-1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 // 111o
 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,

Modified: tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java?rev=1582009r1=1582008r2=1582009view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java Wed Mar 26 
18:49:43 2014
@@ -56,7 +56,21 @@ public class TestUtf8 {
 
 public static final ListUtf8TestCase TEST_CASES = new ArrayList();
 
+private static int workAroundCount = 0;
+
 static {
+// Future proof test and assume some UTF-8 bugs won't get fixed until
+// Java 9 or later
+// Base assumption in Java 7
+int javaVersion = 7;
+try {
+Class.forName(java.util.stream.Collector);
+javaVersion = 8;
+} catch (Exception e) {
+// Ignore
+}
+Utf8TestCase testCase = null;
+
 TEST_CASES.add(new Utf8TestCase(
 Zero length input,
 new int[] {},
@@ -88,18 +102,29 @@ public class TestUtf8 {
 new int[] {0x41, 0xF4, 0x90, 0x80, 0x80, 0x41},
 2,
 A\uFFFD\uFFFD\uFFFD\uFFFDA).addForJvm(ERROR_POS_PLUS2));
-// JVM decoder does not report error until all 2 bytes are available
-TEST_CASES.add(new Utf8TestCase(
+
+// Java 7 JVM decoder does not report error until all 2 bytes are 
available
+testCase = new Utf8TestCase(
 Valid sequence padded from one byte to two,
 new int[] {0x41, 0xC0, 0xC1, 0x41},
 1,
-A\uFFFD\uFFFDA).addForJvm(ERROR_POS_PLUS1));
-// JVM decoder does not report error until all 3 bytes are available
-TEST_CASES.add(new Utf8TestCase(
+A\uFFFD\uFFFDA);
+if (javaVersion  8) {
+testCase.addForJvm(ERROR_POS_PLUS1);
+}
+TEST_CASES.add(testCase);
+
+// Java 7 JVM decoder does not report error until all 3 bytes are 
available
+testCase = new Utf8TestCase(
 Valid sequence padded from one byte to three,
 new int[] {0x41, 0xE0, 0x80, 0xC1, 0x41},
 2,
-A\uFFFD\uFFFD\uFFFDA).addForJvm(ERROR_POS_PLUS1));
+A\uFFFD\uFFFD\uFFFDA);
+if (javaVersion  8) {
+testCase.addForJvm(ERROR_POS_PLUS1);
+}
+TEST_CASES.add(testCase);
+
 // JVM decoder does not report error until all 4 bytes are available
 TEST_CASES.add(new Utf8TestCase(
 Valid sequence padded from one byte to four,
@@ -111,21 +136,37 @@ public class TestUtf8 {
 new int[] {0x41, 0xFF, 0x41},
 1,
 A\uFFFDA));
-TEST_CASES.add(new Utf8TestCase(
+
+testCase = new Utf8TestCase(
 Invalid one byte  ,
 new int[] {0x41, 0xF0, 0x41},
 2,
-A\uFFFDA).addForJvm(REPLACE_SWALLOWS_TRAILER));
-TEST_CASES.add(new Utf8TestCase(
+A\uFFFDA);
+if (javaVersion  8) {
+testCase.addForJvm(REPLACE_SWALLOWS_TRAILER);
+}
+TEST_CASES.add(testCase);
+
+testCase = new Utf8TestCase(
 Invalid one byte 1110 ,
 new int[] {0x41, 0xE0, 0x41},
 2,
-A\uFFFDA).addForJvm(REPLACE_SWALLOWS_TRAILER));
-TEST_CASES.add(new Utf8TestCase(
+A\uFFFDA);
+if (javaVersion  8) {
+testCase.addForJvm(REPLACE_SWALLOWS_TRAILER);
+}

svn commit: r1582010 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/buf/Utf8Decoder.java test/org/apache/tomcat/util/buf/TestUtf8.java webapps/docs/changelog.xml

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 18:53:36 2014
New Revision: 1582010

URL: http://svn.apache.org/r1582010
Log:
Fix custom UTF-8 decoder so that a byte of value 0xC1 is always rejected 
immediately as it is never valid in a UTF-8 byte sequence. Update UTF-8 decoder 
tests to account for UTF-8 decoding improvements in Java 8.
The custom UTF-8 decoder is still required due to bugs in the UTF-8 decoder 
provided by Java. Java 8's decoder is better than Java 7's but it is still 
buggy.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1582009

Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java?rev=1582010r1=1582009r2=1582010view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java Wed 
Mar 26 18:53:36 2014
@@ -49,7 +49,7 @@ public class Utf8Decoder extends Charset
 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 // 11oy
--1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+-1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 // 111o
 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,

Modified: tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java?rev=1582010r1=1582009r2=1582010view=diff
==
--- tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java 
(original)
+++ tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java Wed Mar 
26 18:53:36 2014
@@ -57,7 +57,21 @@ public class TestUtf8 {
 public static final ListUtf8TestCase TEST_CASES =
 new ArrayListUtf8TestCase();
 
+private static int workAroundCount = 0;
+
 static {
+// Future proof test and assume some UTF-8 bugs won't get fixed until
+// Java 9 or later
+// Base assumption in Java 7
+int javaVersion = 7;
+try {
+Class.forName(java.util.stream.Collector);
+javaVersion = 8;
+} catch (Exception e) {
+// Ignore
+}
+Utf8TestCase testCase = null;
+
 TEST_CASES.add(new Utf8TestCase(
 Zero length input,
 new int[] {},
@@ -89,18 +103,29 @@ public class TestUtf8 {
 new int[] {0x41, 0xF4, 0x90, 0x80, 0x80, 0x41},
 2,
 A\uFFFD\uFFFD\uFFFD\uFFFDA).addForJvm(ERROR_POS_PLUS2));
-// JVM decoder does not report error until all 2 bytes are available
-TEST_CASES.add(new Utf8TestCase(
+
+// Java 7 JVM decoder does not report error until all 2 bytes are 
available
+testCase = new Utf8TestCase(
 Valid sequence padded from one byte to two,
 new int[] {0x41, 0xC0, 0xC1, 0x41},
 1,
-A\uFFFD\uFFFDA).addForJvm(ERROR_POS_PLUS1));
-// JVM decoder does not report error until all 3 bytes are available
-TEST_CASES.add(new Utf8TestCase(
+A\uFFFD\uFFFDA);
+if (javaVersion  8) {
+testCase.addForJvm(ERROR_POS_PLUS1);
+}
+TEST_CASES.add(testCase);
+
+// Java 7 JVM decoder does not report error until all 3 bytes are 
available
+testCase = new Utf8TestCase(
 Valid sequence padded from one byte to three,
 new int[] {0x41, 0xE0, 0x80, 0xC1, 0x41},
 2,
-A\uFFFD\uFFFD\uFFFDA).addForJvm(ERROR_POS_PLUS1));
+A\uFFFD\uFFFD\uFFFDA);
+if (javaVersion  8) {
+testCase.addForJvm(ERROR_POS_PLUS1);
+}
+TEST_CASES.add(testCase);
+
 // JVM decoder does not report error until all 4 bytes are available
 TEST_CASES.add(new Utf8TestCase(
 Valid sequence padded from one byte to four,
@@ -112,21 +137,37 @@ public class TestUtf8 {
 new int[] {0x41, 0xFF, 0x41},
 1,
 A\uFFFDA));
-TEST_CASES.add(new Utf8TestCase(
+
+testCase = new Utf8TestCase(
 Invalid one byte  ,
 new int[] {0x41, 0xF0, 0x41},
 

Re: Java 8 support

2014-03-26 Thread Mark Thomas
On 26/03/2014 16:01, Mark Thomas wrote:
 On 26/03/2014 15:59, Rémy Maucherat wrote:
 Hi,

 As I was looking at 55988, the testsuite seems to have two issues with Java
 8 at the moment:
 - test.name=org/apache/tomcat/util/buf/TestUtf8.java
 UTF-8 experts wanted !
 
 That will be me. I went over this in great deal when I was looking at
 UTF-8 failures in the Autobahn WebSocket testing. Hopefully, this means
 a number of the UTF-8 parsing decoding bugs have been fixed. I'll take a
 look.

Not bad. Java 7 fails 33 out of the 53 tests. Java 8 has improved to
only 6 out of 53 tests failing.

I also discovered a broken test that was hiding a bug in our UTF-8
decoder. I've fixed the test and our decoder.

Mark


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



[Bug 56313] Tomcat 8 crashes in tcnative-1.dll+0x7923

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56313

Timcesq ti_m...@poczta.fm changed:

   What|Removed |Added

 OS||All

--- Comment #11 from Timcesq ti_m...@poczta.fm ---
I used a debugger to locate the crash address in the source code. It looks like
the crash occurs inside the function Java_org_apache_tomcat_jni_Poll_poll,
specifically inside the following block:

for (i = 0; i  num; i++) {
tcn_socket_t *s = (tcn_socket_t *)fd-client_data;
p-set[i*2+0] = (jlong)(fd-rtnevents);
p-set[i*2+1] = P2J(s);
if (remove) {
apr_pollset_remove(p-pollset, fd);
APR_RING_REMOVE(s-pe, link);
APR_RING_INSERT_TAIL(p-dead_ring, s-pe, tcn_pfde_t, link);
s-pe = NULL;
p-nelts--;
#ifdef TCN_DO_STATISTICS
p-sp_removed++;
#endif
}
else {
/* Update last active with the current time
* after the poll call.
*/
s-last_active = now;
}
fd ++;
}

The crash address suggests that a read of the s-pe variable inside the
if(remove) block fails (the variable is null).

-- 
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 56313] Tomcat 8 crashes in tcnative-1.dll+0x7923

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56313

--- Comment #12 from Timcesq ti_m...@poczta.fm ---
What I meant is that the s-pe is NULL, so a read from that address crashes the
application.

-- 
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 56313] Tomcat 8 crashes in tcnative-1.dll+0x7923

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56313

--- Comment #13 from Timcesq ti_m...@poczta.fm ---
A quick workaround would be to check for NULL before doing the read. However,
if the library is designed so that there shouldn't be any NULLs at this point
in the code, such patch would only mask the underlying bug (a race condition
maybe?).

-- 
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 propchange: r1582009 - svn:log

2014-03-26 Thread kkolinko
Author: kkolinko
Revision: 1582009
Modified property: svn:log

Modified: svn:log at Wed Mar 26 19:50:41 2014
--
--- svn:log (original)
+++ svn:log Wed Mar 26 19:50:41 2014
@@ -0,0 +1,2 @@
+Fix custom UTF-8 decoder so that a byte of value 0xC1 is always rejected 
immediately as it is never valid in a UTF-8 byte sequence. Update UTF-8 decoder 
tests to account for UTF-8 decoding improvements in Java 8.
+The custom UTF-8 decoder is still required due to bugs in the UTF-8 decoder 
provided by Java. Java 8's decoder is better than Java 7's but it is still 
buggy.


-
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

2014-03-26 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/5640

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1581900
Blamelist: markt

Build succeeded!

sincerely,
 -The Buildbot





[Bug 56318] Oracle DB cursors are leaking when using org.apache.tomcat.jdbc.pool.DataSourceFactory

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56318

--- Comment #3 from Danila Galimov b...@mail.ru ---
No, could you please clarify how can I do that?

-- 
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: r1582064 - in /tomcat/trunk: ./ java/org/apache/juli/ java/org/apache/tomcat/buildutil/ java/org/apache/tomcat/util/modeler/ java/org/apache/tomcat/util/net/ java/org/apache/tomcat/util/ne

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 21:22:31 2014
New Revision: 1582064

URL: http://svn.apache.org/r1582064
Log:
Complete first pass of try-with-resources

Modified:
tomcat/trunk/TOMCAT-NEXT.txt
tomcat/trunk/java/org/apache/juli/FileHandler.java
tomcat/trunk/java/org/apache/tomcat/buildutil/CheckEol.java
tomcat/trunk/java/org/apache/tomcat/util/modeler/NotificationInfo.java
tomcat/trunk/java/org/apache/tomcat/util/modeler/OperationInfo.java
tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanFilter.java
tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java
tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java

tomcat/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java

tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderThreadLocalMemoryLeak.java

tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderWeaving.java
tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
tomcat/trunk/test/org/apache/catalina/servlets/TestDefaultServlet.java
tomcat/trunk/test/org/apache/catalina/startup/TestTomcat.java
tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java
tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java

Modified: tomcat/trunk/TOMCAT-NEXT.txt
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-NEXT.txt?rev=1582064r1=1582063r2=1582064view=diff
==
--- tomcat/trunk/TOMCAT-NEXT.txt (original)
+++ tomcat/trunk/TOMCAT-NEXT.txt Wed Mar 26 21:22:31 2014
@@ -212,11 +212,7 @@ but possibly 7.1.x).
 - Use of  operator where possible
   - Complete
 - Use of try with resources
-  - Started.
-- javax.* complete
-- o.a.[catalina to jasper ] complete
-- o.a.juli in progress
-- remainder TODO
+  - Complete
 - Catching multiple exceptions
   - Started
 - javax.[annotation to el] complete

Modified: tomcat/trunk/java/org/apache/juli/FileHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/juli/FileHandler.java?rev=1582064r1=1582063r2=1582064view=diff
==
--- tomcat/trunk/java/org/apache/juli/FileHandler.java (original)
+++ tomcat/trunk/java/org/apache/juli/FileHandler.java Wed Mar 26 21:22:31 2014
@@ -169,15 +169,14 @@ public class FileHandler
 String tsString = ts.toString().substring(0, 19);
 String tsDate = tsString.substring(0, 10);
 
+writerLock.readLock().lock();
 try {
-writerLock.readLock().lock();
 // If the date has changed, switch log files
 if (rotatable  !date.equals(tsDate)) {
+// Upgrade to writeLock before we switch
+writerLock.readLock().unlock();
+writerLock.writeLock().lock();
 try {
-// Update to writeLock before we switch
-writerLock.readLock().unlock();
-writerLock.writeLock().lock();
-
 // Make sure another thread hasn't already done this
 if (!date.equals(tsDate)) {
 closeWriter();
@@ -185,10 +184,10 @@ public class FileHandler
 openWriter();
 }
 } finally {
-writerLock.writeLock().unlock();
-// Down grade to read-lock. This ensures the writer 
remains valid
+// Downgrade to read-lock. This ensures the writer remains 
valid
 // until the log message is written
 writerLock.readLock().lock();
+writerLock.writeLock().unlock();
 }
 }
 
@@ -408,8 +407,5 @@ public class FileHandler
 } finally {
 writerLock.writeLock().unlock();
 }
-
 }
-
-
 }

Modified: tomcat/trunk/java/org/apache/tomcat/buildutil/CheckEol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/buildutil/CheckEol.java?rev=1582064r1=1582063r2=1582064view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/buildutil/CheckEol.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/buildutil/CheckEol.java Wed Mar 26 
21:22:31 2014
@@ -136,11 +136,9 @@ public class CheckEol extends Task {
 }
 }
 
-private void check(File file, ListCheckFailure errors, Mode mode)
-throws IOException {
-BufferedInputStream is = new BufferedInputStream(new FileInputStream(
-file));
-try {
+private void check(File file, ListCheckFailure errors, Mode 

svn commit: r1582066 - /tomcat/trunk/webapps/docs/changelog.xml

2014-03-26 Thread markt
Author: markt
Date: Wed Mar 26 21:24:08 2014
New Revision: 1582066

URL: http://svn.apache.org/r1582066
Log:
Update changelog for try-with-resources

Modified:
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1582066r1=1582065r2=1582066view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Mar 26 21:24:08 2014
@@ -61,6 +61,12 @@
   /fix
 /changelog
   /subsection
+  subsection name=Other
+scode
+  Review source code and take advantage of Java 7apos;s
+  try-with-resources syntax where possible. (markt)  
+/scode
+  /subsection
 /section
 section name=Tomcat 8.0.5 (markt)
   subsection name=Catalina



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



[Bug 56318] Oracle DB cursors are leaking when using org.apache.tomcat.jdbc.pool.DataSourceFactory

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56318

--- Comment #4 from Filip Hanik fha...@apache.org ---
Not sure this would be a bug. It is your responsibility to close statements in
your application. However, you can configure the pool to do it for you

https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer

in your config that would look like

jdbcInterceptors=org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;
org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer

Resource auth=Container

url=jdbc:oracle:thin:@dgalimov7:1521:DAN2
driverClassName=oracle.jdbc.OracleDriver 
factory=org.apache.tomcat.jdbc.pool.DataSourceFactory
name=jdbc/IpbDB
username=dgalimov_home_new password=dgalimov_home_new
type=javax.sql.DataSource
timeBetweenEvictionRunsMillis=1
maxActive=25 maxIdle=3 minIdle=0
maxWait=3
testOnBorrow=true testOnReturn=true validationQuery=SELECT
1 FROM DUAL
   
jdbcInterceptors=org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer
 /

-- 
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 56310] PooledConnection and XAConnection not handled correctly

2014-03-26 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56310

Filip Hanik fha...@apache.org changed:

   What|Removed |Added

 Status|NEW |NEEDINFO

--- Comment #1 from Filip Hanik fha...@apache.org ---
(In reply to Jonathan Pierce from comment #0)
 For example, getPooledConnection().getConnection().close() should return the
 connection to the pool, not close the physical connection.

http://docs.oracle.com/javase/7/docs/api/javax/sql/ConnectionPoolDataSource.html#getPooledConnection()

- Attempts to establish a physical database connection that can be used as a
pooled connection.


http://docs.oracle.com/javase/7/docs/api/javax/sql/PooledConnection.html#getConnection()

- Creates and returns a Connection object that is a handle for the physical
connection that this PooledConnection object represents. 


Jonathan, thank you for your report. Overall, I do believe that the fix is that 
org.apache.tomcat.jdbc.pool.DataSource should NOT implement the
javax.sql.ConnectionPoolDataSource interface.

The ConnectionPoolDataSource/PooledConnection interface are to be used by pool,
instead of being provided by pool.

An application programmer does not use the PooledConnection interface
directly; rather, it is used by a middle tier infrastructure that manages the
pooling of connections.

I'd like to learn more about your use case, and why it is using that interface
at all.

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



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

2014-03-26 Thread Bill Barker
To whom it may engage...

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

Project tomcat-trunk-validate has an issue affecting its community integration.
This issue affects 1 projects,
 and has been outstanding for 29 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-trunk-validate :  Tomcat 8.x, a web server implementing the Java 
Servlet 3.1,
...


Full details are available at:

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

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on checkstyle exists, no need to add for property 
checkstyle.jar.
 -INFO- Failed with reason build failed



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/gump_work/build_tomcat-trunk_tomcat-trunk-validate.html
Work Name: build_tomcat-trunk_tomcat-trunk-validate (Type: Build)
Work ended in a state of : Failed
Elapsed: 24 secs
Command Line: /usr/lib/jvm/java-7-oracle/bin/java -Djava.awt.headless=true 
-Dbuild.sysclasspath=only org.apache.tools.ant.Main 
-Dgump.merge=/srv/gump/public/gump/work/merge.xml 
-Dcheckstyle.jar=/srv/gump/public/workspace/checkstyle/target/checkstyle-5.7-SNAPSHOT.jar
 -Dexecute.validate=true validate 
[Working Directory: /srv/gump/public/workspace/tomcat-trunk]
CLASSPATH: 
/usr/lib/jvm/java-7-oracle/lib/tools.jar:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/packages/antlr/antlr-3.1.3.jar:/srv/gump/public/workspace/checkstyle/target/checkstyle-5.7-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/beanutils/dist/commons-beanutils-20140327.jar:/srv/gump/public/workspace/apache-commons/cli/target/commons-cli-1.3-SNAPSHOT.jar:/srv/gump/public/workspace/commons-collections-3.x/target/commons-collections-3.3-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/exec/tar
 
get/commons-exec-1.3-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-20140327.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-20140327.jar:/srv/gump/public/workspace/apache-commons/validator/dist/commons-validator-20140327.jar:/srv/gump/public/workspace/google-guava/guava/target/guava-17.0-SNAPSHOT.jar:/srv/gump/packages/javamail-1.4/mail.jar:/srv/gump/packages/javamail-1.4/lib/mailapi.jar:/srv/gump/packages/jaf-1.1ea/activation.jar
-
Buildfile: /srv/gump/public/workspace/tomcat-trunk/build.xml

build-prepare:
   [delete] Deleting directory 
/srv/gump/public/workspace/tomcat-trunk/output/build/temp
[mkdir] Created dir: 
/srv/gump/public/workspace/tomcat-trunk/output/build/temp

compile-prepare:

download-validate:

proxyflags:

setproxy:

testexist:
 [echo] Testing  for 
/srv/gump/public/workspace/checkstyle/target/checkstyle-5.7-SNAPSHOT.jar

downloadzip:

validate:
[mkdir] Created dir: 
/srv/gump/public/workspace/tomcat-trunk/output/res/checkstyle
[checkstyle] Running Checkstyle 5.7-SNAPSHOT on 2777 files
[checkstyle] 
/srv/gump/public/workspace/tomcat-trunk/webapps/docs/changelog.xml:67: Line 
matches the illegal pattern '\s+$'.

BUILD FAILED
/srv/gump/public/workspace/tomcat-trunk/build.xml:539: Got 1 errors and 0 
warnings.

Total time: 24 seconds
-

To subscribe to this information via syndicated feeds:
- RSS: 
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/rss.xml
- Atom: 
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/atom.xml

== Gump Tracking Only ===
Produced by Apache Gump(TM) version 2.3.
Gump Run 2014032705, vmgump.apache.org:vmgump:2014032705
Gump E-mail Identifier (unique within run) #3.

--
Apache Gump
http://gump.apache.org/ [Instance: vmgump]

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