The implementation for FileIOThread in Bukkit/mc-dev is really broken. It is a number of issues.
The thread can stop before you have had a chance to add any tasks.
The thread stops when there is not more tasks but does restart if new ones are added. Tasks are added after the thread has finished and silently ignored.
The method to wait for data to be written blocks the main thread and is the most common cause of the "the server can't keep up"
Fixing this code removed most of the "the server can't keep up" messages for me.
Linked issues
relates to 1
Comments 12
Never the less, I see significant delays in this class. How do I see the support version of the class?
This class is not modified. It is a decompiled copy of the official release. Am I able to access the source for this file, or are you able to check for me, or is this just not of any interest?
I have checked the latest release. It (the azr class) is not as broken, but will still cause delays.
I believe a proper fix is to rewrite the class. e.g. Use an ExecutorService rather than a custom thread pool.
Since this doesn't appear to be your favoured approach, it might be a waste of your time taking this any further.
I'll assume related to MC-34464.
Is this still a concern in the current Minecraft version? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases. If this has been done, we can reopen the issue.
Keep in mind that the "Resolved"-Status on this ticket just means "Answered", and that we are waiting for further information on whether this issue still exists or not. We will reopen it as soon as the requested information has been delivered.
Ticket resolved as incomplete, because no answer in a reasonable amount of time (1+ year), if it still happens, please update the ticket.
Unless you have made significant changes to how this code works I think you
can safely assume nothing has changed.
At some point I may get a chance to review this code but I am working off
spigot as it appears to be better supported.
On 20/12/2014 9:29 PM, "[Mod] Galaxy_2Alex (JIRA)" <[email protected]> wrote:
> [Mod] Galaxy_2Alex
> <https://bugs.mojang.com/secure/ViewProfile.jspa?name=galaxy_2alex>
> resolved an issue as Awaiting Response
>
> Is this still a concern in the current Minecraft version? If so, please *update
> the affected versions* in order to best aid Mojang ensuring bugs are
> still valid in the latest releases/pre-releases. If this has been done, we
> can reopen the issue.
>
> Keep in mind that the "Resolved"-Status on this ticket just means
> "Answered", and that we are waiting for further information on whether this
> issue still exists or not. We will reopen it as soon as the requested
> information has been delivered.
> Minecraft <https://bugs.mojang.com/browse/MC> / [image: Bug]
> <https://bugs.mojang.com/browse/MC-56445> MC-56445
> <https://bugs.mojang.com/browse/MC-56445> FileIOThread appears to be
> really broken <https://bugs.mojang.com/browse/MC-56445> Change By: [Mod]
> Galaxy_2Alex
> <https://bugs.mojang.com/secure/ViewProfile.jspa?name=galaxy_2alex>
> Resolution: Awaiting Response Status: Open Resolved [image:
> Add Comment] <https://bugs.mojang.com/browse/MC-56445#add-comment> Add
> Comment <https://bugs.mojang.com/browse/MC-56445#add-comment>
> This message was sent by Atlassian JIRA (v6.1.6#6162-sha1:7af547c) [image:
> Atlassian logo]
>
Bukkit is a modified server plugin, which makes this ticket invalid.