Closed karelserruys-foodpairing closed 2 weeks ago
@karelserruys-foodpairing Thank you for your report and ideas. We are working on this issue and we've decided to redesign all filter logic: we want to have an Apply button for filters and it solves this problem. Hope, it will be released soon.
@makseq Any updates on this issue? Having the exact same problem with filters being applied multiple times and blocking application loading. Looking forward to a fix of this problem :)
@remoyson We have some fixes in the latest master, but not all. Could you check the latest commits?
@remoyson @makseq For me the issue was fixed when I upgraded to version 1.3.0. I think the issue can be closed? Regards Karel
Describe the bug We're running Label Studio 1.0.2 with PostgreSQL 13 as database. When refreshing a project view, the frontend makes calls to the backend to reapply the all filters which are present on the view. Additionally, the API is called once for each filter even though when using multiple filters, they need to be applied using a single API call. Postgres's default transactional isolation is read committed. This in combination with transactions that add filters at almost the same moment, results in an exponential growth of filters eventually leading to an irresponsive application (because the amount of filters is to large to fetch from the backend). When settings our Postgres to repeatable read partially solves the issue. Filters are no longer growing exponentially, because one of the simultaneous transactions fails. The problem is that the frontend keeps retrying both API calls until the moment the both succeed. This sometimes takes no more than a second, but sometimes it takes up to 30 seconds.
To Reproduce Steps to reproduce the behavior:
Expected behavior Filters should only be added once.
Screenshots Filters on the project view
Calls adding filters after first refresh
Refresh again, resulting filters are:
Calls when refreshing one more time:
Running locally with Postgres transaction isolation set to repeatable read
Environment (please complete the following information):
Additional context Add any other context about the problem here.