public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
* [Bug debuginfod/28249] New: httpd-buildid-after-you gadget locks on wrong url
@ 2021-08-19 16:02 fche at redhat dot com
  2021-08-19 17:14 ` [Bug debuginfod/28249] " fche at redhat dot com
  0 siblings, 1 reply; 2+ messages in thread
From: fche at redhat dot com @ 2021-08-19 16:02 UTC (permalink / raw)
  To: elfutils-devel

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

            Bug ID: 28249
           Summary: httpd-buildid-after-you gadget locks on wrong url
           Product: elfutils
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: debuginfod
          Assignee: unassigned at sourceware dot org
          Reporter: fche at redhat dot com
                CC: elfutils-devel at sourceware dot org
  Target Milestone: ---

bug #27673 added a "after-you" waiting system into debuginfod, which is
intended to prevent the server from trying to service multiple concurrent
requests for the exact same debuginfo artifact.  This saves wear & tear & time,
as the non-first queries can use the fdcache to fish out the result, rather
than decompressing etc. again.

Unfortunately, the code has a one-liner bug.  It uses the string "/buildid" as
the unique key, not the whole URL, so it in effect limits debuginfod to
servicing exactly one buildid request at a time, which was not intentional.

02144           unique_set_reserver<string> after_you(busy_urls, url1);         

url1 is the wrong key. :-(

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug debuginfod/28249] httpd-buildid-after-you gadget locks on wrong url
  2021-08-19 16:02 [Bug debuginfod/28249] New: httpd-buildid-after-you gadget locks on wrong url fche at redhat dot com
@ 2021-08-19 17:14 ` fche at redhat dot com
  0 siblings, 0 replies; 2+ messages in thread
From: fche at redhat dot com @ 2021-08-19 17:14 UTC (permalink / raw)
  To: elfutils-devel

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

Frank Ch. Eigler <fche at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #1 from Frank Ch. Eigler <fche at redhat dot com> ---
merging obvious patch:

commit 89b1a4e8793e0379e386da313c1bd90080390877 (HEAD -> master)
Author: Frank Ch. Eigler <fche@redhat.com>
Date:   Thu Aug 19 13:11:11 2021 -0400

    PR28249: correct debuginfod after-you locking

    The initial code for bug #27673 accidentally nuked all buildid service
    concurrency, not just identical concurrent requests.  Correct this
    with one-liner patch.  Observing the effect in the automated testsuite
    is difficult, so hand-tested against large requests and short ones,
    run in an interleaved way.

    Signed-off-by: Frank Ch. Eigler <fche@redhat.com>


diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx
index 4ddd92558533..fca07f61954f 100644
--- a/debuginfod/debuginfod.cxx
+++ b/debuginfod/debuginfod.cxx
@@ -2141,7 +2141,7 @@ handler_cb (void * /*cls*/,
           struct timespec tsay_start, tsay_end;
           clock_gettime (CLOCK_MONOTONIC, &tsay_start);
           static unique_set<string> busy_urls;
-          unique_set_reserver<string> after_you(busy_urls, url1);
+          unique_set_reserver<string> after_you(busy_urls, url_copy);
           clock_gettime (CLOCK_MONOTONIC, &tsay_end);
           afteryou = (tsay_end.tv_sec - tsay_start.tv_sec) + (tsay_end.tv_nsec
- tsay_start.tv_nsec)/1.e9;
           add_metric ("thread_busy", "role", "http-buildid-after-you", -1);

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-08-19 17:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-19 16:02 [Bug debuginfod/28249] New: httpd-buildid-after-you gadget locks on wrong url fche at redhat dot com
2021-08-19 17:14 ` [Bug debuginfod/28249] " fche at redhat dot com

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).