PyvesB / advanced-achievements

:fireworks: Popular plugin that adds unique and challenging achievements to Minecraft servers.
https://www.spigotmc.org/resources/83466
GNU General Public License v3.0
200 stars 211 forks source link

database lag spike #1058

Closed hkkongou closed 3 years ago

hkkongou commented 3 years ago

:information_source: Basic information

:beetle: Description

database connection causing very big lag spike image

spark https://spark.lucko.me/Kkb3lQatGv

this never happened before and i did not change anything on database or even advanced achievement settings

:page_facing_up: Server logs

no log, nothing strange in server logs

PyvesB commented 3 years ago

Hello @hkkongou ! 👋🏻

If it's a one time lag spike caused by the database, it could literally be anything: network instability, disk contention, issue with MySQL itself or the database drivers, etc. Advanced Achievements itself is not consuming much CPU time according to your timings report, there's nothing much I'll be able to help you out with without additional information. 😉

mrfloris commented 2 years ago

Hello @hkkongou ! 👋🏻

If it's a one time lag spike caused by the database, it could literally be anything: network instability, disk contention, issue with MySQL itself or the database drivers, etc. Advanced Achievements itself is not consuming much CPU time according to your timings report, there's nothing much I'll be able to help you out with without additional information. 😉

Yoooo, that's not how one deals with a courtesy report. Lag spike on the main thread response is basically 'not my problem'? It's not just his system, we've noticed this as well in the past, on servers with sqlite and 25 people it's fine - but anything remote and a server with say 50+ users it seems to have an impact. We've moved everything local to the same disks again to help resolve this in the past. But that's not a solution that's suitable for everybody. The last few builds for 1.17.1 have been flying though, the performance improvements really helped. I hope this hanging on the main thread which has nothing to do with a driver update .. can be reconsidered for at least a review rather than a push aside.

PyvesB commented 2 years ago

Hello @mrfloris! 👋🏻

Yoooo, that's not how one deals with a courtesy report.

My response was polite and timely. I'm honestly unsure what the issue is.

Lag spike on the main thread response is basically 'not my problem'?

You'll note that at no point did I say this was "not my problem". I simply indicated more information would be needed, especially as it the root cause could be quite varied. "this never happened before and i did not change anything on database or even advanced achievement", implying it's a one time spike than has not repeated itself, doesn't exactly sound like something I should be investing too much of the limited amount of time I can dedicate to this project. This is a complex plugin that has spun a long development period and admittedly suffers from some amount of technical debt. There's generally no trivial immediate solution to "hanging on the main thread", but detailed reports will help a lot in attempting to reproduce or evaluating the priority and impact of an issue.

can be reconsidered for at least a review rather than a push aside

Things can always be reconsidered, I can reopen this if you'd like. However, I don't really appreciate how things were handled here. If @hkkongou wanted to provide more information, they could have simply done so, rather than closing the issue and cutting the conversation off. If someone has an idea for a concrete code fix, pull requests are also welcome. Instead, I received mails about this very same issue yesterday evening, you're now posting on it a couple of hours later, several random folks are 👍🏻 it, etc. It feels very much like word was given behind my back and now there's an attempt to pressure the author by brigading. Frankly, I'm disappointed.

I hope that you can understand where I'm coming from as well. 😉

mrfloris commented 2 years ago

You'll note that at no point did I say this was "not my problem".

I didn't "quote" you, I summarized how I read it, hence the 'basically'

Thank you for all the additional information. I didn't reply to be brigading, I replied because I was surprised how different your response to a report was compared to how you've replied to me personally in the past on the forums, etc. It's how it came across to me, like it was pushed aside. (just explaining, not trying to argue)

I am not a developer, I wish I could figure out the nitpicky details for something like this. i'd love to contribute.

PyvesB commented 2 years ago

We've been sharing some technical ideas via mail with someone called John (I don't actually know who he is, so can't @ him on GitHub). Based on the discussions, I've pushed a commit which, without being 100% sure, I think would have prevented the spike from happening.

mrfloris commented 2 years ago

That sounds promising and thank you for the reconsideration of the approach that hopefully resolves this for those who notice these spikes.