user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
From: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
To: Eric Wong <e@80x24.org>
Cc: Kyle Meyer <kyle@kyleam.com>, meta@public-inbox.org
Subject: Re: [PATCH 3/3] t/www_listing: require grok-pull version 2 or later
Date: Mon, 22 Feb 2021 09:05:26 -0500	[thread overview]
Message-ID: <20210222140526.7iqivx3z522wvguk@chatter.i7.local> (raw)
In-Reply-To: <20210221222013.GA31960@dcvr>

On Sun, Feb 21, 2021 at 10:20:13PM +0000, Eric Wong wrote:
> > This was tested with the latest release of Grokmirror, v2.0.7.  Note
> > that the "pull" and "fsck" sections are required even though they're
> > empty.

Hmm... That grok-pull requires the [fsck] section is a bug that I introduced
in one of the last versions. :/ I'll put in a fix that doesn't require it.

> >   Another option would be to generate an appropriate v1 or v2
> >   configuration based on which Grokmirror version is detected.  I'm
> >   not sure that's worth the trouble though.
> 
> Ugh, some of these incompatible changes to grokmirror are really
> annoying and will break existing scripts when I upgrade.
> (and I suspect this affects other people, too).

Grokmirror-1.x is not maintained any more and 2.x is a much better codebase
anyway.

It was a difficult call to introduce a config change that intentionally
breaks upgrade path from 1.x to 2.x, but the priority was to avoid a much
bigger problem by sneaking this upgrade on an unsuspecting repo admin.
Grokmirror-2 completely refactors how backend repositories are organized, so
the first grok-fsck run on large repo collections with a lot of alternates
could have had potentially led to a disastrous outcome resulting in repository
corruption. Not a problem for repos on lore.kernel.org where there are no
forks, but very much a problem for git.kernel.org and source.codeaurora.org
mirrors (especially the latter).

So, I had to make the choice between annoyance and potential corruption. :)
The breaking nature of the change is documented in
https://git.sr.ht/~monsieuricon/grokmirror/tree/master/item/UPGRADING.rst

> >  	xsys($grok_pull, '-c', "$tmpdir/repos.conf");
> > -	is($? >> 8, 127, 'grok-pull exit code as expected');
> > +	is($? >> 8, 0, 'grok-pull exit code as expected');
> 
> In particular, I'm relying on this exit code in at least one of
> my scripts.  Now I'll have to RTFM to figure out if I should be
> testing any other exit codes or something else...

I'm pretty sure I did this to make grok-pull work better with systemd, sorry.

-K

      reply	other threads:[~2021-02-22 14:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-21 21:46 [PATCH 0/3] t/www_listing: update for Grokmirror v2 Kyle Meyer
2021-02-21 21:46 ` [PATCH 1/3] t/www_listing: correct the number of tests for grok-pull skip Kyle Meyer
2021-02-21 22:02   ` Eric Wong
2021-02-21 21:46 ` [PATCH 2/3] t/www_listing: reword grok-pull skip message Kyle Meyer
2021-02-21 21:46 ` [PATCH 3/3] t/www_listing: require grok-pull version 2 or later Kyle Meyer
2021-02-21 22:20   ` Eric Wong
2021-02-22 14:05     ` Konstantin Ryabitsev [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210222140526.7iqivx3z522wvguk@chatter.i7.local \
    --to=konstantin@linuxfoundation.org \
    --cc=e@80x24.org \
    --cc=kyle@kyleam.com \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).