querylog: timeout revert

This commit is contained in:
Dimitry Kolyshev 2023-06-14 10:07:22 +04:00
parent c43053e7d2
commit e695fd9885

View file

@ -99,33 +99,14 @@ func (l *queryLog) handleQueryLog(w http.ResponseWriter, r *http.Request) {
_ = aghhttp.WriteJSONResponse(w, r, resp) _ = aghhttp.WriteJSONResponse(w, r, resp)
} }
const ( // exportChunkSize is a size of one search-flush iteration for query log export.
// exportChunkSize is a size of one search-flush iteration for query log
// export.
// //
// TODO(a.meshkov): Consider making configurable. // TODO(a.meshkov): Consider making configurable.
exportChunkSize = 500 const exportChunkSize = 500
// exportLogTimeout is a write timeout for query log export request.
//
// TODO(a.meshkov): Consider making configurable.
exportLogTimeout = 2 * time.Minute
)
// handleQueryLogExport is the handler for the GET /control/querylog/export // handleQueryLogExport is the handler for the GET /control/querylog/export
// HTTP API. // HTTP API.
func (l *queryLog) handleQueryLogExport(w http.ResponseWriter, r *http.Request) { func (l *queryLog) handleQueryLogExport(w http.ResponseWriter, r *http.Request) {
rc := http.NewResponseController(w)
// Set a deadline for this request. Note that it could be more than server
// write timeout.
err := rc.SetWriteDeadline(time.Now().Add(exportLogTimeout))
if err != nil {
aghhttp.Error(r, w, http.StatusInternalServerError, "set timeout: %s", err)
return
}
searchCriteria, err := parseSearchCriteria(r.URL.Query()) searchCriteria, err := parseSearchCriteria(r.URL.Query())
if err != nil { if err != nil {
aghhttp.Error(r, w, http.StatusBadRequest, "parsing params: %s", err) aghhttp.Error(r, w, http.StatusBadRequest, "parsing params: %s", err)