Skip to content
This repository was archived by the owner on Aug 30, 2022. It is now read-only.

Commit 6b4d803

Browse files
author
Isaac Hier
committed
Fix flush in RemoteReporter
Signed-off-by: Isaac Hier <ihier@uber.com>
1 parent fe24c27 commit 6b4d803

File tree

3 files changed

+25
-19
lines changed

3 files changed

+25
-19
lines changed

examples/hotrod/HTTPServer.cpp

+22-16
Original file line numberDiff line numberDiff line change
@@ -73,22 +73,28 @@ void HTTPServer::start()
7373
}
7474

7575
std::istringstream iss(requestStr);
76-
const auto request = net::http::Request::parse(iss);
77-
auto itr =
78-
std::find_if(std::begin(_handlers),
79-
std::end(_handlers),
80-
[&request](const HandlerVec::value_type& pair) {
81-
return std::regex_search(request.target(),
82-
pair.first);
83-
});
84-
85-
Handler handler = ((itr == std::end(_handlers)) ? defaultHandler
86-
: itr->second);
87-
88-
std::packaged_task<void(net::Socket&&, const net::http::Request&)> task(
89-
handler);
90-
_tasks.push_back(task.get_future());
91-
task(std::move(clientSocket), request);
76+
try {
77+
const auto request = net::http::Request::parse(iss);
78+
auto itr =
79+
std::find_if(std::begin(_handlers),
80+
std::end(_handlers),
81+
[&request](const HandlerVec::value_type& pair) {
82+
return std::regex_search(request.target(),
83+
pair.first);
84+
});
85+
86+
Handler handler = ((itr == std::end(_handlers)) ? defaultHandler
87+
: itr->second);
88+
89+
std::packaged_task<void(net::Socket&&,
90+
const net::http::Request&)> task(
91+
handler);
92+
_tasks.push_back(task.get_future());
93+
task(std::move(clientSocket), request);
94+
} catch (...) {
95+
auto logger = logging::consoleLogger();
96+
utils::ErrorUtil::logError(*logger, "Error parsing request");
97+
}
9298

9399
_tasks.erase(
94100
std::remove_if(std::begin(_tasks),

src/jaegertracing/baggage/RemoteRestrictionManager.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ void RemoteRestrictionManager::poll() noexcept
106106
}
107107
}
108108

109-
if ((Clock::now() - lastUpdateTime) > _refreshInterval) {
109+
if ((Clock::now() - lastUpdateTime) >= _refreshInterval) {
110110
updateRestrictions(remoteURI);
111111
lastUpdateTime = Clock::now();
112112
}

src/jaegertracing/reporters/RemoteReporter.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ void RemoteReporter::sweepQueue()
7676
{
7777
while (true) {
7878
std::unique_lock<std::mutex> lock(_mutex);
79-
_cv.wait(lock, [this]() {
80-
return !_running || !_queue.empty() || bufferFlushIntervalExpired();
79+
_cv.wait_until(lock, _lastFlush + _bufferFlushInterval, [this]() {
80+
return !_running || !_queue.empty();
8181
});
8282

8383
if (!_running && _queue.empty()) {

0 commit comments

Comments
 (0)