Commands that fetch game profiles cause lag when fetching a player that wasn't before on the server
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player. This lag sometimes can take even 10 seconds. The player must not be fetched nor cached by the server for lag to happen.
The reason
This bug happens because that request to Mojang API happens on the main server thread which locks it.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
Original description:
The bug
Using the /op, /whitelist or /ban command causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.
The reason why this happens is because the method net.minecraft.server.management.PlayerProfileCache.getGameProfileForUsername(String) is called which tries to get the information from the Mojang servers.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
- This affects the following situations as well
- Saving villages
- Loading wolves, ocelots or horses
Video:
https://clips.twitch.tv/CharmingAgitatedLEDSpicyBoy-T1rdY38Enm6WHAgr
Created Issue:
op whitelist and ban command create server lag when selecting player who was not on server
The bug
Using the /op, /whitelist or /ban command causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.
The reason why this happens is because the method net.minecraft.server.management.PlayerProfileCache.getGameProfileForUsername(String) is called which tries to get the information from the Mojang servers.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
- This affects the following situations as well
- Saving villages
- Loading wolves, ocelots or horses
- Creating player heads (see
MC-65587)
relates to
is duplicated by
The bug
Using
the/op, /whitelistor/ban command causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.The reason
Th
e following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.The reason why this happens is because the method net.minecraft.server.management.PlayerProfileCache.getGameProfileForUsername(String) is called which tries to get the information from the Mojang servers.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
- This affects the following situations as well
- Saving villages
- Loading wolves, ocelots or horses
- Creating player heads (see
MC-65587)The bug
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
This bug happens because that request to Mojang API happens on the main server thread which locks it.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
op, whitelist and ban command create serverlag whenselecting playerwho was not onserverCommands, that need to fetch gameprofile, cause lag when fetching player that weren't before on the server
The bug
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
This bug happens because
thatrequest to Mojang API happens on the main server thread which locks it.Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
The bug
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
This bug happens because gameprofile request to Mojang API happens on the main server thread which effectively locks it.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
The bug
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
This bug happens because
gameprofilerequest to Mojang API happens on the main server thread whicheffectivelylocks it.Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
The bug
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
This bug happens because that request to Mojang API happens on the main server thread which locks it.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
Original description:
The bug
Using the /op, /whitelist or /ban command causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.
The reason why this happens is because the method net.minecraft.server.management.PlayerProfileCache.getGameProfileForUsername(String) is called which tries to get the information from the Mojang servers.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
- This affects the following situations as well
- Saving villages
- Loading wolves, ocelots or horses
The bug
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
This bug happens because
thatrequest to Mojang API happens on the main server thread which locks it.Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
Original description:
The bug
Using the /op, /whitelist or /ban command causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.
The reason why this happens is because the method net.minecraft.server.management.PlayerProfileCache.getGameProfileForUsername(String) is called which tries to get the information from the Mojang servers.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
- This affects the following situations as well
- Saving villages
- Loading wolves, ocelots or horses
The bug
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player. This lag sometimes can take even 10 seconds. The player must not be fetched nor cached by the server for lag to happen.
The reason
This bug happens because gameprofile request to Mojang API happens on the main server thread which effectively locks it.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
The bug
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
This lag sometimes can take even 10 seconds. The player must not be fetched nor cached by the server for lag to happen.The reason
This bug happens because
gameprofilerequest to Mojang API happens on the main server thread whicheffectivelylocks it.Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
This bug happens because that request to Mojang API happens on the main server thread which locks it.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
Original description:
The bug
Using the /op, /whitelist or /ban command causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.
The reason why this happens is because the method net.minecraft.server.management.PlayerProfileCache.getGameProfileForUsername(String) is called which tries to get the information from the Mojang servers.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
- This affects the following situations as well
- Saving villages
- Loading wolves, ocelots or horses
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player. This lag sometimes can take even 10 seconds. The player must not be fetched nor cached by the server for lag to happen.
The reason
This bug happens because that request to Mojang API happens on the main server thread which locks it.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
Original description:
The bug
Using the /op, /whitelist or /ban command causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.
The reason why this happens is because the method net.minecraft.server.management.PlayerProfileCache.getGameProfileForUsername(String) is called which tries to get the information from the Mojang servers.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
- This affects the following situations as well
- Saving villages
- Loading wolves, ocelots or horses
Commands,thatneed tofetch gameprofile,cause lag when fetching player that weren't before on the serverCommands that fetch game profiles cause lag when fetching a player that wasn't before on the server
Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player. This lag sometimes can take even 10 seconds. The player must not be fetched nor cached by the server for lag to happen.
The reason
This bug happens because that request to Mojang API happens on the main server thread which locks it.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
Original description:
The bug
Using the /op, /whitelist or /ban command causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.
The reason
The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.
The reason why this happens is because the method net.minecraft.server.management.PlayerProfileCache.getGameProfileForUsername(String) is called which tries to get the information from the Mojang servers.
Notes:
- This might be invalid as the commands return feedback on whether or not they ran successful
- This affects the following situations as well
- Saving villages
- Loading wolves, ocelots or horses
Video:
https://clips.twitch.tv/CharmingAgitatedLEDSpicyBoy-T1rdY38Enm6WHAgr
Is this still an issue in the most recent versions (currently that is 1.10.2, or 16w42a) of Minecraft? If so, please update the affected versions and help us keeping this ticket updated from time to time. If you are the owner/reporter of this ticket, you can modify the affected version(s) yourself.
Can confirm. Here's a video of this issue occurring: https://clips.twitch.tv/CharmingAgitatedLEDSpicyBoy-T1rdY38Enm6WHAgr