Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
0.6.0, 1.0.0, 0.7.1, 1.1.0, 1.2.0
-
hdp 2.2
Description
when request http api /service/xusers/users with GET method.ranger admin will query db and get XXUser,then transform the XXUser to VXUser. in the tranformation process,
XUserService.populateUserAttributes() method is called two times.and make extra 2 times db query.when the result users are many,this causes significant performance issue,rougly 40% performance down。so indeed we need to call populateUserAttributes() once .
we found this issue in our production environment with 1000+ users in ranger admin,and start the kafka or other component which enabled ranger authority.in the start process, setup_ranger_xxxx() is called and make http /service/xusers/users request to ranger.as it query all users in ranger,ranger admin will reponse in several ten seconds.