Skip to content

Commit 3668037

Browse files
committed
Revert "add profile events about server keep alice connections"
This reverts commit f862a39.
1 parent 4f8d193 commit 3668037

File tree

2 files changed

+13
-82
lines changed

2 files changed

+13
-82
lines changed

src/Common/ProfileEvents.cpp

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -977,24 +977,17 @@ The server successfully detected this situation and will download merged part fr
977977
M(DiskConnectionsErrors, "Number of cases when creation of a connection for disk is failed", ValueType::Number) \
978978
M(DiskConnectionsElapsedMicroseconds, "Total time spend on creating connections for disk", ValueType::Microseconds) \
979979
\
980-
M(HTTPConnectionsCreated, "Number of created clients HTTP connections", ValueType::Number) \
981-
M(HTTPConnectionsReused, "Number of reused clients HTTP connections", ValueType::Number) \
982-
M(HTTPConnectionsReset, "Number of reset clients HTTP connections", ValueType::Number) \
983-
M(HTTPConnectionsPreserved, "Number of preserved clients HTTP connections", ValueType::Number) \
984-
M(HTTPConnectionsExpired, "Number of expired clients HTTP connections", ValueType::Number) \
985-
M(HTTPConnectionsErrors, "Number of cases when creation of a clients HTTP connection failed", ValueType::Number) \
986-
M(HTTPConnectionsElapsedMicroseconds, "Total time spend on creating clients HTTP connections", ValueType::Microseconds) \
987-
\
988-
M(HTTPServerConnectionsCreated, "Number of created server http connections", ValueType::Number) \
989-
M(HTTPServerConnectionsReused, "Number of reused server http connections", ValueType::Number) \
990-
M(HTTPServerConnectionsPreserved, "Number of preserved server http connections. Connection kept alive successfully", ValueType::Number) \
991-
M(HTTPServerConnectionsExpired, "Number of expired server http connections.", ValueType::Number) \
992-
M(HTTPServerConnectionsClosed, "Number of closed server http connections. Keep alive has not been negotiated", ValueType::Number) \
993-
M(HTTPServerConnectionsReset, "Number of reset server http connections. Server closes connection", ValueType::Number) \
994-
\
995-
M(AddressesDiscovered, "Total count of new addresses in dns resolve results for HTTP connections", ValueType::Number) \
996-
M(AddressesExpired, "Total count of expired addresses which is no longer presented in dns resolve results for HTTP connections", ValueType::Number) \
997-
M(AddressesMarkedAsFailed, "Total count of addresses which has been marked as faulty due to connection errors for HTTP connections", ValueType::Number) \
980+
M(HTTPConnectionsCreated, "Number of created http connections", ValueType::Number) \
981+
M(HTTPConnectionsReused, "Number of reused http connections", ValueType::Number) \
982+
M(HTTPConnectionsReset, "Number of reset http connections", ValueType::Number) \
983+
M(HTTPConnectionsPreserved, "Number of preserved http connections", ValueType::Number) \
984+
M(HTTPConnectionsExpired, "Number of expired http connections", ValueType::Number) \
985+
M(HTTPConnectionsErrors, "Number of cases when creation of a http connection failed", ValueType::Number) \
986+
M(HTTPConnectionsElapsedMicroseconds, "Total time spend on creating http connections", ValueType::Microseconds) \
987+
\
988+
M(AddressesDiscovered, "Total count of new addresses in dns resolve results for http connections", ValueType::Number) \
989+
M(AddressesExpired, "Total count of expired addresses which is no longer presented in dns resolve results for http connections", ValueType::Number) \
990+
M(AddressesMarkedAsFailed, "Total count of addresses which has been marked as faulty due to connection errors for http connections", ValueType::Number) \
998991
\
999992
M(ReadWriteBufferFromHTTPRequestsSent, "Number of HTTP requests sent by ReadWriteBufferFromHTTP", ValueType::Number) \
1000993
M(ReadWriteBufferFromHTTPBytes, "Total size of payload bytes received and sent by ReadWriteBufferFromHTTP. Doesn't include HTTP headers.", ValueType::Bytes) \

