[ 
https://issues.apache.org/jira/browse/TOBAGO-271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474499
 ] 

Dennis Hauser commented on TOBAGO-271:
--------------------------------------

We've found the original issue causing the problem:

URL's in Internet Explorer are limited to 2083 characters (see: 
http://support.microsoft.com/kb/208427/EN-US/ )

As Tobago is serializing the form for ajax requests into a get request the 
resulting url can become greater (>4000 charcters in our case).

I am not sure what IE is doing, simply cutting the request to 2083 chars, not 
sending anything, etc. However, this has to be handled somehow, either while 
creating the request on the client or while processing a corrupted request on 
the server.

> Concurrent requests can result in a full freeze
> -----------------------------------------------
>
>                 Key: TOBAGO-271
>                 URL: https://issues.apache.org/jira/browse/TOBAGO-271
>             Project: MyFaces Tobago
>          Issue Type: Bug
>    Affects Versions: 1.0.9
>         Environment: Internet Explorer (Firefox seems to be ok)
>            Reporter: Dennis Hauser
>         Attachments: screenshot-1.jpg, tobago.js.diff
>
>
> When there is more than one ajax component on a page, the client somtimes 
> freezes. It seems that if there is more than one request in the queue, the 
> system will stop working (no submit possible). The last debug message is 
> "Request queued!", which seems to come from the following code in tobago.js:
> Tobago.Transport = {
>   requests: new Array(),
>   pageSubmited: false,
>   request: function(req, submitPage) {
>     if (submitPage) {
>         this.pageSubmited = true;
>         this.requests.push(req);
>     } else if (!this.pageSubmited) {
>       this.requests.push(req);
>     } else {
>         return;
>     }
>     if (this.requests.length == 1) {        <--------------------------- 
> maybe this is the problem. What about "this.requests.length > 0" ?
>       LOG.debug("Execute request!");
>       this.requests[0]();
>     } else {
>       LOG.debug("Request queued!");
>     }
>   },
>   requestComplete: function() {
>     this.requests.shift();
>     LOG.debug("Request complete! Queue size : " + this.requests.length);
>     if (this.requests.length > 0) {
>       LOG.debug("Execute request!");
>       this.requests[0]();
>     }
>   }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to