Subject: Re: [bug#33210] Cuirass: Use a SQLite in single-thread mode

From: Clément Lassieur <[email-masked]>
Date: Tue, 06 Nov 2018 01:50:11 +0100

Hi Danny,

Danny Milosavljevic <[email-masked]> writes:

> Keep in mind that if we want consistent views via the web interface,
> the cuirass evaluator has to use its own connection independent of the
> web interface (so that the web interface doesn't see half-finished stuff).
> If that's still possible after that then fine.
>
> Right now, as I mentioned before, it can happen that you request a certain
> filter when requesting something from the web and the result will actually
> contain data that does not match the filter.  What happened is that the
> data in the transaction got changed before we returned it but after the
> first query ran.
>
> This is not supposed to happen in relational database systems.  The reason
> 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.

Yes, I know, but I remember that I told you[1] that there was an easy
(one line) fix for this. :-)

Do you want to send a patch?

[1]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32234#57