Open AMDmi3 opened 4 years ago
Tnat's disturbing. I've cleared the cache for this URL:
$ curl -XPURGE https://metacpan.org/release/Qt
{"status": "ok", "id": "17360-1570081162-188528869"}
Does this change the cache misses?
I'll continue monitoring it - as you can see from the history link above, this happens sporadically and some days may pass between problem manifestations.
However I'm not sure if it's related to HTTP caching, as Repology fetches data from ElasticSearch (https://fastapi.metacpan.org/v1/release/_search), and the package blinks there as well. It's not the only one, here's top 20:
effname | count
----------------------------------------+-------
perl:pcore-captcha | 188
perl:mojolicious-plugin-staticshare | 55
perl:do | 52
perl:qt | 49
perl:afs | 40
perl:net-fileshare | 38
perl:data-object-immutable | 32
perl:data-object | 32
perl:pcore | 31
perl:catmandu-fix-datahub | 29
perl:dist-zilla-plugin-author-plicease | 22
perl:pcore-cdn-static | 21
perl:spvm | 21
perl:template-xml | 21
perl:moox-press | 16
perl:data-edit-xml | 15
perl:pdla-core | 15
perl:data-table-text | 15
perl:moox-pression | 15
perl:net-domain-info | 15
Are you able to share a query which is returning inconsistent results?
Something like this:
POST https://fastapi.metacpan.org/v1/release/_search?scroll=1m
{
"fields" : [
"abstract",
"author",
"distribution",
"download_url",
"license",
"maturity",
"resources.homepage",
"status",
"version",
"name"
],
"filter" : {
"or" : [
{
"term" : {
"status" : "latest"
}
},
{
"term" : {
"maturity" : "developer"
}
}
]
},
"size" : 5000
}
Then I iterate the scroll, then DELETE
it.
Again, I'm not sure the query matters here, as the package blinks BOTH in the query results and on the site.
The site uses the public API in much the same way, so a focus on the query brings us closer to the root of the problem.
Out of curiosity, why search without any query parameters aside from status and maturity?
For Repology I need information on latest stable and development versions of all available modules. I don't remember the details already, but I guess "status" : "latest"
returns the former, and "maturity" : "developer"
returns all developement versions which I then process to get the latest one for each module.
I'm maintainer of Repology which uses package infrormation from metacpan, and I've been investigating a Qt package blinking in the history which Repology maintains: https://repology.org/project/perl:qt/history
It turned out that the package blings on the Metacpan site as well: I've set up logging of HTTP replies for https://metacpan.org/release/Qt, and has captured a single case of the problem (showing only the requests adjacent to the moments when it disappears and reappears):