[LON-CAPA-admin] Re: [LON-CAPA-users] Navigation Screen Sort
Stuart Raeburn
raeburn at msu.edu
Fri Jun 26 17:26:44 EDT 2009
Ray,
The mechanism used to update a copy of a file on an access server
following a change to the corresponding file on the library sever
depends on whether this is an "uploaded" file (i.e., the URL for the
file begins with "uploaded"), or an "imported" file from the LON-CAPA
repository (URL begins "res"). This applies to both .sequence files
(in this case "uploaded" files are folders created via the DOCS
interface with names default_$timestamp.sequence), and .problem files
(these files will presumably have been imported from RES).
For uploaded files, the access server will send an internal HTTP HEAD
request to the library server and compares the 'Last-modified'
information in the header returned from the library server with the
file's modification time on the access server's filesystem (in
/home/httpd/html/userfiles/$cdom/$cnum/).
For imported files, whenever a file is copied from the published
version in RES (on the author's library server), a record is written
in the subscription file in RES on that server. The record will
include the lonHostID (e.g., msua1) for the access server to which the
copy was sent. Re-publication of the file on the library server will
cause an "update" message to be sent to the subscribed access server,
which will in turn trigger lond on the access server to make a web
request for the new version of the file from the library server.
So, if an update to a file on a library server is not causing the copy
on the access server to be updated, what you should look for in the
logs depends on whether this is an uploaded file, or an imported file.
Uploaded file:
1. Check the Apache access logs on the library server to see whether a
request is logged for a url starting /raw/ from the access server.
2. Check whether there is a discrepancy between the clock on the
library server and the access server.
3. Check the timestamp for the current file in
/home/httpd/html/userfiles/$cdom/$cnum/ on the access server (where
$cdom is the course domain, and $cnum is the course number - e.g.,
33803011027874598msul1) of the course which contains the "uploaded"
.sequence file
Imported file:
1. Check the Apache access logs on the library server to see whether a
request is logged for a url starting /raw/
2. Check the $filename.log file for the file in /home/$author/... to
see if there is a record for "Notifying host $lonhostID" (where
$lonhostID is the hostID of the subscribed access server).
3. Check the lonnet.log file on the access server for records containing:
the string: "Subscribe returned rejected by "
Stuart Raeburn
MSU LON-CAPA group
Quoting Ray Batchelor <batchelo at sfu.ca>:
> I have, twice more today, observed a phenomenon whereby a (DOCS) xml file
> (either a sequence or problem and in at least two different courses) becomes
> out of sync (or otherwise incomplete) on only specific access servers. i.e.
> the resource is not the same on the given access server as it is on the
> library server or other access servers.
>
> It seems that by tweaking the resource in question, by using DOCS to rename
> it while on the library server, causes the access server to become updated
> such that it is back in sync with what should be the current status of the
> resource in the course.
>
>
> Any thoughts or suggestions?
>
> Ray
More information about the LON-CAPA-admin
mailing list