On 07.03.2009 08:18, mt...@apache.org wrote:
Author: mturk
Date: Sat Mar 7 07:18:08 2009
New Revision: 751213
URL: http://svn.apache.org/viewvc?rev=751213&view=rev
Log:
Retun protocol error from ajp get message.
This allows to make difference weather we got something from the server or the
nothing at all.
Good thing.
Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?rev=751213&r1=751212&r2=751213&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Sat Mar 7 07:18:08
2009
@@ -1288,6 +1288,17 @@
rec->s->error_time = 0;
rc = JK_FALSE;
}
+ else if (service_stat == JK_AJP_PROTOCOL_ERROR) {
+ /*
+ * We've received the bad AJP message from the backend.
+ * Don't mark the node as bad.
+ * Failing over to another node could help.
+ */
+ rec->s->state = JK_LB_STATE_OK;
Now you make me wonder again: if the backend responds with messages, but
those are not AJP compliant, isn't that a good reason to take it out of
service, i.e. setting global to ERROR?
It is not just an overload situation, the thing either can't talk AJP,
or it is OutOfMemory or something similar.
Why do we think it has any chance to heal itself?
+ p->states[rec->i] = JK_LB_STATE_ERROR;
+ rec->s->error_time = 0;
+ rc = JK_FALSE;
+ }
else if (service_stat == JK_STATUS_FATAL_ERROR) {
/*
* Status code configured as service is down.
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org