Created on 2022-05-12.23:43:08 by ced, last changed 1 week ago by reviewbot.
For me you are giving just marketing point. What is the point to have users feeling for at least 6 months performance degradation due to a new feature added.
We are talking here for a degradation of performance of 40000% (50 seconds instead of 20 ms to open 80 account move lines).
I understand your concern for backporting.
But to be consistent I would like to not backport, as we don't do with other performances. My reasons are:
. Encourage the user to migrate to new series.
. Users can see performance before/after the migration, so they have a feeling of progression. Anyway they can think there were server issues or overloading.
. If you have a large database it's more important that you stay with new versions to obtain the max performance.
As this can be an important performance regression on large database and because the fix is very simple, I think we should backport it.
Since issue9357 we compute a
_delete value based on
ir.rule by adding a SQL expression as SELECT expression.
This is killing performance when the
ir.rule comes from
__access__ because it uses a
where operator which is converted into a
IN subquery. So the database can not really optimize, especially when the target table is very large because it need to retrieve all the target record ids for which the user has access.
So for example with the
account.move.line, we got a subquery expression like:
(("a"."move" IN (SELECT "b"."id" AS "id" FROM "account_move" AS "b" WHERE (("b"."company" IN (1)))))) AS "_delete"
So it needs to materialize a table with all the moves of the company (which can be very large).
I do not see how we could rewrite the query to be more efficient.
But we can optimize for the case where the rule for write and delete are the same as the rule for read. In this case we know the expressions for
True for all readable records.
|2022-05-13 10:19:25||reviewbot||set||messages: + msg76623|
|2022-05-13 09:54:15||ced||set||messages: + msg76621|
nosy: + acaubet
|2022-05-13 09:38:46||smn||set||nosy: + smn|
nosy: + reviewbot
+ backport, review|
messages: + msg76615
status: in-progress -> testing
Showing 10 items. Show all history (warning: this could be VERY long)