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