Conversation
|
This is an automated comment for commit 68b1e3c with description of existing statuses. It's updated for the latest CI running ✅ Click here to open a full report in a separate page Successful checks
|
This comment was marked as outdated.
This comment was marked as outdated.
dd275c8 to
962c6b2
Compare
This comment was marked as outdated.
This comment was marked as outdated.
test_ldap_external_user_directory once mored86b57d to
bd38217
Compare
fdfbd52 to
138de00
Compare
re-run CI proper cleanup in test
36cb0d8 to
80b28e3
Compare
4029ed6 to
f23a493
Compare
f23a493 to
d709ba8
Compare
|
@alexey-milovidov it makes CI better, fixes a bug and the CI is green 😀 |
|
Looks related to #69555, but needs a closer look whether it fixes it I saw similar behavior on |
| @@ -128,7 +128,7 @@ void LDAPAccessStorage::processRoleChange(const UUID & id, const AccessEntityPtr | |||
| { | |||
| if (it != granted_role_names.end()) // Removed a granted role. | |||
| { | |||
There was a problem hiding this comment.
A comment with an explanation would be nice. The problem is that it->second is a reference to an object held by granted_role_names. Then in applyRoleChangeNoLock we first remove the object from granted_role_names, then try to remove the name from granted_role_ids but we are using the reference that has been just destroyed.
This problem also happens a few lines above with RENAME (L118), which should be adjusted too.
It seems this API is really error prone. Could we improve it instead?
There was a problem hiding this comment.
It seems this API is really error prone
What API do you mean?
There was a problem hiding this comment.
I mean the function definition (void LDAPAccessStorage::applyRoleChangeNoLock(bool grant, const UUID & role_id, const String & role_name)) and how it's used to remove roles. You need to know exactly how things are destroyed and how to manage the lifetime of the iterator, which seems suboptimal.
There was a problem hiding this comment.
You're right, pushed an update
7cc913d to
c8f4c71
Compare
c8f4c71 to
68b1e3c
Compare
|
@Algunenano tests are all green |
Some fixes for LDAP
Some fixes for LDAP
Some fixes for LDAP
Some fixes for LDAP
Fix
heap-use-after-freeon DROP of LDAP-related roles (e.g. https://s3.amazonaws.com/clickhouse-test-reports/68355/80b28e33bb3d9fa3e1bbc2b1867086d8cc0a0a70/integration_tests__asan__old_analyzer__[4_6]//home/ubuntu/actions-runner/_work/_temp/test/output_dir/integration_run_parallel1_0.log)Add missing
depends_onin attempt to fix occasional fails oftest_ldap_external_user_directory.Closes #69555, maybe closes #65762
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Fix crash on drop or rename a role that is used in LDAP external user directory
CI Settings (Only check the boxes if you know what you are doing):