OK,

the 6.x port is on my agenda :-)

Many thanks
Peter


Am 17.08.2007 um 14:03 schrieb Takayuki Kaneko:

Hi Peter,

Thanks for quick fix. :-)
I confirmed that this fix was well.

BTW, I made a patch for same change on tc6.
http://issues.apache.org/bugzilla/show_bug.cgi?id=43154

Regards,

On 8/17/07, Peter Rossbach <[EMAIL PROTECTED]> wrote:
Hi Takayuki,

Argg, you are right and I find the problem. Only the CoyoteAdaptor
flush the CoyoteResponse buffer. Arrg!
Please check newest 5.5 dev trunk.

regards
peter

Hint: The content length of jsp-examples/index.html between 5.5.23
and 5.5 trunk is not the same after
Marks lisence update.


Am 17.08.2007 um 11:04 schrieb Takayuki Kaneko:

Hi, Peter.
I noticed that AccessLogValve cannot print the byte size correctly
after your patch.

ex.)

/jsp-examples/index.html is 16764 bytes.

before applying patch.
127.0.0.1 - - [17/Aug/2007:17:58:21 +0900] "GET
/jsp-examples/index.html HTTP/1.1" 200 16764

after applying patch.
127.0.0.1 - - [17/Aug/2007:17:55:41 +0900] "GET
/jsp-examples/index.html HTTP/1.1" 200 16384

Regards,

On 8/14/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Author: pero
Date: Mon Aug 13 11:12:51 2007
New Revision: 565463

URL: http://svn.apache.org/viewvc?view=rev&rev=565463
Log:
Improve large-file support (more then 4 Gb) at all AccessLogValves.

Modified:
    tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/AccessLogValve.java
    tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/ExtendedAccessLogValve.java
    tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/FastCommonAccessLogValve.java
    tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/JDBCAccessLogValve.java
    tomcat/container/tc5.5.x/webapps/docs/changelog.xml

Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/AccessLogValve.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/
catalina/src/share/org/apache/catalina/valves/AccessLogValve.java?
view=diff&rev=565463&r1=565462&r2=565463
=================================================================== ==
=========
--- tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/AccessLogValve.java (original)
+++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/AccessLogValve.java Mon Aug 13 11:12:51 2007
@@ -120,7 +120,7 @@
      * Construct a new instance of this class with default
