You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by jule <ju...@gmail.com> on 2010/09/30 23:53:40 UTC

AJAX: Error occurred in poll. HTTP result: 200, status: parsererror

Hi,

I see the following log message if a poll times out and an empty response is
received:

Error occurred in poll. HTTP result: 200, status: parsererror ----->
amq_jquery_adapter.js:94

Investigating this with the JS debugging tools shows the brokers response:
xhr.responseText: "<ajax-response> </ajax-response> "
xhr.responseXML: null

The log entry itself would not be a problem, but the default behaviour of
the amq.js is: It will wait for 5 seconds until it does the next poll. This
is perfectly fine in case of server-side congestion issues but it will lead
to a client not receiving messages for 5 seconds after each poll.

I overcame this issue by setting the 5 seconds error timeout to 0 seconds
but that can´t be the solution: If the broker or the connection goes down,
this configuration will lead to a client trying to poll as fast as it can
(you´ll have thousands of tries within seconds). 

Is this a known issue? Does anybody see the same?

Best regards
-- 
View this message in context: http://activemq.2283324.n4.nabble.com/AJAX-Error-occurred-in-poll-HTTP-result-200-status-parsererror-tp2764553p2764553.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: AJAX: Error occurred in poll. HTTP result: 200, status: parsererror

Posted by Alex Dean <al...@crackpot.org>.
On Sep 30, 2010, at 4:53 PM, jule wrote:

> 
> Hi,
> 
> I see the following log message if a poll times out and an empty response is
> received:
> 
> Error occurred in poll. HTTP result: 200, status: parsererror ----->
> amq_jquery_adapter.js:94
> 
> Investigating this with the JS debugging tools shows the brokers response:
> xhr.responseText: "<ajax-response> </ajax-response> "
> xhr.responseXML: null
> 
> The log entry itself would not be a problem, but the default behaviour of
> the amq.js is: It will wait for 5 seconds until it does the next poll. This
> is perfectly fine in case of server-side congestion issues but it will lead
> to a client not receiving messages for 5 seconds after each poll.
> 
> I overcame this issue by setting the 5 seconds error timeout to 0 seconds
> but that can´t be the solution: If the broker or the connection goes down,
> this configuration will lead to a client trying to poll as fast as it can
> (you´ll have thousands of tries within seconds). 
> 
> Is this a known issue? Does anybody see the same?
> 

The current ajax code doesn't set a Content-Type header when the response is empty.  The client gets a Content-Type header of 'text/plain', which causes jQuery to not populate response.responseXML.  So even though XML is being returned, jquery doesn't recognize it as such.

The fix for this (which is just to move 2 lines of code, so Content-Type is always set to 'text/xml') is in https://issues.apache.org/activemq/browse/AMQ-2948.

alex