some requests never return
ronanker Sep 14, 2009 7:58 AM
Hi all Richfaces users,
We are using JSF 1.2 (with JSP) and RichFaces 3.3.1.
We have a problem in our production environnement. Sometimes, an end user send a request (ajax or not, but more often ajax) but the request never returns.
The "onstop" of our a4j:status is never called (and our application seems to be freezed to the end user).
The only way we achieve to reproduce the problem is to send a request and then just turn off the network connection (a wifi connection for instance).
This is not always reproductible sometimes we have the following logs:
In this case, everything goes right the "onstop" is called.
debug[13:23:26,415]: Reqest end with state 4
error[13:23:26,416]: request don't have status code - network problem, Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.statusText]
error[13:23:26,416]: Reqest error, status : 599 Network error
But sometimes the request seems never ends.
Here is the browser debug logs:
debug[13:15:42,313]: Have Event [object Object] with properties: target: http://our.test.server/MonitorMakerWeb/reporter/saisie_projet/reporter_projet.jsf#, srcElement: undefined, type: click debug[13:15:42,313]: Query preparation for form 'formMenu' requested debug[13:15:42,317]: Form have onsubmit function, call it debug[13:15:42,336]: Append hidden control formMenu with value [formMenu] and value attribute [formMenu] debug[13:15:42,336]: Append text control formMenu:j_id_jsp_1629414703_17pc8 with value [] and value attribute [] .... a lots of lines like above .... debug[13:15:42,356]: Append select-one control formMenu:j_id_jsp_1873225254_31pc7_SELECT with value [1] and value attribute [null] debug[13:15:42,356]: Append hidden control formMenu:j_id_jsp_1873225254_0pc7 with value [formMenu:j_id_jsp_1873225254_1pc7] and value attribute [formMenu:j_id_jsp_1873225254_1pc7] debug[13:15:42,356]: Append hidden control javax.faces.ViewState with value [j_id8] and value attribute [j_id8] debug[13:15:42,357]: parameter onglet with value MOD_JALON debug[13:15:42,357]: parameter ajaxSingle with value formMenu:repeat_projets:0:j_id_jsp_1873225254_24pc7:0:j_id_jsp_1873225254_28pc7 debug[13:15:42,357]: parameter projetId with value 53106 debug[13:15:42,357]: parameter formMenu:repeat_projets:0:j_id_jsp_1873225254_24pc7:0:j_id_jsp_1873225254_28pc7 with value formMenu:repeat_projets:0:j_id_jsp_1873225254_24pc7:0:j_id_jsp_1873225254_28pc7 debug[13:15:42,358]: Look up queue with default name debug[13:15:42,358]: Found view queue 'org.richfaces.queue.global' debug[13:15:42,358]: Queue is empty now debug[13:15:42,359]: New request added to queue 'org.richfaces.queue.global'. Queue similarityGroupingId changed to formMenu:repeat_projets:0:j_id_jsp_1873225254_24pc7:0:j_id_jsp_1873225254_28pc7 debug[13:15:42,359]: Queue will wait 0ms before submit debug[13:15:42,359]: Queue 'org.richfaces.queue.global' will submit request NOW debug[13:15:42,361]: NEW AJAX REQUEST !!! with form: formMenu debug[13:15:42,362]: - beginOfAjaxRequest: debug[13:15:42,362]: Start XmlHttpRequest debug[13:15:42,363]: Reqest state : 1 debug[13:15:42,366]: QueryString: AJAXREQUEST=j_id_jsp_1235679380_0&formMenu=formMenu&formMenu%3Aj_id_jsp_1629414703_17pc8=&formMenu%3Aj_id_jsp_1629414703_19pc8=&formMenu%3AfiltreProjetsSuggestChefDeProjet%3AsuggestLibelle=&formMenu%3AfiltreProjetsSuggestChefDeProjet%3AsuggestInput=Rechercher%20un%20utilisateur&formMenu%3AfiltreProjetsSuggestChefDeProjet%3AsuggestId=-1&formMenu%3AfiltreProjetsSuggestChefDeProjet%3Arr_suggestionBox_selection=&formMenu%3Aj_id_jsp_1629414703_28pc8=&formMenu%3Aj_id_jsp_1629414703_31pc8=&formMenu%3Aj_id_jsp_1629414703_33pc8=&formMenu%3Acriteres%3A9%3Aj_id_jsp_1629414703_47pc8=%3D&formMenu%3Acriteres%3A9%3AvaleurDateInputDate=&formMenu%3Acriteres%3A9%3AvaleurDateInputCurrentDate=09%2F2009&formMenu%3Acriteres%3A10%3Aj_id_jsp_1629414703_47pc8=%3D&formMenu%3Acriteres%3A10%3AvaleurDateInputDate=&formMenu%3Acriteres%3A10%3AvaleurDateInputCurrentDate=09%2F2009&formMenu%3AhierarchiesFrameGauche%3Ainput=&formMenu%3Arepeat_projets%3A0%3Aj_id_jsp_1873225254_6pc7=opened&formMenu%3Arepeat_projets%3A1%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A2%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A3%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A4%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A5%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A6%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A7%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A8%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A9%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A10%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A11%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A12%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A13%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A14%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A15%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A16%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A17%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A18%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A19%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A20%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A21%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A22%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A23%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A24%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A25%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A26%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A27%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A28%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A29%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A30%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A31%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A32%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A33%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A34%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A35%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A36%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A37%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A38%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A39%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A40%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A41%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A42%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A43%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A44%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A45%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A46%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A47%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A48%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Arepeat_projets%3A49%3Aj_id_jsp_1873225254_6pc7=closed&formMenu%3Aj_id_jsp_1873225254_31pc7_SELECT=1&formMenu%3Aj_id_jsp_1873225254_0pc7=formMenu%3Aj_id_jsp_1873225254_1pc7&javax.faces.ViewState=j_id8&onglet=MOD_JALON&ajaxSingle=formMenu%3Arepeat_projets%3A0%3Aj_id_jsp_1873225254_24pc7%3A0%3Aj_id_jsp_1873225254_28pc7&projetId=53106&formMenu%3Arepeat_projets%3A0%3Aj_id_jsp_1873225254_24pc7%3A0%3Aj_id_jsp_1873225254_28pc7=formMenu%3Arepeat_projets%3A0%3Aj_id_jsp_1873225254_24pc7%3A0%3Aj_id_jsp_1873225254_28pc7&AJAX%3AEVENTS_COUNT=1& debug[13:15:42,368]: Reqest state : 1
It seems that some end user could have a bad connection that could implies such a problem.
Furthermore, sometimes we discover in our Apache log file that the request generate a 400 HTTP error.
Notices we don't use the 'timeout' attribute because we have also long running request (dynamically generated files download).
I'm not an HTTP expert and I wonder if this is a normal scenario but I never noticed such problem on another web site/application.
Is 'timeout' the only way to have our 'onstop' to be called ? This means that the end user will have to re-submit his request.
Of course, i'm not sure this is directly related to richfaces but I think there a lot of people here, in this forum, knowing the classical architecture Apache+JBoss+JSF+Richfaces and, so, have perhaps face the problem.
Thanks for any comment or hint.