Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

limit number of tasks per challenge to 10,000 #1535

Closed
mvexel opened this issue Jan 29, 2021 · 5 comments · Fixed by maproulette/maproulette-backend#915
Closed

limit number of tasks per challenge to 10,000 #1535

mvexel opened this issue Jan 29, 2021 · 5 comments · Fixed by maproulette/maproulette-backend#915

Comments

@mvexel
Copy link
Member

mvexel commented Jan 29, 2021

Large challenges can slow down the system.
There's also a UX reason -- limiting the number of tasks forces the challenge creator to think more carefully about what they ask the community to fix and break up the challenge in smaller questions or regions.

@nrotstan
Copy link
Contributor

nrotstan commented Feb 3, 2021

It also needs to be discussed whether -- as part of this change -- we would also automatically split up existing challenges that exceed whatever cap we decide upon. On impact is that it would mean people currently using the API to manage some aspects of their challenges may need to update their scripts to account for additional challenge ids.

@1ec5
Copy link

1ec5 commented Feb 5, 2021

The Silicon Valley POI import currently hosts about 23,000 tasks spread across 59 challenges according to how the source data was organized. The biggest challenge has 7,000 tasks, which may increase slightly over the next few months. Splitting apart challenges would make it more difficult to comply with the limit in #1536 on the number of challenges. Taken together, the import would have to be split into multiple projects, making it impractical to rely on MapRoulette for this import.

Large challenges can slow down the system.

Since November when we set up the Silicon Valley POI import challenge, I haven’t really seen any performance issues that affect the usability of the project, except that overall project statistics have begun timing out over the past couple days. If the performance issues are specific to the statistics, would it be possible to load statistics only on demand or provide less detailed statistics for large projects? Or is the project causing backend performance issues that aren’t visible to users and project administrators?

@Noki
Copy link

Noki commented Feb 6, 2021

@mvexel @nrotstan The maintenance of my challenges is already a nightmare because of overpass API timeouts and the large number of challenges required to bypass those issues. A task limit or challenge limit within a project would make it even more difficult and I would most likely not be able to to update tasks in under 30 days and even within 7 days in some countries as requested by some users. In addition I currently don't have much time to rewrite all my code and I'm afraid that won't change anytime soon. Going forward with the proposed changes would probably mean that someone else needs to take over the phone number challenges and maintain them (fine for me if someone is interested, but expect to answer quite some mails from users as well) or the will stop to exist.

I proposed automated global challenges in the past to deal with these issues and still hope that you add something like that.

In terms of performance and UX you should just limit the number of tasks you show instead of limiting the creation. You should use pagination and/or hard limits within the UI whenever possible (e.g. to list challenges) to speed things up. You should also have background jobs to transform data into something that is always fast when accessing it. Finished tasks could probably also be deleted after a some time, however this would require to persist the user-points for the leaderboards.

@mvexel mvexel changed the title limit number of tasks per challenge limit number of tasks per challenge to 10,000 Feb 6, 2021
@mvexel mvexel moved this from To do to Not planned in Project User Engagement 2021 Apr 7, 2021
@jschwarz2030 jschwarz2030 moved this from Not planned to To do in Project User Engagement 2021 Aug 30, 2021
@jschwarz2030
Copy link
Contributor

Per @mvexel, we are raising priority on this issue. I will implement a variable task cap to challenges in order to prevent server instability. This will be considered a temporary solution, as the points above are valid; the Maproulette queries have room for improvement. We will identity these as we continuously improve the system.

@jschwarz2030 jschwarz2030 self-assigned this Aug 30, 2021
@mvexel
Copy link
Member Author

mvexel commented Aug 31, 2021

Some feedback indicated 10k may be a little low. I would be okay with 50k. For use cases that require more tasks per challenge, there is the option of a self-hosted maproulette, in case we make it configurable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

5 participants