Bug 581317 - NFS caching causes loose object to be reported as missing
Summary: NFS caching causes loose object to be reported as missing
Status: RESOLVED FIXED
Alias: None
Product: JGit
Classification: Technology
Component: JGit (show other bugs)
Version: 6.1   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 6.1.1   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-10 18:53 EST by Kaushik Lingarkar CLA
Modified: 2023-01-13 13:41 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kaushik Lingarkar CLA 2023-01-10 18:53:35 EST
On certain NFS clients, when a loose object is created on one client, it may not be immediately available on a different client. 

Steps to reproduce:

1. Create a test repository on NFS
2. Client-A creates a new commit (which adds a loose object) on the NFS based repository.
3. Client-B immediately tries to read the new commit. This operation sometimes throws a MissingObjectException.
Comment 1 Kaushik Lingarkar CLA 2023-01-10 19:21:11 EST
Here's an example of an E2E problem faced by this bug:

Consider a Gerrit multi-primary setup with repositories based on NFS. Add a new patch-set to an existing change and then  immediately fetch the new patch-set of that change. If the fetch is handled by a gerrit primary different that the one which created the patch-set, then we sometimes run into a MissingObjectException that causes the fetch to fail.
Comment 2 Matthias Sohn CLA 2023-01-11 04:58:04 EST
I'd say that's not a bug in jgit but a consequence of using a caching NFS client.
Comment 3 Luca Milanesio CLA 2023-01-11 17:58:28 EST
Can you specify what JGit config you have used when experiencing the problem?