mainSavannah Administration - Support: sr #109257, cgit sometimes serves a stale page...

 
 

sr #109257: cgit sometimes serves a stale page for five minutes

Submitter:  Benno Schulenberg <bens>
Submitted:  Mon 13 Feb 2017 07:56:06 PM UTC
   
 
Category:  None Priority:  5 - Normal
Severity:  3 - Normal Status:  Wont Do
Privacy:  Public Assigned to:  rwp
Operating System:  None Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Sat 18 Feb 2017 03:01:57 AM UTC, comment #4: 

Hello Benno, Bob,

I've added this item to our "todo/wishlist" page (#28):
  http://savannah.gnu.org/maintenance/SavannahHackingIdeas/

Since there's not much else for us to do in the short term about this,
I'm closing this ticket for now.

regards,
 - assaf

Assaf Gordon <agn>
Site Administrator
Tue 14 Feb 2017 04:51:50 PM UTC, comment #3: 

Hello Benno, Bob and all,


First,
I'm quite certain that if you add a dummy cgi parameter,
the page will refresh, e.g.
  http://git.savannah.gnu.org/cgit/nano.git/log/?foo=43451


second, regarding this:

> What would be nice to have is: that cgit invalidates the
> cache for a certain repo whenever something is pushed to that repo.


cgit seems to have a relevant feature, call "agefile":

https://git.zx2c4.com/cgit/tree/cgitrc.5.txt#n37
https://git.zx2c4.com/cgit/tree/contrib/hooks/post-receive.agefile


However,
like many other savannah issues - we have limited man-power.
So while this is highly desired feature, I'm not sure we can implement it soon
(there are few more critical things to complete in the server migration).


Hope this helps,
 - assaf

Assaf Gordon <agn>
Site Administrator
Tue 14 Feb 2017 04:15:45 PM UTC, comment #2: 

Yes, server-side caching is good -- I wasn't suggesting to disable caching.  But it becomes a problem when I look at one page, upstream does a push, I look at another page of the same repo, which has the new content, I go back to the earlier page, but it still shows the old situation.  This is puzzling and confusing.

What would be nice to have is: that cgit invalidates the cache for a certain repo whenever something is pushed to that repo.  This may be too hard to make, though, I don't know.

An alternative might be that whenever cgit receives a request for a page, it checks whether there has been a push to the relevant repo since the page was cached, and only if not, it serves the cached page.  This might be too hard to make, too, though.

Benno Schulenberg <bens>
Mon 13 Feb 2017 08:49:07 PM UTC, comment #1: 

I think this is due to beneficial caching. The cgit web interface caches data to present to the user.  This is good caching.  Previously the cgit service has been a performance problem.  Caching is a way to mitigate the performance problem.

Reloading the web page does not have any effect because that is simply your browser reloading the same page that has been cached.  It actually reinforces the benefit of the cgit cache.

Your personal working copy is no different.  You only see updates when you explicitly pull them.  You do not see every upstream update in real time.  When you want to see updates you must explicitly pull them in.  I think this is no different.

I am going to mark this as "Wont Do".  Sorry.  I will keep it open to remind me to investigate this in more detail.  But I don't think disabling caching is something we want to do.  Sorry.

Bob Proulx <rwp>
Site Administrator
Mon 13 Feb 2017 07:56:06 PM UTC, original submission:  

Since a few days, looking at cgit pages on Savannah can result in a mismatch when in the meantime a push happened.

For example, I looked at http://git.savannah.gnu.org/cgit/nano.git/log/, then did a push, did a reload in my browser -- no effect.  (This always worked until a few days ago.)  But if I then look at http://git.savannah.gnu.org/cgit/nano.git/commit/, for example, the last commit is there.  But then going back to http://git.savannah.gnu.org/cgit/nano.git/log/, the last commit is still missing.  Another reload does not help.  Only when waiting for five minutes and then doing a reload again, things will finally match.

Of course, this is a minor issue, because how often will it happen that a user is browsing through cgit just when upstream does a push?  But when it does happen... it can be rather confusing.

Benno Schulenberg <bens>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by agn (Posted a comment)
  • -email is unavailable- added by rwp (Posted a comment)
  • -email is unavailable- added by bens (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-02-18 agn Open/ClosedOpen Closed
    2017-02-13 rwp StatusNone Wont Do
        Assigned toNone rwp

    Back to the top

    Powered by Savane 3.13-5884.
    Corresponding source code