You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Traditional bug report form skipped due to: a) I am not entirely sure how to reliably test this specific issue due to potential interference with the player cache; b) The issue was discovered while tweaking the pom file; c) It's way too early in the morning (4am 💀)
Summary
I may have found a previously undocumented edge-case issue with the GatherResidentUUIDTask. Debated on if I should have added this wall of text to #4611, or made a new issue...
The only things keeping the whole chain working seem to be the VaultAPI dependency, since it directly bundles a copy of Bukkit 1.13.1 which in turn provides the needed dependency, and the Player Cache.
Replicating Issue
The issue is noticeable during the build process. By adding the following to the pom.xml, in the VaultAPI dependency declaration, and attempting a clean compile - the build will error-out due to missing the dependency.
I have not been able to test in-game yet (see disclaimer 'C' above). Theoretically though, if someone doesn't have Vault (eg. Reserve users) or something else providing JSON.Simple, and the UUID isn't already stored in the player cache, a failure should occur. At runtime, I suspect that this may be causing a MojangException to be thrown, which may have helped mask the issue as an "HTTP 204 error" or passed it as null which would have resulted in an infinitely reattempted task chain.
It'll be interesting to see if this clears up the 204 response, post-merge I can test one of the larger databases that does end up throwing those 204's (but on deleted accounts)
Summary
I may have found a previously undocumented edge-case issue with the
GatherResidentUUIDTask
. Debated on if I should have added this wall of text to #4611, or made a new issue...The only things keeping the whole chain working seem to be the VaultAPI dependency, since it directly bundles a copy of Bukkit 1.13.1 which in turn provides the needed dependency, and the Player Cache.
Replicating Issue
The issue is noticeable during the build process. By adding the following to the pom.xml, in the VaultAPI dependency declaration, and attempting a clean compile - the build will error-out due to missing the dependency.
I have not been able to test in-game yet (see disclaimer 'C' above). Theoretically though, if someone doesn't have Vault (eg. Reserve users) or something else providing JSON.Simple, and the UUID isn't already stored in the player cache, a failure should occur. At runtime, I suspect that this may be causing a
MojangException
to be thrown, which may have helped mask the issue as an "HTTP 204 error" or passed it asnull
which would have resulted in an infinitely reattempted task chain.Methods Under Effect
BukkitTools#getUUIDFromResident(Resident)
MojangAPI#send(String)
Possible Solutions
Shade in a copy of JSON.Simple
Switch to GSON (Provided by Bukkit; in "Maintenance Mode")
Use an entirely different JSON serializer, like Jackson or Moshi
The text was updated successfully, but these errors were encountered: