Comment 8 for bug 1036318

Galen Charlton (gmc) wrote :

One thing that would be very useful to know: if a staff member is presented with the TPac login prompt, what happens if they immediately open a new staff client tab and do (say) a patron search?

If the staff client informs them that their session has expired and prompts them to enter their credentials, that would indicate that something went wrong with the session -- for example, memcached starvation as Jason suggested might result in a session key getting evicted.

If the staff client lets the user proceed with the patron search without prompting for credentials, that would indicate that the staff session is OK, and would suggest (among other possibilities) that the something went wrong with the OPAC 'ses' cookie.

Something else that would help when this happens is opening the Javascript Console in a new tab, then evaluating this:

var consoleService = Components.classes['@mozilla.org/consoleservice;1'].getService(Components.interfaces.nsIConsoleService);
var cookieMgr = Components.classes["@mozilla.org/cookiemanager;1"].getService(Components.interfaces.nsICookieManager);
for (var e = cookieMgr.enumerator; e.hasMoreElements();) {
  var cookie = e.getNext().QueryInterface(Components.interfaces.nsICookie);
  if (cookie.name == 'ses') consoleService.logStringMessage("Found OPAC ses cookie: " +cookie.host + ";" + cookie.name + "=" + cookie.value + "\n");
}
var data_cache = Components.classes["@open-ils.org/openils_data_cache;1"].getService();
var ses = data_cache.wrappedJSObject.data.session;
consoleService.logStringMessage("Staff client session is " + ses.key + " (login type = " + ses.login_type + "; permanent: " + ses.is_perm + ")");

This will spit back (in the console log) a list of what the staff clients considers to be its user session, both from the cookie used for the embedded OPAC and the staff client's stash.