in esrally/track/params.py [0:0]
def __init__(self, track, params, **kwargs):
super().__init__(track, params, **kwargs)
target_name = get_target(track, params)
type_name = params.get("type")
if params.get("data-stream") and type_name:
raise exceptions.InvalidSyntax(f"'type' not supported with 'data-stream' for operation '{kwargs.get('operation_name')}'")
request_cache = params.get("cache", None)
detailed_results = params.get("detailed-results", False)
query_body = params.get("body", None)
pages = params.get("pages", None)
results_per_page = params.get("results-per-page", None)
request_params = params.get("request-params", {})
response_compression_enabled = params.get("response-compression-enabled", True)
with_point_in_time_from = params.get("with-point-in-time-from", None)
self.query_params = {
"index": target_name,
"type": type_name,
"cache": request_cache,
"detailed-results": detailed_results,
"request-params": request_params,
"response-compression-enabled": response_compression_enabled,
"body": query_body,
}
if not target_name:
raise exceptions.InvalidSyntax(
f"'index' or 'data-stream' is mandatory and is missing for operation '{kwargs.get('operation_name')}'"
)
if pages:
self.query_params["pages"] = pages
if results_per_page:
self.query_params["results-per-page"] = results_per_page
if with_point_in_time_from:
self.query_params["with-point-in-time-from"] = with_point_in_time_from
if "assertions" in params:
if not detailed_results:
# for paginated queries the value does not matter because detailed results are always retrieved.
is_paginated = bool(pages)
if not is_paginated:
raise exceptions.InvalidSyntax("The property [detailed-results] must be [true] if assertions are defined")
self.query_params["assertions"] = params["assertions"]
# Ensure we pass global parameters
self.query_params.update(self._client_params())