When searching for users in the Impersonation dialog, the query used starting with the Geneva release brings back only users that have the web_service_access_only field on the sys_user table either empty or false. (You want to impersonate full users, not web service only users.) This Web Service Access Only [web_service_access_only] column is added as part of the 'Non-Interactive Sessions' plugin.
Setting the glide.invalid_query.returns_no_rows system property to true means that if an invalid query is used, no results are returned by that query. If the Non-Interactive Sessions plugin is not installed, meaning that the Web Service Access Only field does not exist on the User table, the query used by the impersonation dialog is invalid and no results are returned by that query.
Steps to Reproduce
Login any instance as a user with rights to impersonate another user.
Ensure that the Non-Interactive Sessions plugin is not installed and that the glide.invalid_query.returns_no_rows system property is set to true.
Click the user drop-down menu in the top right corner of the screen and choose Impersonate User.
In the Search for user field, type any known user name. For example, if you have demo data installed, type "Abel").
Note that no search results appear.
This is expected behaviour in UI16, where the Non-Interactive Sessions plugin needs to be activated to resolve the issue. Installing the plugin adds the Web Service Access Only [web_service_access_only] column on the User [sys_user] table. The query used in the Impersonation dialog will then be successful.
For more information, see the documentation on how to Activate a plugin.
Related Problem: PRB663801