public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
From: "vi at endrift dot com" <sourceware-bugzilla@sourceware.org>
To: elfutils-devel@sourceware.org
Subject: [Bug debuginfod/30221] Negative cache should differentiate failure types
Date: Fri, 17 Mar 2023 01:28:54 +0000	[thread overview]
Message-ID: <bug-30221-10460-qRTWyrWv9v@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-30221-10460@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=30221

--- Comment #7 from Vicki Pfau <vi at endrift dot com> ---
I have a proof of concept patch that I can attach here or submit to the mailing
list if you think the xattrs approach is a good way to go. Alternatively, a
metadata directory could be added under each buildid for per-file info, which
would work in the absence of functional xattrs, but be slightly more
complex.(In reply to Frank Ch. Eigler from comment #4)
> (In reply to Vicki Pfau from comment #3)
> > I have a proof of concept patch that I can attach here or submit to the
> > mailing list if you think the xattrs approach is a good way to go.
> > Alternatively, a metadata directory could be added under each buildid for
> > per-file info, which would work in the absence of functional xattrs, but be
> > slightly more complex.
> 
> Have you considered the idea of encoding the retention deadline in the
> boring inode mtime or ctime?

I did, and in comment 2 I already explained why I think it's a bad idea.(In
reply to Frank Ch. Eigler from comment #6)
> (In reply to Vicki Pfau from comment #2)
> > 404 and the like *may* be transient, but the fact of the matter is that
> > *most* of the time it won't be And it's a cache, not a definitive answer
> > saying this will never exist. Having a 404 cache for 10x the amount of time
> > as a Ctrl-C
> 
> I don't understand - a ctrl-C should not result in a cached artifact at all.
> If that's happening, we should fix that.

Okay, that is kinda weird then. I'm seeing it in gdb--perhaps it's a gdb issue
then.

> > I'm already dealing with gdb taking well
> > over 30 seconds to start running a program with a bunch of shared object
> > dependencies that aren't in debuginfod...
> 
> Uncached misses from debuginfod tend to take on the order of milliseconds,
> much less than seconds.  Do you have a trace of what's happening?
> (DEBUGINFOD_VERBOSE=1 or something like that?)

The issue appears to be the debuginfod server taking a not-insignificant amount
of time per request (500ms - 2s I'd estimate) to report the absence of an
associated artifact. Perhaps this is just an issue with how the server is
configured. I'm using the elfutils server, but I've seen the same issue on
Arch's server (the distro I'm using). It's worth noting too that some users
will undoubtedly have higher latency. A way to asynchronously initiate requests
so you can have multiple going at once would be great to try and alleviate this
somewhat, but it doesn't look like there's a way to do this yet.

> > [...] because there's no way for the cache to say "this probably won't
> > appear in the short term." Setting cache_miss_s higher works, but is a
> > workaround.
> 
> That workaround is precisely the parameter for the quantity you seek.

Assuming the Ctrl-C issue I mentioned above is resolved, you could well be
right. It's definitely the biggest source of the "transient" issues I
mentioned, though things like timeouts might still qualify.

> > Your filesystem representation works
> > for the small, simple case you have here, but it won't scale if you try and
> > extend the system with any metadata at all.
> 
> That's fine.  If we can revisit when rationale exists for more metadata.

Sounds good.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2023-03-17  1:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-11  1:32 [Bug debuginfod/30221] New: " vi at endrift dot com
2023-03-13 16:40 ` [Bug debuginfod/30221] " fche at redhat dot com
2023-03-14  1:47 ` vi at endrift dot com
2023-03-17  1:00 ` vi at endrift dot com
2023-03-17  1:08 ` fche at redhat dot com
2023-03-17  1:16 ` vi at endrift dot com
2023-03-17  1:20 ` fche at redhat dot com
2023-03-17  1:28 ` vi at endrift dot com [this message]
2023-03-17  1:30 ` vi at endrift dot com
2023-03-17 16:16 ` amerey at redhat dot com
2023-03-17 16:53 ` amerey at redhat dot com
2023-03-17 23:39 ` vi at endrift dot com
2023-03-24 11:22 ` fche at redhat dot com
2023-04-08 13:29 ` mark at klomp dot org
2023-04-21  2:04 ` fche at redhat dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-30221-10460-qRTWyrWv9v@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=elfutils-devel@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).