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

 
 

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

Submitted by:  Benno Schulenberg <bens>
Submitted on:  Mon 13 Feb 2017 07:56:06 PM UTC  
 
Category: NonePriority: 5 - Normal
Severity: 3 - NormalStatus: Wont Do
Assigned to: Bob Proulx <rwp>Operating System: None
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

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 AdministratorIn charge of this item.
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 File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 18 Feb 2017 03:01:57 AM UTCagnOpen/ClosedOpen=>Closed
    Mon 13 Feb 2017 08:49:07 PM UTCrwpStatusNone=>Wont Do
      Assigned toNone=>rwp

    Back to the top


    Powered by Savane 3.1-cleanup1