[ASTERIXDB-2518][RT] Introduce Request Tracker - user model changes: no - storage format changes: no - interface changes: yes
Details: - Introduce IReceptionist to generate request references. - Track all requests by uuid. - Add more information to active_requests response. - Replace StatementExecutorContext by RequestTracker. - Deprecate StatementExecutorContext (to be removed) - Allow extensions to set optional parameters in query service. - Return forbidden when a cancellation is attempt on a request that is not cancellable.
[ASTERIXDB-2513][FUN] Add Active_Requests Function - user model changes: no - storage format changes: no - interface changes: yes
Details: - Add a datasource function (active_requests) which returns the active jobs that the user specified client_context_id for. - This function runs on a single NC and uses messaging to get the currently running jobs from CC. - Currently, the function returns the following fields: -- clientContextId: the user specified clientContextId. -- requestTime: a timestamp at which the request reference was created. -- jobId: optionally, the job id that belongs to this request. - The function may be improved later to return all jobs and it may return additional fields such as (request uuid, statement, executionTime, elapsedTime, nodeAddress, userAgent, etc..) - Add test case. - Do not allow cancellation test to cancel queries with clientContextId to avoid intermittent failures.