question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Noarch repodata.json is empty for proxy channels

See original GitHub issue

In our quetz server, we proxy conda-forge into a channel of the same name:

  {
    "name": "conda-forge",
    "description": null,
    "private": true,
    "size_limit": null,
    "ttl": 36000,
    "mirror_channel_url": "https://conda.anaconda.org/conda-forge",
    "mirror_mode": "proxy",
    "members_count": 1,
    "packages_count": 0
  },

Installation often fails because certain packages cannot be found. We narrowed the issue down to the noarch repodata.json being empty. Navigating to /get/conda-forge/noarch/repodata.json yields:

{
  "info": {
    "subdir": "noarch"
  },
  "packages": {},
  "packages.conda": {},
  "repodata_version": 1
}

This problem only occurs for the noarch platform. Also, in our package backend (GCS) we have a cached version of the repodata.json, which is not empty (it’s 55MB large).

Any idea what might be causing this?

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:11 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
wolfvcommented, May 10, 2022

OK, so the bug goes as follows:

  • we added a repodata.json.gz file to support returning / streaming gzip compressed files from S3 buckets and similar
  • we do initialize every channel with an empty noarch repodata.json because the existence of teh noarch/repodata.json is what marks a channel as “existing”
  • apparently we do initialize even a proxy-mirror channel with the static noarch/repodata.json files (including the .gz / .bz2 ones). We should not do that.
  • the repodata.json.gz is a quetz-specific extension (and a bit of a workaround for OVH because they don’t properly support setting the Content-Encoding header for a given file)
0reactions
janjaguschcommented, May 12, 2022

thank you!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Conda search cannot find noarch/repodata.json in channel
Hi, I intend to install the intel's distribution of python (intelpython3_full). But it seems that my conda cannot recognize the package in ...
Read more >
conda install packages error: Collecting package metadata ...
Disable your system proxy. It will work properly if you have installed anaconda correctly and set the environmental variables correctly.
Read more >
Channels and generating an index - Conda
Repodata.json contains an index of the packages in a subdir. Each subdir will have it's own repodata. Channels have packages as tarballs under...
Read more >
other.xml.gz - Oracle Linux Yum Server
1206350 - Add API to Satellite for Proxy to check client token validity ... it so that repodata will be scheduled for regeneration...
Read more >
Advanced Topics - SUSE Documentation
Figure 2.1: Proxy Activation Key #. From the Child Channels listing select the SUSE Manager 3.2 Proxy child channel with the matching update ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found