<p dir="ltr">Thanks for your response.</p>
<p dir="ltr">Is there a way to not cache these failures? It seems better to retry for the student instead of serving a cached error for 10 minutes.</p>
<p dir="ltr">At this point we do not have any other evidence of network layer issues.  Is there a way to tell why the access server thinks it can't talk to the library server?  Are there error messages we should be looking for on the library node? Is that a long lived connection that handles many communications (we could monitor to see if that connection gets torn down) or an ephemeral connection (we could monitor for syn packets that don't lead to successful connections)? Am I correct in thinking that we are taking about connections to port 5663 on the library server?</p>
<p dir="ltr">Thanks, <br>
Mike B</p>
<div class="gmail_quote">On Oct 23, 2015 9:20 AM, "Stuart Raeburn" <<a href="mailto:raeburn@msu.edu">raeburn@msu.edu</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Mike,<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
User reports:<br>
   My LON-CAPA account showing this status "Having technical difficulties;<br>
please check status later" on every questions.<br>
</blockquote>
<br>
Yes, if the server/VM hosting the user's session was unable to connect<br>
to the purdue library server to retrieve user-specific parameters for<br>
resources in a course, then the result -- con_lost -- will be stored<br>
in memcache (unescaped key: userres:purdue:<username>) with an<br>
expiration time of 10 minutes.<br>
<br>
When the Course Contents screen is displayed, the status shown on the<br>
right side for each assessment item will be "Having technical<br>
difficulties" because the status would be "NETWORK_FAILURE", which is set when the result of the call to lonnet::get_userresdata() is con_lost -- from an<br>
actual failed connection the first time, and from that cached result in memcache thereafter, until the cached value expires (after 10 minutes).<br>
<br>
Each time lonnet::get_userresdata() is called, and the result is<br>
"con_lost" the "Trying to get resource data for ... " message will be<br>
logged in lonnet.log.  If the con_lost response is from the cached item I see no benefit in displaying that message.  Accordingly, for the next LON-CAPA release I will look into suppressing those messages except when the initial con_lost state is encountered from an attempt to access the data from the user's homeserver.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
[Wed Oct 21 13:28:00 2015] [error] access to<br>
/res/purdue/purdue_math/math16020/Functions of Several<br>
Variables/Differentials of Multivariable Functions/Problems/con_lost failed<br>
for []IP-ADDRESS], reason: Replication failed<br>
</blockquote>
<br>
The con_lost appended to the path here instead of an actual filename is odd.<br>
<br>
I looked in the web server log files on all the LON-CAPA servers I manage and found a single instance (on 10/8) of something similar, for a student from another domain whose session was being hosted on one of the MSU access servers.<br>
<br>
The request for the URL ending 'con_lost' appears in the logs with a timestamp one second after a successfully served request for an item with the same path -- /res/.../<filename> where filename is the name of a real file, instead of 'con_lost'.  This was after use of the LON-CAPA forward or backward navigation arrows to move to another resource.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Wed Oct 21 13:28:08 2015 (4932): Userfile repcopy failed for<br>
uploaded/purdue/4o12229eff3c955c9purduel1/supplemental.sequence<br>
</blockquote>
<br>
Yes, you can expect to see "repcopy failed" for supplemental.sequence in the log file -- they do not actually represent a problem.  I will look into suppressing those messages specifically for supplemental.sequence for the next LON-CAPA release.<br>
<br>
When a user displays the Contents page, a check is made to see if there is any content in the "Supplemental" content area, by requesting the "top level" supplemental map -- supplemental.sequence.<br>
<br>
If no supplemental content has ever been added to that area of the course then the supplemental.sequence file will not exist, and a "Userfile repcopy failed" message will be logged.  That information will be cached (for the course) in memcache for 10 minutes, and no further requests for supplemental.sequence in will be made in that course until the cached item has expired.<br>
<br>
<br>
Stuart Raeburn<br>
LON-CAPA Academic Consortium<br>
<br>
Quoting Mike Budzik <<a href="mailto:mikeb@purdue.edu" target="_blank">mikeb@purdue.edu</a>>:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Can you help us understand these kinds of errors and what can be done to<br>
improve the user experience?<br>
<br>
User reports:<br>
   My LON-CAPA account showing this status "Having technical difficulties;<br>
please check status later" on every questions.<br>
10 minutes later:<br>
   I log in again after 10 minutes and its okay now.<br>
<br>
Here is what I found that seems to correspond to the user's experience<br>
based on the times:<br>
from error_log:<br>
[Wed Oct 21 13:28:00 2015] [error] access to<br>
/res/purdue/purdue_math/math16020/Functions of Several<br>
Variables/Differentials of Multivariable Functions/Problems/con_lost failed<br>
for []IP-ADDRESS], reason: Replication failed for<br>
[username]_1445446334193674160_purdue_purduel1<br>
<br>
from lonnet.log<br>
This message is repeated 4135 times in under 5 minutes:<br>
Wed Oct 21 13:28:00 2015 (3829): <font color="blue">WARNING: Trying to get<br>
resource data for [username] at purdue: con_lost</font><br>
<br>
There are also some like this:<br>
Wed Oct 21 13:28:08 2015 (4932): Userfile repcopy failed for<br>
uploaded/purdue/4o12229eff3c955c9purduel1/supplemental.sequence<br>
</blockquote>
<br>
<br>
_______________________________________________<br>
LON-CAPA-admin mailing list<br>
<a href="mailto:LON-CAPA-admin@mail.lon-capa.org" target="_blank">LON-CAPA-admin@mail.lon-capa.org</a><br>
<a href="http://mail.lon-capa.org/mailman/listinfo/lon-capa-admin" rel="noreferrer" target="_blank">http://mail.lon-capa.org/mailman/listinfo/lon-capa-admin</a><br>
</blockquote></div>