ranger icon indicating copy to clipboard operation
ranger copied to clipboard

RANGER-2639: XUserService has duplicate db query in when populateViewBean for XXUser

Open leslizhang opened this issue 6 years ago • 0 comments

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.

leslizhang avatar Nov 08 '19 07:11 leslizhang