From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53668) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJzPx-0007Ve-6Y for guix-patches@gnu.org; Tue, 06 Nov 2018 06:21:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gJzPr-0004vG-8G for guix-patches@gnu.org; Tue, 06 Nov 2018 06:21:09 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:60043) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gJzPr-0004vC-5T for guix-patches@gnu.org; Tue, 06 Nov 2018 06:21:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gJzPr-0000qJ-0i for guix-patches@gnu.org; Tue, 06 Nov 2018 06:21:03 -0500 Subject: [bug#33210] Cuirass: Use a SQLite in single-thread mode Resent-Message-ID: Date: Tue, 6 Nov 2018 12:20:36 +0100 From: Danny Milosavljevic Message-ID: <20181106122036.25bad548@scratchpost.org> In-Reply-To: <87efbzqbb0.fsf@lassieur.org> References: <87a7mvqikl.fsf@lassieur.org> <871s80o2zc.fsf@gnu.org> <87ftwgq7da.fsf@lassieur.org> <20181106011154.3f235763@scratchpost.org> <87efbzqbb0.fsf@lassieur.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/Z4td89Gr1XPGdvVZtoaQWFI"; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: =?UTF-8?Q?Cl=C3=A9ment?= Lassieur Cc: 33210@debbugs.gnu.org --Sig_/Z4td89Gr1XPGdvVZtoaQWFI Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Cl=C3=A9ment, On Tue, 06 Nov 2018 01:50:11 +0100 Cl=C3=A9ment Lassieur wrote: > > This is not supposed to happen in relational database systems. The rea= son > > why it happens here is because we use the same transaction (session) for > > both the updates done by the evaluator and the queries done by the web > > interface. It would be much better if the queries by the web interface > > had their own transaction. It was fine before but in some refactoring, > > "evaluate" ceased to be an external program and I didn't notice what > > happened to it. =20 >=20 > Yes, I know, but I remember that I told you[1] that there was an easy > (one line) fix for this. :-) That would really only be a workaround (arguably still better than what we have now - which is basically you ask for a banana and I give you an apple - what if other procedures in cuirass assume it's a banana? :) ). We would be doing the work that SQLite would have done, but we'd do it in a= bad way (by blocking everyone else). It's not really useful to undo all the progress relational databases have m= ade. If we had multiple transactions in progress touching the same row, SQLite w= ould use MVCC to hold diverging copies of the same row at the same time, blocking nobody. --Sig_/Z4td89Gr1XPGdvVZtoaQWFI Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlvheQQACgkQ5xo1VCww uqU96QgApiUGURnK3NCZm+0DtLotX3+N9jEcZcxN00qftsYSRUdbF/niNNVpGlNA Xeb1dTeYGJxoaGH69YdeJJKe7rdEBlNg/PluKoDMxoVrXeKcDUYsRNt8aT7BxCz0 HWWSZS5izcU2HoUy/JPNUnoe8yNnoIl4x6cJq5DQI4sw5PFfqtXtoxL1ZnYNsm8y EbzBObbTTmHU4VPHDTfowhtryGVUhlGgz3JoA9y0XjCzZ1JXgD0v7gdB8WrPndla xgaCie1WerUlhydgWGz4k/74j40AxZ/VNzABoldkwc1cCSiM5E61V3z3UMVst/bc GX2+RAEA+a1MGmLSVIRd0CBY9aKgpw== =Cd91 -----END PGP SIGNATURE----- --Sig_/Z4td89Gr1XPGdvVZtoaQWFI--