Hackage seems to be down (at least for browsing)

https://hackage.haskell.org/ shows a 502 Bad Gateway status.

I guess it’s related to Wiki.haskell.org is down and it was also reported as part of Hoogle appears to be down - #28 by tonicebrian . But I am posting this to give more visibility.

Not sure how, but cabal update seems to work fine despite of this. At least the couple of tests I did. Maybe is a http vs https? I am not sure how cabal downloads the index.

Is there a general status page or account one can look up to see the overall status of various services?

1 Like

https://status.haskell.org/

4 Likes

Thanks! I should have tried that :man_facepalming: .

Hackage seems to be operational again already.

There’s
https://status.haskell.org,
https://auto-status.haskell.org,
and https://haskell-status.joyful.com (new; gives more detail).

1 Like

The hackage issue was unrelated – a disk space misconfiguration leading to slow performance as zfs struggled to keep up. It is now resolved.

Cabal update continued to work because cabal automatically will fall back on mirrors when hackage is nonresponsive – a very nice and slick bit of engineering.

4 Likes

stack update was not working (it completed, but reported JSON errors) - possibly not using the same mirrors…

I think stack update was working. I think the JSON errors that you saw are those reported by the hackage-security package as it works through its mirrors.

1 Like

That is indeed a very cool feature.

Stack relies on Pantry which relies on the hackage-security package. That package works through the mirrors in a local copy of the mirror cache provided (I think by the Hackage project) at https://hackage.haskell.org/mirrors.json when the main domain is down.

EDIT: What I am not sure about is whether the first mirror - http://hackage.fpcomplete.com - is still a service provided by FP Complete, or whether it was something that transferred to the Haskell Foundation when Stackage was transferred to the Foundation. If it is still with FP Complete: thank you FP Complete.

EDIT2: The mirror dates from about March 2015: FP Complete's Hackage mirror

1 Like

It does seem to have regressed from https to http at some point though.

1 Like

Thanks everyone, hackage seems operative again. Yesterday I was wondering if there is a tool similar to Artifactory (Artifactory - Universal Artifact Repository Manager - JFrog) but for haskell packages. Basically something that:

  1. Provides URL endpoints for hackage packages
  2. If the package is not found, it falls back to the list of alternative repositories (ie, https://hackage.haskell.org)
  3. If found in the backup, install the package in your mirror instance so next time it is found there.

I think it would solve several problems:

  1. Decrease the workload on the main hackage repo
  2. Prevent outages by relying in your own infrastructure
  3. Get smaller pantry DBs that will speedup internal CI/CD pipelines.

Or maybe this tool doesn’t exist because there is a better approach I’m not aware, so please let me
know.

Oh, a distributed cache. Nice! The closest we have is users are able to run their own hackage instance and mirror – but that is heavyweight and not super-automated. We also have tools to create lightweight package-only mirrors. But nothing sort of in a caching-on-demand space.

Cabal does of course cache all packages its built – so there is a store for each individual user. But it would be very slick to have something sitting at a middle-layer between the two – and probably not a ton of work to build. Honestly – just a local varnish might be enough on its own!

… and Stack/Pantry has CASA (Casa and Stack and Casa: Content-Addressable Storage Archive) which is largely a mystery to me but I understand that Stack uses the CASA cache to download what it needs to build a package.