Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make compilecache atomic #36416

Merged
merged 1 commit into from
Jun 25, 2020
Merged

Make compilecache atomic #36416

merged 1 commit into from
Jun 25, 2020

Conversation

kpamnany
Copy link
Contributor

Replaces #30174 and is identical except for additionally removing the temporary file code in src/dump.c.

@KristofferC
Copy link
Member

KristofferC commented Jun 24, 2020

and is identical

It would be good to cherry-pick that commit then so the original author gets credit.

@kpamnany
Copy link
Contributor Author

It would be good to cherry-pick that commit then so the original author gets credit.

It's a set of commits, not one, and in a different repo. I'll add a 'Co-authored-by' line to the commit message instead.

@KristofferC
Copy link
Member

You can also commit as another author with --author

When several Julia processes compile the same package concurrently
(e.g. during a cluster run), they can conflict on the compile cache
file. This change makes a Julia process create a compile cache in a
temporary file and atomically rename it to the final cache file.

Co-authored-by: Takafumi Arakaki <tkf@@users.noreply.github.com>
@JeffBezanson JeffBezanson merged commit 3bbb582 into JuliaLang:master Jun 25, 2020
mbauman added a commit to dlfivefifty/julia that referenced this pull request Jun 26, 2020
* origin/master: (232 commits)
  Add passthrough for non-Markdown docs (JuliaLang#36091)
  Fix pointer to no longer assume contiguity (JuliaLang#36405)
  Ensure string-hashing is defined before it gets used (JuliaLang#36411)
  Make compilecache atomic (JuliaLang#36416)
  add a test for JuliaLang#30739 (JuliaLang#36395)
  Fix broken links in docstring of `repeat` (JuliaLang#36376)
  fix and de-dup cached calls to `methods_by_ftype` in compiler (JuliaLang#36404)
  ml-matches: skip unnecessary work, when possible (JuliaLang#36413)
  gf: fix some issues with the move from using a tree to a hash lookup of leaf types (JuliaLang#36413)
  Add news and manual entry for sincospi (JuliaLang#36403)
  Check axes in Array(::AbstractArray) (fixes JuliaLang#36220) (JuliaLang#36397)
  add versions of `code_typed` and `which` that accept tuple types (JuliaLang#36389)
  Fix spelling of readdir. (JuliaLang#36409)
  add sincospi (JuliaLang#35816)
  fix showing methods with unicode gensymed variable names (JuliaLang#36396)
  Add doctest: eachslice (JuliaLang#36386)
  fix documentation typo ("Ingeger")
  Refactor `abstract_eval` to separate out statements and values (JuliaLang#36350)
  fix return type of `get!` on `IdDict` (JuliaLang#36383)
  Allow single option with REPL.TerminalMenus (JuliaLang#36369)
  ...
@kpamnany kpamnany deleted the atomic-compilecache branch July 16, 2020 15:51
@KristofferC KristofferC mentioned this pull request Aug 3, 2020
25 tasks
KristofferC pushed a commit that referenced this pull request Aug 3, 2020
When several Julia processes compile the same package concurrently
(e.g. during a cluster run), they can conflict on the compile cache
file. This change makes a Julia process create a compile cache in a
temporary file and atomically rename it to the final cache file.

Co-authored-by: Takafumi Arakaki <tkf@@users.noreply.github.com>
(cherry picked from commit 3bbb582)
simeonschaub pushed a commit to simeonschaub/julia that referenced this pull request Aug 11, 2020
When several Julia processes compile the same package concurrently
(e.g. during a cluster run), they can conflict on the compile cache
file. This change makes a Julia process create a compile cache in a
temporary file and atomically rename it to the final cache file.

Co-authored-by: Takafumi Arakaki <tkf@@users.noreply.github.com>
KristofferC pushed a commit that referenced this pull request Aug 19, 2020
When several Julia processes compile the same package concurrently
(e.g. during a cluster run), they can conflict on the compile cache
file. This change makes a Julia process create a compile cache in a
temporary file and atomically rename it to the final cache file.

Co-authored-by: Takafumi Arakaki <tkf@@users.noreply.github.com>
(cherry picked from commit 3bbb582)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants