repository caching

Andrew Bartlett abartlet at catalyst.net.nz
Tue Sep 1 23:40:38 UTC 2015


On Wed, 2015-09-02 at 01:32 +0200, Mads Kiilerich wrote:
> On 09/02/2015 12:16 AM, Andrew Bartlett wrote:
> > On Tue, 2015-09-01 at 19:55 +0200, Andrew Shadura wrote:
> > > Hello everyone,
> > > 
> > > I was reading kallithea/model/db.py and trying to understand what
> > > Repository.update_changeset_cache does. It seems, it gets the 
> > > last
> > > changeset from the repository, and if it's the same cache thinks 
> > > it
> > > is,
> > > it does nothing, otherwise it updates the database. Is getting 
> > > the
> > > last
> > > changeset really such an expensive operation we want to do 
> > > rarely? It
> > > seems to me that this sort of caching is doing more harm than 
> > > good.
> > > We
> > > should probably call update_changeset_cache more often or, maybe,
> > > call
> > > it every time we access the changeset cache, so any 
> > > inconsistencies
> > > are
> > > detected immediately.
> > > 
> > > What do you think about it?
> > I've been bitten by it, when attempting to allow direct operations 
> > on
> > the git repo, like before I found the SSH patch set.
> > 
> > Similarly I would like to be able to force update of repos using 
> > cron,
> > or automated sync of github issues etc.
> 
> That also works just fine if you call these two paster commands after 
> 
> updating the repo - possibly from a hook.
> 
> Why is that not good enough? What more is needed and can you outline 
> how 
> it perhaps could be implemented?

Because for the user who is just trying out the software, it breaks for
no clear reason, and no clue as how to even start investigating.  (The
failure mode was, from memory, that some details were updated while
others were not, and clicking on things in the web UI just caused
strange crashes). 

Indeed, there are hooks in the repo, but if they fail, they just
succeed!

At the very least, when the web UI notices things are not quite right,
it should try updating the cache.

Thanks,

Andrew Bartlett

-- 
Andrew Bartlett
https://samba.org/~abartlet/
Authentication Developer, Samba Team         https://samba.org
Samba Development and Support, Catalyst IT   
https://catalyst.net.nz/services/samba







More information about the kallithea-general mailing list