Skip to content

Server thread blocking during login due to synchronous offline permission check #6406

@GenOpenDiesel

Description

@GenOpenDiesel

Type of bug

Performance issue or memory leak

/ess dump all output

unnecessary

Error log (if applicable)

No response

Bug description

When a player joins a full server, EssentialsX performs an offline permission check via LuckPerms.
This check blocks the main server thread by calling CompletableFuture.join(), causing noticeable freezes / TPS drops.

Steps to reproduce

Image

Expected behaviour

Offline permission checks should not block the main server thread

Permission resolution should be:

fully async, or

cached, or

skipped on main thread

Actual behaviour

Actual behavior

Main thread blocks during player login

Server freezes are visible when:

server is full

LuckPerms uses MySQL

multiple players join at once

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug: unconfirmedPotential bugs that need replicating to verify.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions