LuckPerms

LuckPerms

41.4k Downloads

Bulk operations don't work properly on text based storage types.

emilyy-dev opened this issue ยท 2 comments

commented

Description

Bulk deletion of "LIKE" or unconstrained operations on plaintext based storage types gives nonsensical results. Ranges between not working at all to prompting wrong "statistics" data or working partially.
This is not the case for SQL based storage methods (either local or remote), presumably because the operation itself is delegated to the SQL service instead of "doing it manually".

Reproduction steps

  1. Open the config.yml file and set storage-method to any plaintext based storage type
  2. Start the server, grant users and groups some permissions
  3. Run either lp bulkupdate all delete or lp bulkupdate <any> delete "permission ~~ <partial perm>%"
  4. Baffling results, check groups and users perms list

Expected behaviour

Self explanatory

Environment details

  • Server type/version: Waterfall running version 1.16-R0.4 build 388
  • LuckPerms version: v5.2.47
  • Storage method: any text based, combined or separated.

Any other relevant details

Some screenshots:

H2 - Expected results

JSON - Same dataset, completely different results

By far the most impressive one


Additional note

Deletions with permission == as constraint work correctly.

commented

Thanks for the v detailed report.

Please could you confirm whether the above commit fixes the issue?

commented

Seems to have done the job ๐Ÿ˜„ at least for those I used as example and a few others.