property values.
      */
     public AccessLogValve() {
-
+
         super();
         setPattern("common");

@@ -599,8 +599,7 @@

             result.append(space);

-            int length = response.getContentCount();
-
+            long length = response.getCoyoteResponse
().getBytesWritten() ;
             if (length <= 0)
                 value = "-";
             else
@@ -805,13 +804,15 @@
                 value = "127.0.0.1";
             }
         } else if (pattern == 'b') {
-            int length = response.getContentCount();
+            //int length = response.getContentCount();
+            long length = response.getCoyoteResponse
().getBytesWritten() ;
             if (length <= 0)
                 value = "-";
             else
                 value = "" + length;
         } else if (pattern == 'B') {
-            value = "" + response.getContentLength();
+            //value = "" + response.getContentLength();
+            value = "" + response.getCoyoteResponse
().getBytesWritten();
         } else if (pattern == 'h') {
             value = request.getRemoteHost();
         } else if (pattern == 'H') {

Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/ExtendedAccessLogValve.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/
catalina/src/share/org/apache/catalina/valves/
ExtendedAccessLogValve.java? view=diff&rev=565463&r1=565462&r2=565463 =================================================================== ==
=========
--- tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/ExtendedAccessLogValve.java (original)
+++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/ExtendedAccessLogValve.java Mon Aug 13 11:12:51 2007
@@ -584,7 +584,7 @@
                     else if (FieldInfo.SPECIAL_TIME==fieldInfos
[i].location)
                         result.append(timeFormatter.format(date));
                     else if (FieldInfo.SPECIAL_BYTES==fieldInfos
[i].location) {
-                        int length = response.getContentCount();
+                        long length = response.getCoyoteResponse
().getBytesWritten() ;
                         if (length > 0)
                             result.append(length);
                         else
@@ -744,7 +744,7 @@

FieldInfo.X_LOC_REQUESTEDSESSIONIDVALID) {
                     return wrap
(""+request.isRequestedSessionIdValid());
                 } else if
(fieldInfo.location==FieldInfo.X_LOC_CONTENTLENGTH) {
-                    return wrap(""+request.getContentLength());
+                    return wrap(""+request.getCoyoteRequest
().getContentLengthLong());
                 } else if (fieldInfo.location==
                             FieldInfo.X_LOC_CHARACTERENCODING) {
                     return wrap(request.getCharacterEncoding());

Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/FastCommonAccessLogValve.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/
catalina/src/share/org/apache/catalina/valves/
FastCommonAccessLogValve.java?
view=diff&rev=565463&r1=565462&r2=565463
=================================================================== ==
=========
--- tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/FastCommonAccessLogValve.java (original)
+++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/FastCommonAccessLogValve.java Mon Aug 13 11:12:51
2007
@@ -523,8 +523,8 @@

         result.append(space);

-        int length = response.getContentCount();
-
+        long length = response.getCoyoteResponse().getBytesWritten
() ;
+
         if (length <= 0)
             value = "-";
         else

Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/JDBCAccessLogValve.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/
catalina/src/share/org/apache/catalina/valves/
JDBCAccessLogValve.java?view=diff&rev=565463&r1=565462&r2=565463
=================================================================== ==
=========
--- tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/JDBCAccessLogValve.java (original)
+++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/
catalina/valves/JDBCAccessLogValve.java Mon Aug 13 11:12:51 2007
@@ -93,6 +93,10 @@
  * INDEX (userAgent)
  * );
  * </pre>
+ * <p>Set JDBCAccessLogValve attribute
useLongContentLength="true" as you have more then 4GB outputs.
+ * Please, use long SQL datatype at access.bytes attribute.
+ * The datatype of bytes at oracle is <i>number</i> and other
databases use <i>bytes BIGINT NOT NULL</i>.</p>
+ *
  * <p>
  * If the table is created as above, its name and the field names
don't need
  * to be defined.
@@ -115,7 +119,6 @@

     //
-----------------------------------------------------------
Constructors

-
     /**
      * Class constructor. Initializes the fields with the default
values.
      * The defaults are:
@@ -162,7 +165,12 @@

     // -----------------------------------------------------
Instance Variables

-
+   /**
+    * Use long contentLength as you have more 4 GB output.
+    * @since 5.5.25
+    */
+    protected boolean useLongContentLength = false ;
+
    /**
      * The connection username to use when trying to connect to
the database.
      */
@@ -419,6 +427,12 @@
         this.resolveHosts = new Boolean(resolveHosts).booleanValue
();
     }

+    /**
+     * @param useLongContentLength the useLongContentLength to set
+     */
+    public void setUseLongContentLength(boolean
useLongContentLength) {
+        this.useLongContentLength = useLongContentLength;
+    }

     // ---------------------------------------------------------
Public Methods

@@ -449,7 +463,8 @@
         String query="";
         if(request != null)
             query = request.getRequestURI();
-        int bytes = response.getContentCount();
+        long bytes = response.getCoyoteResponse().getBytesWritten
() ;
+
         if(bytes < 0)
             bytes = 0;
         int status = response.getStatus();
@@ -465,7 +480,14 @@
                 ps.setTimestamp(3, new Timestamp
(getCurrentTimeMillis()));
                 ps.setString(4, query);
                 ps.setInt(5, status);
-                ps.setInt(6, bytes);
+
+                if(useLongContentLength) {
+                    ps.setLong(6, bytes);
+                } else {
+                    if (bytes > Integer.MAX_VALUE)
+                        bytes = -1 ;
+                    ps.setInt(6, (int) bytes);
+                }
                 if (pattern.equals("combined")) {

                       String virtualHost = "";

Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/
docs/changelog.xml?view=diff&rev=565463&r1=565462&r2=565463
=================================================================== ==
=========
--- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Mon Aug 13
11:12:51 2007
@@ -37,7 +37,7 @@
         Correct j.u.l log levels in JULI docs. (rjung)
       </docs>
       <update>
-        Update to Commons Modeler 2.0.1, fix embed release
starting issue (pero)
+        Update to Commons Modeler 2.0.1, fix embed release
starting issue. (pero)
       </update>
     </changelog>
   </subsection>
@@ -76,6 +76,9 @@
       <fix>
         <bug>42944</bug>: Correctly handle servlet mappings that
use a '+'
         character as part of the url pattern. (markt)
+      </fix>
+      <fix>
+        Improve large-file support (more then 4 Gb) at all
AccessLogValves. (pero)
       </fix>
     </changelog>
   </subsection>



------------------------------------------------------------------- --
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-------------------------------------------------------------------- -
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to