Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ACL GETUSER Command Initial Implementation #1038

Conversation

kevinmichaelbowersox
Copy link
Member

This PR provides the implementation of the ACL GETUSER command which is used to obtain ACL rules for a specified user. The change is accompanied by tests for the command.

The changeset includes:

  • ACL GETUSER command implementation
  • Unit Tests and ACL Test
  • Documentation

This resolves #958 where further details can be found.

This is a follow-on to the following PR which was closed in favor of this PR which has a cleaner commit history: #959

@kevinmichaelbowersox
Copy link
Member Author

kevinmichaelbowersox commented Feb 19, 2025

PR Benchmark (SHA 93188a1)

Method Params Mean Error StdDev Allocated
Set ACL 14.17 us 0.025 us 0.022 us -
SetEx ACL 19.72 us 0.052 us 0.046 us -
SetNx ACL 21.15 us 0.071 us 0.066 us -
SetXx ACL 23.51 us 0.044 us 0.039 us -
GetFound ACL 16.79 us 0.034 us 0.030 us -
GetNotFound ACL 10.94 us 0.017 us 0.015 us -
Increment ACL 22.23 us 0.066 us 0.055 us -
Decrement ACL 21.27 us 0.065 us 0.061 us -
IncrementBy ACL 26.52 us 0.044 us 0.035 us -
DecrementBy ACL 26.41 us 0.115 us 0.108 us -
Set AOF 19.50 us 0.113 us 0.100 us -
SetEx AOF 28.04 us 0.098 us 0.092 us -
SetNx AOF 26.11 us 0.063 us 0.056 us -
SetXx AOF 28.42 us 0.167 us 0.148 us -
GetFound AOF 17.64 us 0.022 us 0.019 us -
GetNotFound AOF 11.02 us 0.049 us 0.046 us -
Increment AOF 26.58 us 0.050 us 0.045 us -
Decrement AOF 27.87 us 0.154 us 0.144 us -
IncrementBy AOF 30.32 us 0.184 us 0.172 us -
DecrementBy AOF 30.99 us 0.227 us 0.213 us -
Set None 13.84 us 0.057 us 0.051 us -
SetEx None 20.25 us 0.093 us 0.087 us -
SetNx None 21.23 us 0.058 us 0.051 us -
SetXx None 21.82 us 0.093 us 0.077 us -
GetFound None 15.56 us 0.081 us 0.072 us -
GetNotFound None 10.95 us 0.035 us 0.033 us -
Increment None 21.66 us 0.057 us 0.051 us -
Decrement None 22.28 us 0.062 us 0.058 us -
IncrementBy None 25.89 us 0.201 us 0.188 us -
DecrementBy None 27.06 us 0.112 us 0.104 us -

Main Benchmark (SHA 47f74c7)

Method Params Mean Error StdDev Allocated
Set ACL 14.99 us 0.047 us 0.044 us -
SetEx ACL 20.07 us 0.079 us 0.070 us -
SetNx ACL 20.98 us 0.065 us 0.058 us -
SetXx ACL 22.61 us 0.047 us 0.040 us -
GetFound ACL 15.59 us 0.032 us 0.028 us -
GetNotFound ACL 10.85 us 0.029 us 0.027 us -
Increment ACL 21.58 us 0.050 us 0.044 us -
Decrement ACL 21.25 us 0.049 us 0.044 us -
IncrementBy ACL 24.85 us 0.204 us 0.191 us -
DecrementBy ACL 29.36 us 0.108 us 0.101 us -
Set AOF 19.86 us 0.107 us 0.100 us -
SetEx AOF 27.55 us 0.118 us 0.104 us -
SetNx AOF 27.95 us 0.165 us 0.146 us -
SetXx AOF 27.10 us 0.081 us 0.072 us -
GetFound AOF 17.56 us 0.047 us 0.039 us -
GetNotFound AOF 10.73 us 0.026 us 0.022 us -
Increment AOF 26.39 us 0.044 us 0.037 us -
Decrement AOF 26.91 us 0.061 us 0.057 us -
IncrementBy AOF 31.72 us 0.146 us 0.130 us -
DecrementBy AOF 31.86 us 0.402 us 0.376 us -
Set None 14.57 us 0.021 us 0.017 us -
SetEx None 19.89 us 0.027 us 0.023 us -
SetNx None 21.48 us 0.069 us 0.057 us -
SetXx None 22.44 us 0.061 us 0.054 us -
GetFound None 15.44 us 0.058 us 0.055 us -
GetNotFound None 11.65 us 0.079 us 0.070 us -
Increment None 21.95 us 0.053 us 0.047 us -
Decrement None 21.36 us 0.077 us 0.068 us -
IncrementBy None 26.16 us 0.095 us 0.089 us -
DecrementBy None 27.61 us 0.148 us 0.138 us -

@prvyk
Copy link
Contributor

prvyk commented Feb 19, 2025

It would be nice if the PR could also include the website (website/docs/commands/api-compatibility.md).

@kevinmichaelbowersox kevinmichaelbowersox marked this pull request as draft February 19, 2025 22:23
@kevinmichaelbowersox kevinmichaelbowersox marked this pull request as ready for review February 19, 2025 22:26
@kevinmichaelbowersox
Copy link
Member Author

It would be nice if the PR could also include the website (website/docs/commands/api-compatibility.md).

@prvyk Thanks for pointing this out. I pushed a change with the docs. LMK what you think.

@prvyk
Copy link
Contributor

prvyk commented Feb 19, 2025

Looks fine on first glance. Except I think Arity should be set to 3 not -3 ?

@kevinmichaelbowersox
Copy link
Member Author

Looks fine on first glance. Except I think Arity should be set to 3 not -3 ?

@prvyk Nice catch! Thank you!

@badrishc badrishc merged commit a9e9af8 into microsoft:main Feb 27, 2025
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Support for ACL GETUSER Command
4 participants