On Sun, Jun 11, 2017 at 8:32 AM Sam Ruby <ru...@intertwingly.net> wrote:
> On Sun, Jun 11, 2017 at 8:21 AM, John D. Ament <johndam...@apache.org> > wrote: > > On Sun, Jun 11, 2017 at 8:15 AM Sam Ruby <ru...@intertwingly.net> wrote: > > > >> On Sun, Jun 11, 2017 at 8:05 AM, John D. Ament <johndam...@apache.org> > >> wrote: > >> > On Sat, Jun 10, 2017 at 11:51 AM sebb <seb...@gmail.com> wrote: > >> > > >> >> On 10 June 2017 at 15:52, John D. Ament <johndam...@apache.org> > wrote: > >> >> > I think there's a bug with how the caching works for podlings.xml, > but > >> >> I'm > >> >> > not sure if it's something I introduced or something I'm just > >> noticing. > >> >> > > >> >> > I would expect that the cache is comparing podlings.json to > >> podlings.xml. > >> >> > If podlings.json mod time is newer than podlings.xml, read the > values > >> >> from > >> >> > there. Otherwise, refresh from the xml file. > >> >> > > >> >> > Presently, it looks like we're checking the cache folder for the > xml > >> file > >> >> > and re-reading that. > >> >> > > >> >> > Thoughts? > >> >> > >> >> I'm not sure what you are referring to here. > >> >> > >> > > >> > > >> > https://github.com/apache/whimsy/blob/master/lib/whimsy/asf/podlings.rb#L304 > >> > > >> > I'm not sure if I'm not reading this properly or what (granted I'm a > ruby > >> > n00b). It seems like all this is doing is reading podlings.xml from a > >> > different location on the file system instead of leveraging a > pre-built > >> > cache of the podling structure. Basically, I don't understand what > >> > performance boost this cache is giving us in the current structure. > >> > >> That's not reading podlings.xml; that's issuing a request to JIRA to > >> list all of the issues that have ever been raised against the > >> podlingnamesearch project. Those types of requests take time and > >> resources across multiple machines. > >> > >> This information is used by, for example, the board agenda tool. So > >> instead of sending a request each time the board agenda is loaded, it > >> will send a request at most every five minutes. > >> > >> > > Sorry, I clicked the wrong line - > > > https://github.com/apache/whimsy/blob/master/lib/whimsy/asf/podlings.rb#L110 > > OK, so that's got a different explanation. There is a copy of > podlings.xml which is checked out and updated every 10 minutes. The > file permissions on that file don't allow www-data (the user under > which the ASF server runs) to update it. > > Now you go into roster/ppmc/foobar and add a mentor. This updates the > file in svn. But you won't otherwise see it show up in the roster > tool until svn updates. What to do? Well, the current code places a > copy of the updated file into the cache directory and the code that > parses chooses the later version of the two. > > The original whimsy-vm (we now are on whimsy-vm4) used to instead > update the svn directory in place. But that was a mess - having > multiple processes do updates in a single directory and using svn > commands that would sometimes fail unpredictably would often require a > manual cleanup. > > Ok, so then it's not so much a cache as it is a working copy of the file. > - Sam Ruby >