Created 09-01-2016 10:58 AM
Usersync finds correclty users from given user seachfilter string, but fails with update with bad request 400
----grep
01 Sep 2016 13:46:04 INFO LdapUserGroupBuilder [UnixUserSyncThread] - Updating user count: 13, userName: user1, groupList: [group1, group2]
01 Sep 2016 13:46:04 INFO LdapUserGroupBuilder [UnixUserSyncThread] - LDAPUserGroupBuilder.updateSink() completed with user count: 13
01 Sep 2016 13:46:04 ERROR LdapUserGroupBuilder [UnixUserSyncThread] - sink.addOrUpdateUser failed with exception: POST http://server1:6080/service/users/default returned a response status of 400 Bad Request, for user: user1, groups: [group1, group2]
----grep
why it uses URL (API I guess) http://server1:6080/service/users/default which gives bad request 400 ?
Ranger 0.5.0.2.4
Created 09-01-2016 11:05 AM
can you please provide the more error details from the logs and please check xa_portal.log also , there also you must see some error reg. why 400 ERROR was thrown
Created 09-01-2016 11:05 AM
can you please provide the more error details from the logs and please check xa_portal.log also , there also you must see some error reg. why 400 ERROR was thrown
Created 09-01-2016 11:17 AM
Created 09-01-2016 02:27 PM
looking errors in xa-portal.log, there is error Please make sure while create/update given userId should be of x_user
I tried delete users from ranger database (through rest api) delete operation hung. I canceled.
Seems that database left some weird status, where some data weren't deleted
Now updating again userdata from LDAP, some user groups failing to update, because some old id-s still exists in database.
Deleting wrongly syncronized data from ranger is very essential function, which today is not there!
Created 09-07-2016 04:11 AM
This issue has been fixed in RANGER 0.6. Please refer RANGER-1041 for the fix details.
Created 05-12-2019 05:54 PM
This issue is usually seen when user wan't removed properly from Ranger db and some information is still available in user tables.
For example in above situation it might be possible that 'user1' is not available in x_user table but its still part of other user tables such as x_portal_user, x_portal_user_role, x_user_module_perm, x_auth_sess etc.
Perform below steps to resolve this issue.
Verify whether problematic user is available in other tables
MariaDB [ranger]> select * from x_user where user_name = 'user1'; MariaDB [ranger]> select id from x_portal_user where login_id = 'user1'; +----+ | id | +----+ | 44 | +----+ MariaDB [ranger]> delete from x_portal_user_role where id = 44; MariaDB [ranger]> delete from x_user_module_perm where user_id = 44; MariaDB [ranger]> delete from x_auth_sess where user_id = 44; MariaDB [ranger]> delete from x_portal_user where id = 44;
To get all such user's
MariaDB [ranger]> select * from x_portal_user_role where id not in (select id from x_user); MariaDB [ranger]> select * from x_user_module_perm where user_id not in (select id from x_user); MariaDB [ranger]> select * from x_auth_sess where user_id not in (select id from x_user); MariaDB [ranger]> select * from x_portal_user where id not in (select id from x_user);
Remove users which are not part of x_user table but available in other tables
MariaDB [ranger]> delete from x_portal_user_role where id not in (select id from x_user); MariaDB [ranger]> delete from x_user_module_perm where user_id not in (select id from x_user); MariaDB [ranger]> delete from x_auth_sess where user_id not in (select id from x_user); MariaDB [ranger]> delete from x_portal_user where id not in (select id from x_user);
Restart usersync process