src/Server/HTTP/HTTPServerConnection.cpp

Lines changed: 2 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,8 @@
22
#include <Server/TCPServer.h>
33

44
#include <Poco/Net/NetException.h>
5-
#include <Common/ProfileEvents.h>
65
#include <Common/logger_useful.h>
76

8-
9-
namespace ProfileEvents
10-
{
11-
extern const Event HTTPServerConnectionsCreated;
12-
extern const Event HTTPServerConnectionsReused;
13-
extern const Event HTTPServerConnectionsPreserved;
14-
extern const Event HTTPServerConnectionsExpired;
15-
extern const Event HTTPServerConnectionsClosed;
16-
extern const Event HTTPServerConnectionsReset;
17-
}
18-
19-
207
namespace DB
218
{
229

@@ -38,28 +25,8 @@ void HTTPServerConnection::run()
3825
std::string server = params->getSoftwareVersion();
3926
Poco::Net::HTTPServerSession session(socket(), params);
4027

41-
ProfileEvents::increment(ProfileEvents::HTTPServerConnectionsCreated);
42-
43-
while (!stopped && tcp_server.isOpen() && session.connected())
28+
while (!stopped && tcp_server.isOpen() && session.hasMoreRequests() && session.connected())
4429
{
45-
const bool is_first_request = params->getMaxKeepAliveRequests() == session.getMaxKeepAliveRequests();
46-
47-
if (!session.hasMoreRequests())
48-
{
49-
if (is_first_request)
50-
// it is strange to have a connection being oppend but no request has been sent, account it as an error case
51-
ProfileEvents::increment(ProfileEvents::HTTPServerConnectionsReset);
52-
else
53-
ProfileEvents::increment(ProfileEvents::HTTPServerConnectionsExpired);
54-
55-
return;
56-
}
57-
else
58-
{
59-
if (!is_first_request)
60-
ProfileEvents::increment(ProfileEvents::HTTPServerConnectionsReused);
61-
}
62-
6330
try
6431
{
6532
std::lock_guard lock(mutex);
@@ -102,38 +69,10 @@ void HTTPServerConnection::run()
10269
response.sendContinue();
10370

10471
handler->handleRequest(request, response, write_event);
105-
106-
bool keep_alive = false;
107-
if (!params->getKeepAlive() || !request.canKeepAlive())
108-
{
109-
/// Either server is not configured to keep connetions alive or client did not ask it
110-
ProfileEvents::increment(ProfileEvents::HTTPServerConnectionsClosed);
111-
}
112-
else if (session.getMaxKeepAliveRequests() == 0 || !session.canKeepAlive())
113-
{
114-
/// connection is expired by max request count
115-
ProfileEvents::increment(ProfileEvents::HTTPServerConnectionsExpired);
116-
}
117-
else if (!response.getKeepAlive())
118-
{
119-
/// server decided to close connection
120-
/// usually it is related to the cases:
121-
/// - the request or respond stream is not bounded or
122-
/// - not all data is read from them
123-
ProfileEvents::increment(ProfileEvents::HTTPServerConnectionsReset);
124-
}
125-
else
126-
{
127-
ProfileEvents::increment(ProfileEvents::HTTPServerConnectionsPreserved);
128-
keep_alive = true;
129-
}
130-
131-
session.setKeepAlive(keep_alive);
72+
session.setKeepAlive(params->getKeepAlive() && response.getKeepAlive() && session.canKeepAlive());
13273
}
13374
else
134-
{
13575
sendErrorResponse(session, Poco::Net::HTTPResponse::HTTP_NOT_IMPLEMENTED);
136-
}
13776
}
13877
catch (Poco::Exception &)
13978
{
@@ -195,7 +134,6 @@ void HTTPServerConnection::sendErrorResponse(Poco::Net::HTTPServerSession & sess
195134
response.setKeepAlive(false);
196135
response.send();
197136
session.setKeepAlive(false);
198-
ProfileEvents::increment(ProfileEvents::HTTPServerConnectionsReset);
199137
}
200138

201139
}

0 commit comments

Comments
 (0)