git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/3] refs: push lock management into packed backend

From
Han-Wen Nienhuys <hanwen@google.com>
Date
Sep 19, 2023, 15:52 UTC
Message-ID
<CAFQ2z_O-s-NT+DfxTSSuTq1Z6J0LZz8X8cFTPoOohfqX2rM-yw@mail.gmail.com>
In-Reply-To
<xmqqa5tjje0y.fsf@gitster.g>
On Tue, Sep 19, 2023 at 12:46 AM Junio C Hamano <gitster@pobox.com> wrote:
Show 5 quoted lines
> This looks a bit more convoluted than necessary.  Is it the same as
>
>         if (refs->be->transaction_begin &&
>             refs->be->transaction_begin(refs, tr, err))
>                 FREE_AND_NULL(tr);
Changed this in the next version.
Show 10 quoted lines
> > +                     /* TODO: leaks on error path. */
> > +                     ref_transaction_free(packed_transaction);
> > +                     packed_transaction = NULL;
> > +                     backend_data->packed_transaction = NULL;
> > +             } else {
>
> If it were just a matter of flipping the early return and freeing of
> the transaction before going to clean-up, then that would have been
> less effort than leaving the TODO: comment.  What other things are
> needed to plug this leak?

you're not missing something. I didn't have enough time yesterday to look into all the details.

-- 
Han-Wen Nienhuys - Google Munich
I work 80%. Don't expect answers from me on Fridays.
--

Google Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich

Registergericht und -nummer: Hamburg, HRB 86891

Sitz der Gesellschaft: Hamburg

Geschäftsführer: Paul Manicle, Liana Sebastian
Previous: Junio C HamanoNext: Han-Wen Nienhuys via GitGitGadget
Message 4 of 15 in “Simple reftable backend”
  1. 0/3 Simple reftable backendHan-Wen Nienhuys via GitGitGadget, Sep 18, 2023
  2. 1/3 refs: push lock management into packed backendHan-Wen Nienhuys via GitGitGadget, Sep 18, 2023
  3. Junio C HamanoSep 18, 2023
  4. Han-Wen NienhuysSep 19, 2023
  5. 2/3 refs: move is_packed_transaction_needed out of packed-backend.cHan-Wen Nienhuys via GitGitGadget, Sep 18, 2023
  6. 3/3 refs: alternate reftable ref backend implementationHan-Wen Nienhuys via GitGitGadget, Sep 18, 2023
  7. Junio C HamanoSep 18, 2023
  8. 0/6 RFC: simple reftable backendHan-Wen Nienhuys via GitGitGadget, Sep 20, 2023
  9. 1/6 refs: construct transaction using a _begin callbackHan-Wen Nienhuys via GitGitGadget, Sep 20, 2023
  10. 2/6 refs: wrap transaction in a debug-specific transactionHan-Wen Nienhuys via GitGitGadget, Sep 20, 2023
  11. 3/6 refs: push lock management into packed backendHan-Wen Nienhuys via GitGitGadget, Sep 20, 2023
  12. 4/6 refs: move is_packed_transaction_needed out of packed-backend.cHan-Wen Nienhuys via GitGitGadget, Sep 20, 2023
  13. 6/6 refs: always try to do packed transactions for reftableHan-Wen Nienhuys via GitGitGadget, Sep 20, 2023
  14. 5/6 refs: alternate reftable ref backend implementationHan-Wen Nienhuys via GitGitGadget, Sep 20, 2023
  15. Patrick SteinhardtSep 21, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.