You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2021/09/16 01:25:15 UTC
[iotdb] 01/01: [IOTDB-1678] Fix client-cpp session bug: can cause
connection leak. (#3962)
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch iotdb1678
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 204531f209b89fcb7b88611e309fbd5bfbd1633d
Author: Jamber <ja...@sina.com>
AuthorDate: Wed Sep 15 17:03:02 2021 +0800
[IOTDB-1678] Fix client-cpp session bug: can cause connection leak. (#3962)
---
client-cpp/src/main/Session.cpp | 4 ++--
client-cpp/src/main/Session.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/client-cpp/src/main/Session.cpp b/client-cpp/src/main/Session.cpp
index 2c56492..7f805f9 100644
--- a/client-cpp/src/main/Session.cpp
+++ b/client-cpp/src/main/Session.cpp
@@ -491,7 +491,7 @@ void Session::open(bool enableRPCCompression, int connectionTimeoutInMs) {
return;
}
shared_ptr <TSocket> socket(new TSocket(host, rpcPort));
- shared_ptr <TTransport> transport(new TFramedTransport(socket));
+ transport = std::make_shared<TFramedTransport> (socket);
socket->setConnTimeout(connectionTimeoutInMs);
if (!transport->isOpen()) {
try {
@@ -557,7 +557,7 @@ void Session::close() {
string("Error occurs when closing session at server. Maybe server is down. ") + e.what());
}
isClosed = true;
- if (transport != NULL) {
+ if (transport != nullptr) {
transport->close();
}
}
diff --git a/client-cpp/src/main/Session.h b/client-cpp/src/main/Session.h
index 54dd353..4ea4134 100644
--- a/client-cpp/src/main/Session.h
+++ b/client-cpp/src/main/Session.h
@@ -587,7 +587,7 @@ private:
std::string password;
TSProtocolVersion::type protocolVersion = TSProtocolVersion::IOTDB_SERVICE_PROTOCOL_V3;
std::shared_ptr <TSIServiceIf> client;
- std::shared_ptr <apache::thrift::transport::TSocket> transport;
+ std::shared_ptr <TTransport> transport;
bool isClosed = true;
int64_t sessionId;
int64_t statementId;