public class QueryLifecycle extends Object
initialize(Query))authorize(HttpServletRequest)execute()emitLogsAndMetrics(Throwable, String, long)| Modifier and Type | Class and Description |
|---|---|
static class |
QueryLifecycle.QueryResponse |
| Constructor and Description |
|---|
QueryLifecycle(QueryToolChestWarehouse warehouse,
QuerySegmentWalker texasRanger,
GenericQueryMetricsFactory queryMetricsFactory,
ServiceEmitter emitter,
RequestLogger requestLogger,
AuthorizerMapper authorizerMapper,
long startMs,
long startNs) |
| Modifier and Type | Method and Description |
|---|---|
Access |
authorize(AuthenticationResult authenticationResult)
Authorize the query.
|
Access |
authorize(javax.servlet.http.HttpServletRequest req)
Authorize the query.
|
void |
emitLogsAndMetrics(Throwable e,
String remoteAddress,
long bytesWritten)
Emit logs and metrics for this query.
|
QueryLifecycle.QueryResponse |
execute()
Execute the query.
|
Query |
getQuery() |
void |
initialize(Query baseQuery)
Initializes this object to execute a specific query.
|
<T> Sequence<T> |
runSimple(Query<T> query,
AuthenticationResult authenticationResult,
String remoteAddress)
For callers where simplicity is desiredĀ over flexibility.
|
public QueryLifecycle(QueryToolChestWarehouse warehouse, QuerySegmentWalker texasRanger, GenericQueryMetricsFactory queryMetricsFactory, ServiceEmitter emitter, RequestLogger requestLogger, AuthorizerMapper authorizerMapper, long startMs, long startNs)
public <T> Sequence<T> runSimple(Query<T> query, AuthenticationResult authenticationResult, @Nullable String remoteAddress)
query - the queryauthenticationResult - authentication result indicating identity of the requesterremoteAddress - remote address, for logging; or null if unknownpublic void initialize(Query baseQuery)
baseQuery - the querypublic Access authorize(AuthenticationResult authenticationResult)
authenticationResult - authentication result indicating the identity of the requesterpublic Access authorize(javax.servlet.http.HttpServletRequest req)
req - HTTP request object of the request. If provided, the auth-related fields in the HTTP request
will be automatically set.public QueryLifecycle.QueryResponse execute()
emitLogsAndMetrics(Throwable, String, long) to emit logs and metrics.public void emitLogsAndMetrics(@Nullable Throwable e, @Nullable String remoteAddress, long bytesWritten)
e - exception that occurred while processing this queryremoteAddress - remote address, for logging; or null if unknownbytesWritten - number of bytes written; will become a query/bytes metric if >= 0public Query getQuery()
Copyright © 2011–2018. All rights reserved.