FS#80040 - [raft] Consider switching upstream to cowsql/raft

Attached to Project: Arch Linux
Opened by Free Ekanayaka (free.ekanayaka) - Saturday, 21 October 2023, 07:46 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:26 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To George Rawlinson (rawlinsong)
Santiago Torres (sangy)
Morten Linderud (Foxboron)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

Hello,

I'm the upstream author of cowsql [0], and a maintainer of Incus [1] as well.

Please consider switching the upstream of the Arch raft [2] package from github.com/canonical/raft to github.com/cowsql/raft.

I'm the original author of the github.com/canonical/raft project and I have now forked it to github.com/cowsql/raft, for many of the same reasons which prompted LXD developers to fork it to Incus.

The cowsql/raft code is compatible with canonical/dqlite and with canonical/raft, but it's not guaranteed that the other way round will hold true.

Version 0.18.1 of cowsql/raft already has some performance improvements that will benefit Incus users.

Please see also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1053663 and https://bugs.gentoo.org/915960 for more background.

Thanks,

Free

[0] https://aur.archlinux.org/packages/cowsql-git
[1] https://aur.archlinux.org/packages/incus
[2] https://aur.archlinux.org/packages/raft-git

Additional info:
* package version(s): 0.17.1.r25.g50e6d15-1
* config and/or log files etc.
* link to upstream bug report, if any

Steps to reproduce:
This task depends upon

Closed by  Buggy McBugFace (bugbot)
Saturday, 25 November 2023, 20:26 GMT
Reason for closing:  Moved
Additional comments about closing:  https://gitlab.archlinux.org/archlinux/p ackaging/packages/raft/issues/1
Comment by George Rawlinson (rawlinsong) - Sunday, 22 October 2023, 02:38 GMT
I don’t have any issues with switching the upstream, but it’s not solely up to me (I co maintain the package with Foxboron, so I’ll wait for him to chime in.)

Just out of curiosity, is anyone at Canonical actually maintaining dqlite/raft?
Comment by Free Ekanayaka (free.ekanayaka) - Sunday, 22 October 2023, 08:35 GMT
Hello!

Yes, Canonical is currently maintaining dqlite/raft, although it's not quite clear which direction it will take.
Comment by George Rawlinson (rawlinsong) - Saturday, 28 October 2023, 07:29 GMT
One of my concerns is compatibility due to two diverging forks (lxd and incus) both relying on two separate libraries that share the same name (raft). At some point, one or the other will start diverging and then distribution packagers will have to choose between lxd/incus or just applying hacky patches on top of whichever library breaks the least (which has it's own set of problems).
Comment by Free Ekanayaka (free.ekanayaka) - Saturday, 28 October 2023, 08:48 GMT
What I can say is that cowsql/raft will maintain compatibility with canoncal/raft (but not the other way around), and that canonical/raft is relatively unlikely to change, at least as far as the dqlite/lxd consumers are concerned. For sure, this will be the case for the next stable LXD release, version 6.0, which is coming out next April and will be around for 2 years. So for at least 2 years and a half from now, this won't be an issue. At that point I'd expect the needle to have somehow moved, in the sense that distros should eventually choose to keep one or the other (LXD or Incus). In any case, there is plenty of time before actual action will be needed (if ever).