Description
Admin tab in Ranger audit UI lists changes performed on policies/users/groups/security-zones/service - one row for each object. Details of changes to an object (like old and new value of attributes) are available in a dialog box that pops up on clicking the row.
API to retrieve list of admin audit log can take a long time when large number of rows exists in that database table that stores change details i.e. table named x_trx_log. This is due to the use of database view, vx_trx_log, on top of table x_trx_log, which performs a group-by operation that would require a full-table scan. This view is necessary since x_trx_log can have multiple rows for one change to an object - one row for each changed attribute.
To avoid this issue, one option to consider is store changes to all attributes of an object in a single row (instead of one row per changed attribute). This will eliminate the need for a view that performs group by.
CC: siddheshphatak