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

Re: [PATCH 0/3] Another approach to large transactions

From
Stefan Beller <sbeller@google.com>
Date
Apr 20, 2015, 22:26 UTC
Message-ID
<CAGZ79kZWm=Mi6o4jMNthiDRcR9irs_5MyRuEmHdDSrn-JFpQ=g@mail.gmail.com>
In-Reply-To
<CAGZ79kYEbnZvgdhjPvc2rR7QKp-CjUB3Ytqsp8JK2QBqzuUowA@mail.gmail.com>
On Fri, Apr 17, 2015 at 4:31 PM, Stefan Beller <sbeller@google.com> wrote:
Show 12 quoted lines
> On Fri, Apr 17, 2015 at 3:17 PM, Stefan Beller <sbeller@google.com> wrote:
>> On Fri, Apr 17, 2015 at 3:12 PM, Junio C Hamano <gitster@pobox.com> wrote:
>>>
>>> This is now pushed out and sitting at the tip of 'pu'.  It seems to
>>> break one of the tests in 1400 when merged to 'next', but I didn't
>>> look it closely.
>>>
>>> Thanks.
>>
>> ok, I'll look more closely.
>
> Apparently I screwed up even before sending the patches over the wire.

For the deleting refs test failing: The problem comes from guessing the number of fds we're allowed to use. At first I thought it was a fundamental issue with the code being broken, but it turns out we just need a larger offset as we apparently have 9 files open already, before the transaction even starts. I did not expect the number to be that high, which is why I came up with the arbitrary number of 8 (3 for stdin/out/err, maybe packed refs and reflog so I guessed, 8 would do fine).

I am not sure if the 9 is a constant or if it scales to some unknown property yet. So to make the series work, all we need is:

- int remaining_fds = get_max_fd_limit() - 8;
+ int remaining_fds = get_max_fd_limit() - 9;
I am going to try to understand where the 9 comes from and resend the patches.

Thanks, Stefan

Previous: Stefan BellerNext: Junio C Hamano
Message 9 of 28 in “Another approach to large transactions”
  1. 0/3 Another approach to large transactionsStefan Beller, Apr 16, 2015
  2. 1/3 refs.c: remove lock_fd from struct ref_lockStefan Beller, Apr 16, 2015
  3. 2/3 Move get_max_fd_limit(void) to git_compat_util.hStefan Beller, Apr 16, 2015
  4. 3/3 refs.c: enable large transactionsStefan Beller, Apr 16, 2015
  5. Junio C HamanoApr 17, 2015
  6. Junio C HamanoApr 17, 2015
  7. Stefan BellerApr 17, 2015
  8. Stefan BellerApr 17, 2015
  9. Stefan BellerApr 20, 2015
  10. Junio C HamanoApr 20, 2015
  11. Stefan BellerApr 20, 2015
  12. Stefan BellerApr 21, 2015
  13. refs.c: enable large transactionsStefan Beller, Apr 21, 2015
  14. Junio C HamanoApr 21, 2015
  15. Stefan BellerApr 21, 2015
  16. Junio C HamanoApr 21, 2015
  17. [PATCHv2] refs.c: enable large transactionsStefan Beller, Apr 21, 2015
  18. Stefan BellerApr 21, 2015
  19. Michael HaggertyApr 22, 2015
  20. Stefan BellerApr 22, 2015
  21. Michael HaggertyApr 22, 2015
  22. Junio C HamanoApr 21, 2015
  23. Jeff KingApr 21, 2015
  24. Stefan BellerApr 22, 2015
  25. Jeff KingApr 22, 2015
  26. Junio C HamanoApr 21, 2015
  27. Stefan BellerApr 21, 2015
  28. Michael HaggertyApr 21, 2015

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.