<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Ken, <a href="http://missourievergreen.org" class="">missourievergreen.org</a> is returning more consistent results this morning but I’ve seen indications that Jabber errors at certain points along the communication chain can cause this kind of result. That’s definitely an Evergreen bug.<div class=""><br class=""></div><div class="">As for thoughts on caching, one potential option is to discard completely empty results like these (except for special cases where they make sense, perhaps.) But even for open-ils.search.biblio.record.mods_slim.retrieve the value returned could change if staff edit the record so entries shouldn’t live “forever." Are you using a cache that discards entries after a period of time, or at a certain storage size, or some other method? (I’m not really familiar with the options on Android, I assume it has some APIs that help manage cached values.)</div><div class=""><br class=""></div><div class="">Jason<br class=""><div class=""><div class="">
<div><br class="">-- <br class="">Jason Boyer<br class="">Senior System Administrator<br class="">Equinox Open Library Initiative<br class="">phone:  +1 (877) Open-ILS (673-6457)<br class=""><a href="mailto:JBoyer@EquinoxInitiative.org" class="">email:  JBoyer@EquinoxInitiative.org</a><br class="">web:  https://EquinoxInitiative.org/</div>
</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On Jan 10, 2021, at 3:54 PM, Ken Cox <<a href="mailto:kenstir@gmail.com" class="">kenstir@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hello devs, I have a pressing live issue and a request for advice.<br class=""><br class=""><br class="">EMPTY OSRF GATEWAY RESPONSES CAUSING APP ERRORS<br class=""><br class="">For the last 4 days, some sizeable percentage of responses from<br class=""><a href="https://missourievergreen.org/osrf-gateway-v1" class="">https://missourievergreen.org/osrf-gateway-v1</a> are empty, meaning<br class=""><br class="">        {"payload":[],"status":200}<br class=""><br class="">What could cause this?  The OPAC appears to be working, it's just the<br class="">OSRF gateway that is behaving this way.<br class=""><br class="">For example, this search request just returned an empty response:<br class=""><br class="">        [net] request<br class=""><a href="https://missourievergreen.org/osrf-gateway-v1?service=open-ils.search&method=open-ils.search.biblio.multiclass.query&param=%7B%22limit%22%3A200%2C%22offset%22%3A0%7D&param=%22keyword%3Aharry%20potter%20site(SRL-UN)%22&param=1&_ck=7&_sk=3-3-7" class="">https://missourievergreen.org/osrf-gateway-v1?service=open-ils.search&method=open-ils.search.biblio.multiclass.query&param=%7B%22limit%22%3A200%2C%22offset%22%3A0%7D&param=%22keyword%3Aharry%20potter%20site(SRL-UN)%22&param=1&_ck=7&_sk=3-3-7</a><br class="">        [net] recv 27: {"payload":[],"status":200}<br class=""><br class="">Sometimes the search response is empty, causing the app to error.<br class="">Sometimes the search works but MODS responses are empty, causing the<br class="">app to display search results with missing metadata, e.g.:<br class=""><br class="">        [net] cached:0<br class="">url:https://missourievergreen.org/osrf-gateway-v1?service=open-ils.search&method=open-ils.search.biblio.record.mods_slim.retrieve&param=1395189&_ck=7&_sk=3-3-7<br class="">        [net] recv 27: {"payload":[],"status":200}<br class=""><br class="">This response is not expected; what is expected is an "mvr" object, as<br class="">you will see if you paste that URL into your browser.<br class=""><br class=""><br class="">POISONED CACHE<br class=""><br class="">The app is currently caching successful responses that I figured to be<br class="">stable, e.g. open-ils.search.biblio.record.mods_slim.retrieve.<br class="">Because the empty responses appear successful, the app cache is now<br class="">poisoned.  Do you have any advice on how better to handle this<br class="">situation?<br class=""><br class="">Notice in the requests above that I include 2 cache-busting<br class="">parameters, _ck=7 (client app version 7) and _sk=3-3-7 (server version<br class="">3-3-7).  That way, either a client update or a server update will<br class="">invalidate all cached responses.<br class=""><br class="">Thanks,<br class="">Ken Cox<br class="">_______________________________________________<br class="">Evergreen-dev mailing list<br class="">Evergreen-dev@list.evergreen-ils.org<br class="">http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-dev<br class=""></div></div></blockquote></div><br class=""></div></div></body></html>