# Fetching progress: why does it almost always stall at 99.9%?

**URL:** <https://discourse.julialang.org/t/fetching-progress-why-does-it-almost-always-stall-at-99-9/87360>\
**Category:** General Usage\
**Created:** [September 16, 2022, 11:07am UTC](https://discourse.julialang.org/t/fetching-progress-why-does-it-almost-always-stall-at-99-9/87360 "2022-09-16T11:07:54Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![wsshin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wsshin/32/360_2.png) [@wsshin](https://discourse.julialang.org/u/wsshin)\
**Post date:** [September 16, 2022, 11:07am UTC](https://discourse.julialang.org/t/fetching-progress-why-does-it-almost-always-stall-at-99-9/87360/1 "2022-09-16T11:07:55Z")

</div>

When I install Julia packages, sometimes fetching occurs. And when fetching occurs, a lot of times it progresses quite fast until 99.9 % (within a few seconds), but then it stalls there for several minutes:

```julia-repl
(@v1.8) pkg> add CairoMakie
    Updating registry at `~/.julia/registries/General`
    Updating git-repo `https://github.com/JuliaRegistries/General.git`
    Fetching: [========================================>] 99.9 %

```

Why is this so? If there are really so many things to take care of around the 99.9 % progress mark, shouldn’t the progress bar have progressed more slowly in the earlier portion of the fetching process? Can we make the fetching progress bar more realistic?

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [September 16, 2022, 11:51am UTC](https://discourse.julialang.org/t/fetching-progress-why-does-it-almost-always-stall-at-99-9/87360/2 "2022-09-16T11:51:35Z")

</div>

remove and re-add the general repository and it will be fixed if you’re in Julia 1.6 or newer.

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [September 16, 2022, 12:27pm UTC](https://discourse.julialang.org/t/fetching-progress-why-does-it-almost-always-stall-at-99-9/87360/3 "2022-09-16T12:27:41Z")

</div>

> [@wsshin](#):
>
> Can we make the fetching progress bar more realistic?

A bit tangential and not julia specific, but no - that’s a REALLY hard problem, especially if the remaining work is not easily relatable to a timespan.

---

<div class="post-metadata">

**Author:** ![wsshin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wsshin/32/360_2.png) [@wsshin](https://discourse.julialang.org/u/wsshin)\
**Post date:** [September 16, 2022, 6:13pm UTC](https://discourse.julialang.org/t/fetching-progress-why-does-it-almost-always-stall-at-99-9/87360/4 "2022-09-16T18:13:34Z")

</div>

> [@Oscar\_Smith](#):
>
> remove and re-add the general repository and it will be fixed if you’re in Julia 1.6 or newer.

I removed `~/.julia/registries/General/` directory, and it indeeded sped up the fetching process a lot. Could you explain the reason for the speedup?

I notice that adding a package after removing the `General/` directory creates `General.tar.gz` and `General.toml`. Maybe these tarball and `.toml` are a more efficient representation of the previous `General/` directory?

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [September 16, 2022, 6:22pm UTC](https://discourse.julialang.org/t/fetching-progress-why-does-it-almost-always-stall-at-99-9/87360/5 "2022-09-16T18:22:26Z")

</div>

In version 1.6 (I think) we switched the General repository from a git clone to a tarball, which especially on windows is a lot faster since windows gets really slow when you have lots of small files (and also this way the history of the registry isn’t stored). For complicated reasons, we by default didn’t change to the new method if you still had the old registry format downloaded (I think to prevent from breaking stuff for people that had set a local package server or something), so it requires the user to delete the old one. We really should have published this more broadly since it still effects a non-zero amount of people.

---

<div class="post-metadata">

**Author:** ![wsshin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wsshin/32/360_2.png) [@wsshin](https://discourse.julialang.org/u/wsshin)\
**Post date:** [September 18, 2022, 1:50am UTC](https://discourse.julialang.org/t/fetching-progress-why-does-it-almost-always-stall-at-99-9/87360/6 "2022-09-18T01:50:25Z")

</div>

> [@Oscar\_Smith](#):
>
> We really should have published this more broadly since it still effects a non-zero amount of people.

I think so. Depending on the network, fetching took \>10 minutes for me, so I tended to postpone adding packages until leaving the computer for a while, e.g., for a lunch break. Now the fetching-induced delay is gone, so I can add packages whenever I want, which will increase my productivity.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [September 18, 2022, 4:53pm UTC](https://discourse.julialang.org/t/fetching-progress-why-does-it-almost-always-stall-at-99-9/87360/7 "2022-09-18T16:53:17Z")

</div>

This issue is that some people want to use git for this for various reasons and it’s not possible to distinguish someone who has a git repo because they just upgraded Julia and someone who created the git repo on purpose after upgrading.

---

<div class="post-metadata">

**Author:** ![stillyslalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stillyslalom/32/45687_2.png) [@stillyslalom](https://discourse.julialang.org/u/stillyslalom)\
**Post date:** [September 18, 2022, 5:55pm UTC](https://discourse.julialang.org/t/fetching-progress-why-does-it-almost-always-stall-at-99-9/87360/8 "2022-09-18T17:55:33Z")

</div>

The creation time of a file can be queried on Windows, OSX, and some Linux filesystems. Couldn’t we just issue a “consider upgrading your registry” message if the git repo predates v1.6, or if stale pre-v1.6 Julia environments exist in .julia/environments?
