From d36a4c832775a2a437fe8dc11bf4a15faea4c8ba Mon Sep 17 00:00:00 2001 From: Matthew Kotila Date: Thu, 28 Sep 2023 00:47:06 +0000 Subject: [PATCH] Throw exception when request period larger than max tokens rather than infinite loop --- src/c++/perf_analyzer/periodic_concurrency_worker.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/c++/perf_analyzer/periodic_concurrency_worker.cc b/src/c++/perf_analyzer/periodic_concurrency_worker.cc index 9fbaee3cc..001ef009d 100644 --- a/src/c++/perf_analyzer/periodic_concurrency_worker.cc +++ b/src/c++/perf_analyzer/periodic_concurrency_worker.cc @@ -55,6 +55,14 @@ PeriodicConcurrencyWorker::WorkerCallback(uint32_t infer_context_id) period_completed_callback_(); } if (ctxs_.at(infer_context_id)->HasReceivedFinalResponse()) { + bool has_not_completed_period{ + ctxs_.at(infer_context_id)->GetNumResponsesForCurrentRequest() < + request_period_}; + if (has_not_completed_period) { + throw std::runtime_error( + "Request received final response before request period was reached. " + "Request period parameter must be less than or equal to max tokens."); + } request_completed_callback_(); } }