-
Notifications
You must be signed in to change notification settings - Fork 47
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
should use /stretch instead of /testing #54
Comments
The rationale behind the use of suites instead of codenames for testing and unstable is to convey the stability of the URL to the user: it’s quite possible that packages (and hence their manpages) get removed from testing/unstable, but it’s unlikely the same happens with a released version. With regards to resyncing/rebuilding: wouldn’t we need to do this in either case? When |
Right now, when stretch gets released, you need to build two trees (a new testing and the new stretch). In the other case, you'd have to build only a new buster. (Also, I think it should be /sid instead of /unstable, but as sid always remains unstable that's less of an issue) (And people tend to run codenames, not aliases. I.e. people install "stretch", not "testing" right now.) |
Makes sense. To put the effect of the proposed change into perspective: we’re talking about a single debiman run once every two years taking a small number of hours instead of a small number of minutes. Unless there are other good reasons for this change, I’d prefer it if we prioritized stable URLs over saving a few CPU hours once every two years. |
The codenames are the stable part, stable/testing/unstable should just 302 to the current codenames. |
I agree for Putting the rationale into perspective: as long as we can keep our custom 404 handler, packages being removed probably isn’t a big deal, since users will then get a direct link to the same manpage in a different suite — provided the manpage in question does exist in any other suite. Let me recap the pros/cons I heard in this discussion about the current file location:
Am I missing anything? |
Forget the resources point for a minute. My other point is that I don't run testing. I run stretch. So stretch is the "stable" name to use for my manpages. (Also, packages also get removed from stable. It's rare, but not unheard of. I therefore think "packages might go away" is not a good reason for differentiating things). |
You run
Note that you can use
True. But, given that packages getting removed from stable is a rare event, whereas package removal from testing is an automated process, I maintain there’s a meaningful difference which makes sense to consider. |
I don't know. But I run stretch. :) This issue makes fetching raw manpages actually rather slow here. Working on dman in #57, I found it can take more than 2 seconds to fetch a manpage because I go through the redirector instead of hitting the static site directly:
There is notoriously no easy way to extract the "testing" string reliably from dman: right now I use fetching the manpage directly with "testing" lowers the load time from 1450ms (above) to 440ms, so a three-to-fourfold performance increase, because I do not hit the dynamic redirector:
The original dman version was iterating over all manpage sections, which meant this delay was compounded by an order of magnitude, which meant it could take around 20-30 seconds to load the "man" manpage (because it's in section 7). Even if only because of this performance issue, I would argue towards using codenames here. I'll also note that this is similar to the #69 issue, in that we need to determine policy for the redirector... Thanks! |
In my tests, this reduces the time to 0.4s (hitting dyn.manpages.d.o on manziarly) or 1s (hitting dyn.manpages.d.o on cgi-grnet-01). Not sure why the latter is twice as slow; but we can look into that. |
I'm a bit hesitant in hardcoding a debiman-specific hostname in the script. That thing can live in the wild for a looong time and I'm not sure I want to commit to this internal detail... I did commit to https in dman though. |
The dyn.manpages.d.o hostname is specified in the opensearch.xml file, so we’d need to setup a redirect if we transition away from it anyway. |
Right now, there is a whole hierarchy of manpages in /testing. It should probably use the codename instead of the alias, i.e. /stretch, so that we don't need to resync and rebuild everything when stretch becomes stable and we get a new testing.
The text was updated successfully, but these errors were encountered: