Re: cannot read complete HTTP request body. It reads only 8192 characters
On 1 Nov 2011, at 01:43, Anantaneni Harish wrote: > > Any thoughts about this? Only one. Why doesn't request.getParameterXxxx work for you? p > > Thanks and Regards, > Harish > -Original Message- > From: Anantaneni Harish > Sent: Monday, October 31, 2011 11:23 AM > To: Tomcat Users List > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > characters > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = request.getReader(); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads incomplete data(read only 8192 bytes) at my customer's > environment, but reads complete data in my environment. > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = new BufferedReader(new > InputStreamReader(request.getInputStream())); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads complete data in both the environments. *no changes done to > customer's environment. > > I hope you can help me now by finding the reason for data lost at my > customer's environment when using request.getReader(). > > Thanks and Regards, > Harish > > -Original Message- > From: André Warnier [mailto:a...@ice-sa.com] > Sent: Friday, October 28, 2011 9:08 PM > To: Tomcat Users List > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > characters > > Konstantin Kolinko wrote: >> 2011/10/27 Christopher Schultz : >>> On 10/27/2011 4:58 AM, Anantaneni Harish wrote: >>>> Thanks for the directions the Rainer. Actually the issue is just >>>> solved. >>>> >>>> We have changed from BufferedReader in = request.getReader(); >>>> >>>> to >>>> >>>> BufferedReader in = new BufferedReader(new >>>> InputStreamReader(request.getInputStream())); >>>> >>>> Now whole body has been read at my client's environment as well. >>>> >>>> But would like to know, what causes the issue. Do you have any >>>> idea, why same method can read whole data in my environment and >>>> does not read whole data at my customer's environment? >>> You'll have to provide more information, such as the code you are >>> using. >>> >>> I'm fairly sure Tomcat is not the source of the problem. >>> >> >> +1. >> >> I think you need to pay more attention on the documentation of the >> java.io.Reader#read() method, or maybe look for a tutorial. >> >> See also documentation for java.io.InputStream#available(). >> >> In short: the read() method returns a portion of data that is >> currently available. If you need more data you must call read() >> repeatedly in a loop until it returns -1. >> > > .. and the difference between two systems, may be that on one system, the > network is > faster (or the system slower, or the buffer bigger) and so by the time you do > the read, > there are more bytes available in the buffer. > >> If you had provided some of your source code that performs reading, we >> would be able to point at the exact error in your code. >> > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: cannot read complete HTTP request body. It reads only 8192 characters
Dear Kolinko, Thanks for the link below. I have seen this resolution before. But the tomcat version is not applicable. I was wondering what else might cause this issue. The exact issue is that only 8192 bytes of POST request are read, when using below code. > BufferedReader in = request.getReader(); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); Same code reads whole data within one environment and reads only 8192 bytes in other environment. All the software versions in both environments are same. Only diff is that they physically 2 different hardware servers. I am sure some setting must be different. Would like to know, which is that setting to cause this issue. Thanks and Regards, Harish -Original Message- From: Konstantin Kolinko [mailto:knst.koli...@gmail.com] Sent: Tuesday, November 01, 2011 7:45 PM To: Tomcat Users List Subject: Re: cannot read complete HTTP request body. It reads only 8192 characters 2011/10/31 Anantaneni Harish : > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = request.getReader(); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads incomplete data(read only 8192 bytes) at my customer's > environment, but reads complete data in my environment. > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = new BufferedReader(new > InputStreamReader(request.getInputStream())); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads complete data in both the environments. *no changes done to > customer's environment. > > I hope you can help me now by finding the reason for data lost at my > customer's environment when using request.getReader(). > > Thanks and Regards, > Harish > The code looks OK. The readLine() implementation is provided by org.apache.catalina.connector.CoyoteReader. Looking at the history of that class, there is a known issue https://issues.apache.org/bugzilla/show_bug.cgi?id=42727 "CoyoteReader readLine returns null for some post request bodies that are a multiple of MAX_LINE_LENGTH in size" but it should have been fixed in 5.5.27 and thus in 5.5.28 if that is the version that your customer is using. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: cannot read complete HTTP request body. It reads only 8192 characters
2011/10/31 Anantaneni Harish : > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = request.getReader(); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads incomplete data(read only 8192 bytes) at my customer's > environment, but reads complete data in my environment. > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = new BufferedReader(new > InputStreamReader(request.getInputStream())); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads complete data in both the environments. *no changes done to > customer's environment. > > I hope you can help me now by finding the reason for data lost at my > customer's environment when using request.getReader(). > > Thanks and Regards, > Harish > The code looks OK. The readLine() implementation is provided by org.apache.catalina.connector.CoyoteReader. Looking at the history of that class, there is a known issue https://issues.apache.org/bugzilla/show_bug.cgi?id=42727 "CoyoteReader readLine returns null for some post request bodies that are a multiple of MAX_LINE_LENGTH in size" but it should have been fixed in 5.5.27 and thus in 5.5.28 if that is the version that your customer is using. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: cannot read complete HTTP request body. It reads only 8192 characters
The answer likely lies somewhere in the version and/or configuration of AJP. You never shared the details of these and so no further useful comment is possible. See Rainer Jung's response on 10/27. On Mon, 2011-10-31 at 18:42 -0700, Anantaneni Harish wrote: > Any thoughts about this? > > Thanks and Regards, > Harish > -Original Message- > From: Anantaneni Harish > Sent: Monday, October 31, 2011 11:23 AM > To: Tomcat Users List > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > characters > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = request.getReader(); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads incomplete data(read only 8192 bytes) at my customer's > environment, but reads complete data in my environment. > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = new BufferedReader(new > InputStreamReader(request.getInputStream())); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads complete data in both the environments. *no changes done to > customer's environment. > > I hope you can help me now by finding the reason for data lost at my > customer's environment when using request.getReader(). > > Thanks and Regards, > Harish > > -Original Message----- > From: André Warnier [mailto:a...@ice-sa.com] > Sent: Friday, October 28, 2011 9:08 PM > To: Tomcat Users List > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > characters > > Konstantin Kolinko wrote: > > 2011/10/27 Christopher Schultz : > >> On 10/27/2011 4:58 AM, Anantaneni Harish wrote: > >>> Thanks for the directions the Rainer. Actually the issue is just > >>> solved. > >>> > >>> We have changed from BufferedReader in = request.getReader(); > >>> > >>> to > >>> > >>> BufferedReader in = new BufferedReader(new > >>> InputStreamReader(request.getInputStream())); > >>> > >>> Now whole body has been read at my client's environment as well. > >>> > >>> But would like to know, what causes the issue. Do you have any > >>> idea, why same method can read whole data in my environment and > >>> does not read whole data at my customer's environment? > >> You'll have to provide more information, such as the code you are > >> using. > >> > >> I'm fairly sure Tomcat is not the source of the problem. > >> > > > > +1. > > > > I think you need to pay more attention on the documentation of the > > java.io.Reader#read() method, or maybe look for a tutorial. > > > > See also documentation for java.io.InputStream#available(). > > > > In short: the read() method returns a portion of data that is > > currently available. If you need more data you must call read() > > repeatedly in a loop until it returns -1. > > > > .. and the difference between two systems, may be that on one system, the > network is > faster (or the system slower, or the buffer bigger) and so by the time you do > the read, > there are more bytes available in the buffer. > > > If you had provided some of your source code that performs reading, we > > would be able to point at the exact error in your code. > > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: cannot read complete HTTP request body. It reads only 8192 characters
Have you done the test in your environment simulating the customer one as close as possible? Maybe taking in count their network topology (routers, switches, firewalls), hundreds (possible thousands) of requests per second, network latency, tcp timeout kernel settings, buffer queue etc etc, the code will fail on your server too. For start lets say you might check their /etc/sysctl.conf file and see if their any tcp time settings differences from your server. On Tue, Nov 1, 2011 at 12:58 PM, Anantaneni Harish < anantaneni.har...@vertexsoft.com> wrote: > Dont know :(, must be different. > > Thanks and Regards, > Harish > > -Original Message- > From: Igor Cicimov [mailto:icici...@gmail.com] > Sent: Tuesday, November 01, 2011 10:57 AM > To: Tomcat Users List > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > characters > > And same kernel network settings? > On Nov 1, 2011 12:50 PM, "Anantaneni Harish" < > anantaneni.har...@vertexsoft.com> wrote: > > > Both environments have the following softwares. > > > > OS NameRed Hat Enterprise Linux > >Version release 5.3 (Tikanga) > > JavaNameJava(TM) SE Runtime Environment (build 1.6.0_13-b03) > >Version 1.6.0_13 > > Tomcat Nameapache-tomcat > >Version 5.5.28 > > > > Thanks and Regards, > > Harish > > -Original Message- > > From: Igor Cicimov [mailto:icici...@gmail.com] > > Sent: Tuesday, November 01, 2011 10:47 AM > > To: Tomcat Users List > > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > > characters > > > > You never said what is the difference between your environment and the > > customer one or I missed that info. Same OS? Same Java version? > > > > On Tue, Nov 1, 2011 at 12:42 PM, Anantaneni Harish < > > anantaneni.har...@vertexsoft.com> wrote: > > > > > > > > Any thoughts about this? > > > > > > Thanks and Regards, > > > Harish > > > -Original Message- > > > From: Anantaneni Harish > > > Sent: Monday, October 31, 2011 11:23 AM > > > To: Tomcat Users List > > > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > > > characters > > > > > > String keyValuePair = null; > > > String[] arrKeyValue = null; > > > BufferedReader in = request.getReader(); > > > while ((keyValuePair = in.readLine()) != null) { > > > arrKeyValue = keyValuePair.split("="); > > > > > > Above code reads incomplete data(read only 8192 bytes) at my customer's > > > environment, but reads complete data in my environment. > > > > > > String keyValuePair = null; > > > String[] arrKeyValue = null; > > > BufferedReader in = new BufferedReader(new > > > InputStreamReader(request.getInputStream())); > > > while ((keyValuePair = in.readLine()) != null) { > > > arrKeyValue = keyValuePair.split("="); > > > > > > Above code reads complete data in both the environments. *no changes > done > > > to customer's environment. > > > > > > I hope you can help me now by finding the reason for data lost at my > > > customer's environment when using request.getReader(). > > > > > > Thanks and Regards, > > > Harish > > > > > > -Original Message- > > > From: André Warnier [mailto:a...@ice-sa.com] > > > Sent: Friday, October 28, 2011 9:08 PM > > > To: Tomcat Users List > > > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > > > characters > > > > > > Konstantin Kolinko wrote: > > > > 2011/10/27 Christopher Schultz : > > > >> On 10/27/2011 4:58 AM, Anantaneni Harish wrote: > > > >>> Thanks for the directions the Rainer. Actually the issue is just > > > >>> solved. > > > >>> > > > >>> We have changed from BufferedReader in = request.getReader(); > > > >>> > > > >>> to > > > >>> > > > >>> BufferedReader in = new BufferedReader(new > > > >>> InputStreamReader(request.getInputStream())); > > > >>> > > > >>> Now whole body has been read at my client's environment as well. > > > >>> > > > >>> But would like to know, what causes the issue. Do you have any > > > >>> idea, why same method can read whole data in my
RE: cannot read complete HTTP request body. It reads only 8192 characters
Dont know :(, must be different. Thanks and Regards, Harish -Original Message- From: Igor Cicimov [mailto:icici...@gmail.com] Sent: Tuesday, November 01, 2011 10:57 AM To: Tomcat Users List Subject: RE: cannot read complete HTTP request body. It reads only 8192 characters And same kernel network settings? On Nov 1, 2011 12:50 PM, "Anantaneni Harish" < anantaneni.har...@vertexsoft.com> wrote: > Both environments have the following softwares. > > OS NameRed Hat Enterprise Linux >Version release 5.3 (Tikanga) > JavaNameJava(TM) SE Runtime Environment (build 1.6.0_13-b03) >Version 1.6.0_13 > Tomcat Nameapache-tomcat >Version 5.5.28 > > Thanks and Regards, > Harish > -Original Message- > From: Igor Cicimov [mailto:icici...@gmail.com] > Sent: Tuesday, November 01, 2011 10:47 AM > To: Tomcat Users List > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > characters > > You never said what is the difference between your environment and the > customer one or I missed that info. Same OS? Same Java version? > > On Tue, Nov 1, 2011 at 12:42 PM, Anantaneni Harish < > anantaneni.har...@vertexsoft.com> wrote: > > > > > Any thoughts about this? > > > > Thanks and Regards, > > Harish > > -Original Message----- > > From: Anantaneni Harish > > Sent: Monday, October 31, 2011 11:23 AM > > To: Tomcat Users List > > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > > characters > > > > String keyValuePair = null; > > String[] arrKeyValue = null; > > BufferedReader in = request.getReader(); > > while ((keyValuePair = in.readLine()) != null) { > > arrKeyValue = keyValuePair.split("="); > > > > Above code reads incomplete data(read only 8192 bytes) at my customer's > > environment, but reads complete data in my environment. > > > > String keyValuePair = null; > > String[] arrKeyValue = null; > > BufferedReader in = new BufferedReader(new > > InputStreamReader(request.getInputStream())); > > while ((keyValuePair = in.readLine()) != null) { > > arrKeyValue = keyValuePair.split("="); > > > > Above code reads complete data in both the environments. *no changes done > > to customer's environment. > > > > I hope you can help me now by finding the reason for data lost at my > > customer's environment when using request.getReader(). > > > > Thanks and Regards, > > Harish > > > > -Original Message- > > From: André Warnier [mailto:a...@ice-sa.com] > > Sent: Friday, October 28, 2011 9:08 PM > > To: Tomcat Users List > > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > > characters > > > > Konstantin Kolinko wrote: > > > 2011/10/27 Christopher Schultz : > > >> On 10/27/2011 4:58 AM, Anantaneni Harish wrote: > > >>> Thanks for the directions the Rainer. Actually the issue is just > > >>> solved. > > >>> > > >>> We have changed from BufferedReader in = request.getReader(); > > >>> > > >>> to > > >>> > > >>> BufferedReader in = new BufferedReader(new > > >>> InputStreamReader(request.getInputStream())); > > >>> > > >>> Now whole body has been read at my client's environment as well. > > >>> > > >>> But would like to know, what causes the issue. Do you have any > > >>> idea, why same method can read whole data in my environment and > > >>> does not read whole data at my customer's environment? > > >> You'll have to provide more information, such as the code you are > > >> using. > > >> > > >> I'm fairly sure Tomcat is not the source of the problem. > > >> > > > > > > +1. > > > > > > I think you need to pay more attention on the documentation of the > > > java.io.Reader#read() method, or maybe look for a tutorial. > > > > > > See also documentation for java.io.InputStream#available(). > > > > > > In short: the read() method returns a portion of data that is > > > currently available. If you need more data you must call read() > > > repeatedly in a loop until it returns -1. > > > > > > > .. and the difference between two systems, may be that on one system, the > > network is > > faster (or the system slower, or the buffer bigger) and so by the time &g
RE: cannot read complete HTTP request body. It reads only 8192 characters
And same kernel network settings? On Nov 1, 2011 12:50 PM, "Anantaneni Harish" < anantaneni.har...@vertexsoft.com> wrote: > Both environments have the following softwares. > > OS NameRed Hat Enterprise Linux >Version release 5.3 (Tikanga) > JavaNameJava(TM) SE Runtime Environment (build 1.6.0_13-b03) >Version 1.6.0_13 > Tomcat Nameapache-tomcat >Version 5.5.28 > > Thanks and Regards, > Harish > -Original Message- > From: Igor Cicimov [mailto:icici...@gmail.com] > Sent: Tuesday, November 01, 2011 10:47 AM > To: Tomcat Users List > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > characters > > You never said what is the difference between your environment and the > customer one or I missed that info. Same OS? Same Java version? > > On Tue, Nov 1, 2011 at 12:42 PM, Anantaneni Harish < > anantaneni.har...@vertexsoft.com> wrote: > > > > > Any thoughts about this? > > > > Thanks and Regards, > > Harish > > -Original Message----- > > From: Anantaneni Harish > > Sent: Monday, October 31, 2011 11:23 AM > > To: Tomcat Users List > > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > > characters > > > > String keyValuePair = null; > > String[] arrKeyValue = null; > > BufferedReader in = request.getReader(); > > while ((keyValuePair = in.readLine()) != null) { > > arrKeyValue = keyValuePair.split("="); > > > > Above code reads incomplete data(read only 8192 bytes) at my customer's > > environment, but reads complete data in my environment. > > > > String keyValuePair = null; > > String[] arrKeyValue = null; > > BufferedReader in = new BufferedReader(new > > InputStreamReader(request.getInputStream())); > > while ((keyValuePair = in.readLine()) != null) { > > arrKeyValue = keyValuePair.split("="); > > > > Above code reads complete data in both the environments. *no changes done > > to customer's environment. > > > > I hope you can help me now by finding the reason for data lost at my > > customer's environment when using request.getReader(). > > > > Thanks and Regards, > > Harish > > > > -Original Message- > > From: André Warnier [mailto:a...@ice-sa.com] > > Sent: Friday, October 28, 2011 9:08 PM > > To: Tomcat Users List > > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > > characters > > > > Konstantin Kolinko wrote: > > > 2011/10/27 Christopher Schultz : > > >> On 10/27/2011 4:58 AM, Anantaneni Harish wrote: > > >>> Thanks for the directions the Rainer. Actually the issue is just > > >>> solved. > > >>> > > >>> We have changed from BufferedReader in = request.getReader(); > > >>> > > >>> to > > >>> > > >>> BufferedReader in = new BufferedReader(new > > >>> InputStreamReader(request.getInputStream())); > > >>> > > >>> Now whole body has been read at my client's environment as well. > > >>> > > >>> But would like to know, what causes the issue. Do you have any > > >>> idea, why same method can read whole data in my environment and > > >>> does not read whole data at my customer's environment? > > >> You'll have to provide more information, such as the code you are > > >> using. > > >> > > >> I'm fairly sure Tomcat is not the source of the problem. > > >> > > > > > > +1. > > > > > > I think you need to pay more attention on the documentation of the > > > java.io.Reader#read() method, or maybe look for a tutorial. > > > > > > See also documentation for java.io.InputStream#available(). > > > > > > In short: the read() method returns a portion of data that is > > > currently available. If you need more data you must call read() > > > repeatedly in a loop until it returns -1. > > > > > > > .. and the difference between two systems, may be that on one system, the > > network is > > faster (or the system slower, or the buffer bigger) and so by the time > you > > do the read, > > there are more bytes available in the buffer. > > > > > If you had provided some of your source code that performs reading, we > > > would be able to point at the exact error in your code. > > > > > > > - > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > > > > > > - > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
RE: cannot read complete HTTP request body. It reads only 8192 characters
Both environments have the following softwares. OS NameRed Hat Enterprise Linux Version release 5.3 (Tikanga) JavaNameJava(TM) SE Runtime Environment (build 1.6.0_13-b03) Version 1.6.0_13 Tomcat Nameapache-tomcat Version 5.5.28 Thanks and Regards, Harish -Original Message- From: Igor Cicimov [mailto:icici...@gmail.com] Sent: Tuesday, November 01, 2011 10:47 AM To: Tomcat Users List Subject: Re: cannot read complete HTTP request body. It reads only 8192 characters You never said what is the difference between your environment and the customer one or I missed that info. Same OS? Same Java version? On Tue, Nov 1, 2011 at 12:42 PM, Anantaneni Harish < anantaneni.har...@vertexsoft.com> wrote: > > Any thoughts about this? > > Thanks and Regards, > Harish > -Original Message- > From: Anantaneni Harish > Sent: Monday, October 31, 2011 11:23 AM > To: Tomcat Users List > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > characters > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = request.getReader(); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads incomplete data(read only 8192 bytes) at my customer's > environment, but reads complete data in my environment. > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = new BufferedReader(new > InputStreamReader(request.getInputStream())); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads complete data in both the environments. *no changes done > to customer's environment. > > I hope you can help me now by finding the reason for data lost at my > customer's environment when using request.getReader(). > > Thanks and Regards, > Harish > > -Original Message----- > From: André Warnier [mailto:a...@ice-sa.com] > Sent: Friday, October 28, 2011 9:08 PM > To: Tomcat Users List > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > characters > > Konstantin Kolinko wrote: > > 2011/10/27 Christopher Schultz : > >> On 10/27/2011 4:58 AM, Anantaneni Harish wrote: > >>> Thanks for the directions the Rainer. Actually the issue is just > >>> solved. > >>> > >>> We have changed from BufferedReader in = request.getReader(); > >>> > >>> to > >>> > >>> BufferedReader in = new BufferedReader(new > >>> InputStreamReader(request.getInputStream())); > >>> > >>> Now whole body has been read at my client's environment as well. > >>> > >>> But would like to know, what causes the issue. Do you have any > >>> idea, why same method can read whole data in my environment and > >>> does not read whole data at my customer's environment? > >> You'll have to provide more information, such as the code you are > >> using. > >> > >> I'm fairly sure Tomcat is not the source of the problem. > >> > > > > +1. > > > > I think you need to pay more attention on the documentation of the > > java.io.Reader#read() method, or maybe look for a tutorial. > > > > See also documentation for java.io.InputStream#available(). > > > > In short: the read() method returns a portion of data that is > > currently available. If you need more data you must call read() > > repeatedly in a loop until it returns -1. > > > > .. and the difference between two systems, may be that on one system, the > network is > faster (or the system slower, or the buffer bigger) and so by the time you > do the read, > there are more bytes available in the buffer. > > > If you had provided some of your source code that performs reading, we > > would be able to point at the exact error in your code. > > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: cannot read complete HTTP request body. It reads only 8192 characters
You never said what is the difference between your environment and the customer one or I missed that info. Same OS? Same Java version? On Tue, Nov 1, 2011 at 12:42 PM, Anantaneni Harish < anantaneni.har...@vertexsoft.com> wrote: > > Any thoughts about this? > > Thanks and Regards, > Harish > -Original Message- > From: Anantaneni Harish > Sent: Monday, October 31, 2011 11:23 AM > To: Tomcat Users List > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > characters > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = request.getReader(); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads incomplete data(read only 8192 bytes) at my customer's > environment, but reads complete data in my environment. > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = new BufferedReader(new > InputStreamReader(request.getInputStream())); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads complete data in both the environments. *no changes done > to customer's environment. > > I hope you can help me now by finding the reason for data lost at my > customer's environment when using request.getReader(). > > Thanks and Regards, > Harish > > -Original Message----- > From: André Warnier [mailto:a...@ice-sa.com] > Sent: Friday, October 28, 2011 9:08 PM > To: Tomcat Users List > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > characters > > Konstantin Kolinko wrote: > > 2011/10/27 Christopher Schultz : > >> On 10/27/2011 4:58 AM, Anantaneni Harish wrote: > >>> Thanks for the directions the Rainer. Actually the issue is just > >>> solved. > >>> > >>> We have changed from BufferedReader in = request.getReader(); > >>> > >>> to > >>> > >>> BufferedReader in = new BufferedReader(new > >>> InputStreamReader(request.getInputStream())); > >>> > >>> Now whole body has been read at my client's environment as well. > >>> > >>> But would like to know, what causes the issue. Do you have any > >>> idea, why same method can read whole data in my environment and > >>> does not read whole data at my customer's environment? > >> You'll have to provide more information, such as the code you are > >> using. > >> > >> I'm fairly sure Tomcat is not the source of the problem. > >> > > > > +1. > > > > I think you need to pay more attention on the documentation of the > > java.io.Reader#read() method, or maybe look for a tutorial. > > > > See also documentation for java.io.InputStream#available(). > > > > In short: the read() method returns a portion of data that is > > currently available. If you need more data you must call read() > > repeatedly in a loop until it returns -1. > > > > .. and the difference between two systems, may be that on one system, the > network is > faster (or the system slower, or the buffer bigger) and so by the time you > do the read, > there are more bytes available in the buffer. > > > If you had provided some of your source code that performs reading, we > > would be able to point at the exact error in your code. > > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
RE: cannot read complete HTTP request body. It reads only 8192 characters
Any thoughts about this? Thanks and Regards, Harish -Original Message- From: Anantaneni Harish Sent: Monday, October 31, 2011 11:23 AM To: Tomcat Users List Subject: RE: cannot read complete HTTP request body. It reads only 8192 characters String keyValuePair = null; String[] arrKeyValue = null; BufferedReader in = request.getReader(); while ((keyValuePair = in.readLine()) != null) { arrKeyValue = keyValuePair.split("="); Above code reads incomplete data(read only 8192 bytes) at my customer's environment, but reads complete data in my environment. String keyValuePair = null; String[] arrKeyValue = null; BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream())); while ((keyValuePair = in.readLine()) != null) { arrKeyValue = keyValuePair.split("="); Above code reads complete data in both the environments. *no changes done to customer's environment. I hope you can help me now by finding the reason for data lost at my customer's environment when using request.getReader(). Thanks and Regards, Harish -Original Message- From: André Warnier [mailto:a...@ice-sa.com] Sent: Friday, October 28, 2011 9:08 PM To: Tomcat Users List Subject: Re: cannot read complete HTTP request body. It reads only 8192 characters Konstantin Kolinko wrote: > 2011/10/27 Christopher Schultz : >> On 10/27/2011 4:58 AM, Anantaneni Harish wrote: >>> Thanks for the directions the Rainer. Actually the issue is just >>> solved. >>> >>> We have changed from BufferedReader in = request.getReader(); >>> >>> to >>> >>> BufferedReader in = new BufferedReader(new >>> InputStreamReader(request.getInputStream())); >>> >>> Now whole body has been read at my client's environment as well. >>> >>> But would like to know, what causes the issue. Do you have any >>> idea, why same method can read whole data in my environment and >>> does not read whole data at my customer's environment? >> You'll have to provide more information, such as the code you are >> using. >> >> I'm fairly sure Tomcat is not the source of the problem. >> > > +1. > > I think you need to pay more attention on the documentation of the > java.io.Reader#read() method, or maybe look for a tutorial. > > See also documentation for java.io.InputStream#available(). > > In short: the read() method returns a portion of data that is > currently available. If you need more data you must call read() > repeatedly in a loop until it returns -1. > .. and the difference between two systems, may be that on one system, the network is faster (or the system slower, or the buffer bigger) and so by the time you do the read, there are more bytes available in the buffer. > If you had provided some of your source code that performs reading, we > would be able to point at the exact error in your code. > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: cannot read complete HTTP request body. It reads only 8192 characters
String keyValuePair = null; String[] arrKeyValue = null; BufferedReader in = request.getReader(); while ((keyValuePair = in.readLine()) != null) { arrKeyValue = keyValuePair.split("="); Above code reads incomplete data(read only 8192 bytes) at my customer's environment, but reads complete data in my environment. String keyValuePair = null; String[] arrKeyValue = null; BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream())); while ((keyValuePair = in.readLine()) != null) { arrKeyValue = keyValuePair.split("="); Above code reads complete data in both the environments. *no changes done to customer's environment. I hope you can help me now by finding the reason for data lost at my customer's environment when using request.getReader(). Thanks and Regards, Harish -Original Message- From: André Warnier [mailto:a...@ice-sa.com] Sent: Friday, October 28, 2011 9:08 PM To: Tomcat Users List Subject: Re: cannot read complete HTTP request body. It reads only 8192 characters Konstantin Kolinko wrote: > 2011/10/27 Christopher Schultz : >> On 10/27/2011 4:58 AM, Anantaneni Harish wrote: >>> Thanks for the directions the Rainer. Actually the issue is just >>> solved. >>> >>> We have changed from BufferedReader in = request.getReader(); >>> >>> to >>> >>> BufferedReader in = new BufferedReader(new >>> InputStreamReader(request.getInputStream())); >>> >>> Now whole body has been read at my client's environment as well. >>> >>> But would like to know, what causes the issue. Do you have any >>> idea, why same method can read whole data in my environment and >>> does not read whole data at my customer's environment? >> You'll have to provide more information, such as the code you are >> using. >> >> I'm fairly sure Tomcat is not the source of the problem. >> > > +1. > > I think you need to pay more attention on the documentation of the > java.io.Reader#read() method, or maybe look for a tutorial. > > See also documentation for java.io.InputStream#available(). > > In short: the read() method returns a portion of data that is > currently available. If you need more data you must call read() > repeatedly in a loop until it returns -1. > .. and the difference between two systems, may be that on one system, the network is faster (or the system slower, or the buffer bigger) and so by the time you do the read, there are more bytes available in the buffer. > If you had provided some of your source code that performs reading, we > would be able to point at the exact error in your code. > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: cannot read complete HTTP request body. It reads only 8192 characters
Konstantin Kolinko wrote: 2011/10/27 Christopher Schultz : On 10/27/2011 4:58 AM, Anantaneni Harish wrote: Thanks for the directions the Rainer. Actually the issue is just solved. We have changed from BufferedReader in = request.getReader(); to BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream())); Now whole body has been read at my client's environment as well. But would like to know, what causes the issue. Do you have any idea, why same method can read whole data in my environment and does not read whole data at my customer's environment? You'll have to provide more information, such as the code you are using. I'm fairly sure Tomcat is not the source of the problem. +1. I think you need to pay more attention on the documentation of the java.io.Reader#read() method, or maybe look for a tutorial. See also documentation for java.io.InputStream#available(). In short: the read() method returns a portion of data that is currently available. If you need more data you must call read() repeatedly in a loop until it returns -1. .. and the difference between two systems, may be that on one system, the network is faster (or the system slower, or the buffer bigger) and so by the time you do the read, there are more bytes available in the buffer. If you had provided some of your source code that performs reading, we would be able to point at the exact error in your code. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: cannot read complete HTTP request body. It reads only 8192 characters
2011/10/27 Christopher Schultz : > On 10/27/2011 4:58 AM, Anantaneni Harish wrote: >> Thanks for the directions the Rainer. Actually the issue is just >> solved. >> >> We have changed from BufferedReader in = request.getReader(); >> >> to >> >> BufferedReader in = new BufferedReader(new >> InputStreamReader(request.getInputStream())); >> >> Now whole body has been read at my client's environment as well. >> >> But would like to know, what causes the issue. Do you have any >> idea, why same method can read whole data in my environment and >> does not read whole data at my customer's environment? > > You'll have to provide more information, such as the code you are > using. > > I'm fairly sure Tomcat is not the source of the problem. > +1. I think you need to pay more attention on the documentation of the java.io.Reader#read() method, or maybe look for a tutorial. See also documentation for java.io.InputStream#available(). In short: the read() method returns a portion of data that is currently available. If you need more data you must call read() repeatedly in a loop until it returns -1. If you had provided some of your source code that performs reading, we would be able to point at the exact error in your code. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: cannot read complete HTTP request body. It reads only 8192 characters
Hi Chris, Could you please let me know, the info you required? Thanks and Regards, Harish -Original Message- From: Christopher Schultz [mailto:ch...@christopherschultz.net] Sent: Friday, October 28, 2011 12:39 AM To: Tomcat Users List Subject: Re: cannot read complete HTTP request body. It reads only 8192 characters -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Harish, On 10/27/2011 4:58 AM, Anantaneni Harish wrote: > Thanks for the directions the Rainer. Actually the issue is just > solved. > > We have changed from BufferedReader in = request.getReader(); > > to > > BufferedReader in = new BufferedReader(new > InputStreamReader(request.getInputStream())); > > Now whole body has been read at my client's environment as well. > > But would like to know, what causes the issue. Do you have any > idea, why same method can read whole data in my environment and > does not read whole data at my customer's environment? You'll have to provide more information, such as the code you are using. I'm fairly sure Tomcat is not the source of the problem. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6pewkACgkQ9CaO5/Lv0PAauACgmlp9pj8zXe16vpEZv7I8hhg3 vWQAoJJTLEsjoRD/7Yzegy9qQ5rekRZN =pINS -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: cannot read complete HTTP request body. It reads only 8192 characters
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Harish, On 10/27/2011 4:58 AM, Anantaneni Harish wrote: > Thanks for the directions the Rainer. Actually the issue is just > solved. > > We have changed from BufferedReader in = request.getReader(); > > to > > BufferedReader in = new BufferedReader(new > InputStreamReader(request.getInputStream())); > > Now whole body has been read at my client's environment as well. > > But would like to know, what causes the issue. Do you have any > idea, why same method can read whole data in my environment and > does not read whole data at my customer's environment? You'll have to provide more information, such as the code you are using. I'm fairly sure Tomcat is not the source of the problem. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6pewkACgkQ9CaO5/Lv0PAauACgmlp9pj8zXe16vpEZv7I8hhg3 vWQAoJJTLEsjoRD/7Yzegy9qQ5rekRZN =pINS -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: cannot read complete HTTP request body. It reads only 8192 characters
Thanks for the directions the Rainer. Actually the issue is just solved. We have changed from BufferedReader in = request.getReader(); to BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream())); Now whole body has been read at my client's environment as well. But would like to know, what causes the issue. Do you have any idea, why same method can read whole data in my environment and does not read whole data at my customer's environment? Thanks and Regards, Harish -Original Message- From: Rainer Jung [mailto:rainer.j...@kippdata.de] Sent: Thursday, October 27, 2011 5:52 PM To: users@tomcat.apache.org Subject: Re: cannot read complete HTTP request body. It reads only 8192 characters On 27.10.2011 06:02, Anantaneni Harish wrote: > -Original Message- > From: Anantaneni Harish > Sent: Wednesday, October 26, 2011 3:01 PM > To: Tomcat Users List > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > characters > > Thanks for your response. > > The issue is on the following environment. > > OS: Red Hat Enterprise Linux Server release 5. > Java: 1.6 > Tomcat 5.5.28 Which web server, module talking AJP and Tomcat connector is used? If Apache plus mod_jk: can you or your customer reproduce the problem on a test environment? If so switch mod_jk to JkLogLevel trace (Caution: not meant for production load!) and post the full log output for the problematic request. Remove or overwrite any confidential info contained in the log output. Regards, Rainer > -Original Message- > From: Pid * [mailto:p...@pidster.com] > Sent: Wednesday, October 26, 2011 2:56 PM > To: Tomcat Users List > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > characters > > On 26 Oct 2011, at 06:31, Anantaneni Harish > wrote: > >> We have an environment using HTTP connector, >> customer environment using AJP connector. In HTTP environment this issue is >> not occured. >> but in the AJP environment cannot read complete HTTP request body. It reads >> only 8192 characters >> >> Can some help me, if there are any settings to be changed? > > Yes, there are. > > (Hint: give us some real info* and we'll return the favour) > > > p > > * e.g. Exact OS, Java, Tomcat versions. > > > >> >> Thanks and Regards, >> Harish - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: cannot read complete HTTP request body. It reads only 8192 characters
On 27.10.2011 06:02, Anantaneni Harish wrote: > -Original Message- > From: Anantaneni Harish > Sent: Wednesday, October 26, 2011 3:01 PM > To: Tomcat Users List > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > characters > > Thanks for your response. > > The issue is on the following environment. > > OS: Red Hat Enterprise Linux Server release 5. > Java: 1.6 > Tomcat 5.5.28 Which web server, module talking AJP and Tomcat connector is used? If Apache plus mod_jk: can you or your customer reproduce the problem on a test environment? If so switch mod_jk to JkLogLevel trace (Caution: not meant for production load!) and post the full log output for the problematic request. Remove or overwrite any confidential info contained in the log output. Regards, Rainer > -Original Message- > From: Pid * [mailto:p...@pidster.com] > Sent: Wednesday, October 26, 2011 2:56 PM > To: Tomcat Users List > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > characters > > On 26 Oct 2011, at 06:31, Anantaneni Harish > wrote: > >> We have an environment using HTTP connector, >> customer environment using AJP connector. In HTTP environment this issue is >> not occured. >> but in the AJP environment cannot read complete HTTP request body. It reads >> only 8192 characters >> >> Can some help me, if there are any settings to be changed? > > Yes, there are. > > (Hint: give us some real info* and we'll return the favour) > > > p > > * e.g. Exact OS, Java, Tomcat versions. > > > >> >> Thanks and Regards, >> Harish - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: cannot read complete HTTP request body. It reads only 8192 characters
Please help on this. Thanks and Regards, Harish -Original Message- From: Anantaneni Harish Sent: Wednesday, October 26, 2011 3:01 PM To: Tomcat Users List Subject: RE: cannot read complete HTTP request body. It reads only 8192 characters Thanks for your response. The issue is on the following environment. OS: Red Hat Enterprise Linux Server release 5. Java: 1.6 Tomcat 5.5.28 Thanks and Regards, Harish -Original Message- From: Pid * [mailto:p...@pidster.com] Sent: Wednesday, October 26, 2011 2:56 PM To: Tomcat Users List Subject: Re: cannot read complete HTTP request body. It reads only 8192 characters On 26 Oct 2011, at 06:31, Anantaneni Harish wrote: > We have an environment using HTTP connector, > customer environment using AJP connector. In HTTP environment this issue is > not occured. > but in the AJP environment cannot read complete HTTP request body. It reads > only 8192 characters > > Can some help me, if there are any settings to be changed? Yes, there are. (Hint: give us some real info* and we'll return the favour) p * e.g. Exact OS, Java, Tomcat versions. > > Thanks and Regards, > Harish > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: cannot read complete HTTP request body. It reads only 8192 characters
Thanks for your response. The issue is on the following environment. OS: Red Hat Enterprise Linux Server release 5. Java: 1.6 Tomcat 5.5.28 Thanks and Regards, Harish -Original Message- From: Pid * [mailto:p...@pidster.com] Sent: Wednesday, October 26, 2011 2:56 PM To: Tomcat Users List Subject: Re: cannot read complete HTTP request body. It reads only 8192 characters On 26 Oct 2011, at 06:31, Anantaneni Harish wrote: > We have an environment using HTTP connector, > customer environment using AJP connector. In HTTP environment this issue is > not occured. > but in the AJP environment cannot read complete HTTP request body. It reads > only 8192 characters > > Can some help me, if there are any settings to be changed? Yes, there are. (Hint: give us some real info* and we'll return the favour) p * e.g. Exact OS, Java, Tomcat versions. > > Thanks and Regards, > Harish > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: cannot read complete HTTP request body. It reads only 8192 characters
On 26 Oct 2011, at 06:31, Anantaneni Harish wrote: > We have an environment using HTTP connector, > customer environment using AJP connector. In HTTP environment this issue is > not occured. > but in the AJP environment cannot read complete HTTP request body. It reads > only 8192 characters > > Can some help me, if there are any settings to be changed? Yes, there are. (Hint: give us some real info* and we'll return the favour) p * e.g. Exact OS, Java, Tomcat versions. > > Thanks and Regards, > Harish > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
cannot read complete HTTP request body. It reads only 8192 characters
We have an environment using HTTP connector, customer environment using AJP connector. In HTTP environment this issue is not occured. but in the AJP environment cannot read complete HTTP request body. It reads only 8192 characters Can some help me, if there are any settings to be changed? Thanks and Regards, Harish