DRILL-6036: Create sys.connections table
Introduced a distributed (i.e. each Drillbit executes a fragment) system table to list all the active client connections to all the Drillbits in a cluster. This is achieved by having the UserServer maintain a static (class-level) map of these connections, which is updated as and when connections are established and closed.
The following details are provided by the table:
user
targetUser
client
drillbit
established
duration
queries
isAuthenticated
isEncrypted
usingSSL
session
Security check to prevent unauthorized access to connection listing
Match is done between the inbound impersonated user and the available list of connections' targetUser property
Removed listing of targetUser
Removed getQueryContext from FragmentContext
FragmentContext provides isUserAuthenticationEnabled()
This closes #1076