Project

General

Profile

Actions

Bug #19899

open

Stale cache wb2 in collection file list

Added by Peter Amstutz over 1 year ago. Updated over 1 year ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
Keep
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
-

Description

Observed with the following sequence of events:

  1. Create an empty collection
  2. Visit the empty collection with Workbench 2
  3. Use arv-put --update-collection to upload a file to the collection
  4. Hit "Refresh" on the collection page
  5. The file list panel remains empty

The panel remains empty across visiting different collections and coming back as well as reloading the page, which suggests this is a caching issue, either the browser caching the keep-web response, or (more likely?) keep-web caching the collection listing.

After a couple minutes, the file I uploaded with arv-put started showing up.

Discussion on 1/5

keep-web supports "Cache-Control: no-cache" and "...must-revalidate" headers, but currently workbench2 does not use them, even when the user explicitly asks for a refresh.

Another possibility is for workbench2 to use the PDH rather than UUID when requesting file listings. (However, if the user clicks through to view file content at a webdav url, they might still receive old/cached content.)

Another possibility is adding a keep-web feature allowing the client's request header to supply the expected PDH when requesting file listings/content by collection UUID. If the PDH of the keep-web cache doesn't match, this would force a reload. This would be better than the previous approach in that when the user subsequently clicks through to the file content, the cache will also be up to date.

Actions #1

Updated by Peter Amstutz over 1 year ago

  • Status changed from New to In Progress
Actions #2

Updated by Peter Amstutz over 1 year ago

  • Status changed from In Progress to New
Actions #3

Updated by Peter Amstutz over 1 year ago

  • Description updated (diff)
Actions #4

Updated by Peter Amstutz over 1 year ago

  • Description updated (diff)
Actions #5

Updated by Peter Amstutz over 1 year ago

  • Subject changed from Stale cache in collection file list to Stale cache wb2 in collection file list
Actions #6

Updated by Peter Amstutz over 1 year ago

  • Category set to Keep
Actions #7

Updated by Peter Amstutz over 1 year ago

  • Description updated (diff)
Actions #8

Updated by Tom Clegg over 1 year ago

  • Description updated (diff)
Actions #9

Updated by Peter Amstutz over 1 year ago

  • Target version changed from 2023-02-15 sprint to To be groomed
Actions #10

Updated by Tom Clegg over 1 year ago

Adding the "Cache-control: must-revalidate" header seems to be the expedient solution here.
  • No special feature needed in keep-web, just standard cache control that is already implemented (unlike the "pass pdh hint to keep-web" option)
  • When the user clicks through to a keep-web link, the keep-web cache will be at least as current as the listing they were seeing in wb2 (unlike the "request listing by pdh, but link to keep-web by uuid" option)
Actions

Also available in: Atom PDF