Heavily degraded performance moving tasks with Group Assignees set

Single project, multiple users, multiple groups, roughly 80 tasks displayed on the board. If I have a group or other assignees assigned with the Group assign plugin and I move a task (up or down in the same column or from column to column) or create a new task or subtasks with group or other assignees assigned, it takes ~30-40 seconds per operation. If I remove the group or other assignees assigned and perform the same operations on the same tasks they complete in ~1-2 seconds. Anybody else having this issue? I do make liberal use of tags and have quite a few plugins installed - not sure what if anything else is unique about our setup, tho. Any help would be appreciated! Thank you to everyone who has worked on this, it is an amazing piece of software!

Sqlite, mysql, or postgres?

I’ve never tested under such conditions, so, when I get time, I will look at replicating.

Mysql. Thanks in advance!

I got up to 50ish tasks, and was not able to replicate. I’ll add more and keep testing. Any more details? Server config? Mysql version? Etc…

Here are the server config and plugins settings. I\m happy to help debug on my server if you can tell me where to look.

Had to put plugins screenshot in a second post since I’m new on the board…

I’m not gonna lie, I have no idea where to look, which is why I’m hoping to replicate it.

Group_assign adds 2 columns to the task table, and then overrides the task finder, so that those 2 columns can, in essence, be found. Obviously there is more happening, but for the board, that’s really it. I think, been awhile…

Although, now that I think about it, I think I have an idea of what it could be…and can improve that code. Something I never got around to. Its however, only a possibility, so I’ll try that first. It’s the lengthy code in Plugin.php under initialize, which determines what version KB you are running, it basically has to run through that every refresh.

Just mentioning I had performance issues with MetaMagik. It adds a select to every task on the board, so the more tasks you have, more queries will be made.

Thanks for the tip. I uninstalled metaMagik and still had the same issues. Also, I noticed that I had the debug config set to true and tried setting that to false and still have the issue so that wasn’t the problem either.

Sorry, I’ve been slacking. I’ll try to minimize the backwards compatibility code today. It’s worth a try.

I’m not sure this helps or not, tbh: https://github.com/creecros/Group_assign/releases/tag/1.7.7

I got up to about 90 to 100 tasks, and was not seeing any degraded performance, welcome to test here and see if its different than what you are experiencing: https://projects.nachostudio.ml un/pw = admin/admin

feel free to add other plugins like what you are running via the admin panel.

Sigh, no joy. I tried with your latest version to no avail and then went onto your test board and configured it basically how we have it and there is some delay when moving cards around with a group assigned, but not nearly what we’re seeing (~5s vs. ~30-40s). I did notice your instance is using a REALLY old mysql version - I don’t think that having a newer version would cause a problem, but just an observation I had. Thanks for trying - I guess we just won’t be able use this plugin. :-/

That’s not mysql. Its sqlite, 3.28.0, 3.29.0 is the latest…I think sqlite would essentially be faster than a mysql database, at least in its initial beginning while it’s small and not many users are accessing it, which is the current case, could explain it.

Next chance I get I will switch it to mysql. I can will try and match your version as close to possible.

Oh derp - misread that. Yea, maybe that’s it then?

If you can migrate the data over that would be optimal so we don’t have to re-set everything up.

If you got suggestions, would love to hear them.

You referring to the tooltip?

Yes! I was going to make a pull request for this.

Basically I did the same as the comments and tags. add the metadata count to the TaskFinder model, like nb_comments, and only get the metadata for tasks having 1 metadata or more.

Didn’t make a Ajax query to get the metadata like the comments, I kept the tooltip as is, But I changed to only get the metadata of tasks having nb_metadata greater than zero. I think tomorrow I will be able to add this changes to the MetaMagik and create a PR

Creecros, I just created the pull request on your MetaMagik repo.
I found a compatibility issue with GroupAssign, because it overrides the TaskFinderModel aswell. To keep compatibility you would have to add that subquery to the TaskFinderModel of the GroupAssign Plugin. I wrote this on the PR.

Good stuff! I’ll merge next chance I get, and take care of the compatibility with Group_assign.

1 Like

For what it’s worth, I have also noticed a significant slowdown when there are a large number of sub-tasks. I have a task that has 10 sub-tasks and any time I make a change to it, it takes about 10-15 seconds to update.